66
66
package com.eucalyptus.ws.util;
68
import org.apache.log4j.Logger;
69
import com.eucalyptus.component.Components;
70
import com.eucalyptus.records.EventType;
71
import com.eucalyptus.util.EucalyptusCloudException;
68
72
import edu.ucsb.eucalyptus.cloud.NotReadyException;
69
import edu.ucsb.eucalyptus.msgs.EucalyptusMessage;
73
import edu.ucsb.eucalyptus.msgs.BaseMessage;
74
import com.eucalyptus.records.EventRecord;
70
75
import edu.ucsb.eucalyptus.msgs.WalrusRequestType;
72
import com.eucalyptus.bootstrap.Component;
73
import com.eucalyptus.config.ComponentConfiguration;
74
import com.eucalyptus.config.Configuration;
75
import com.eucalyptus.config.WalrusConfiguration;
76
import com.eucalyptus.event.Event;
77
import com.eucalyptus.event.EventListener;
78
import com.eucalyptus.event.ListenerRegistry;
79
import com.eucalyptus.event.StartComponentEvent;
80
import com.eucalyptus.event.StopComponentEvent;
81
import com.eucalyptus.util.EntityWrapper;
82
import com.eucalyptus.util.EucalyptusCloudException;
84
public class RequestQueue implements EventListener
86
private static boolean acceptable;
88
public EucalyptusMessage handle( EucalyptusMessage msg ) throws EucalyptusCloudException
90
if(msg instanceof WalrusRequestType) {
92
throw new NotReadyException("walrus");
97
public static void register() {
98
ListenerRegistry.getInstance( ).register( Component.walrus, new RequestQueue() );
102
public void advertiseEvent(Event event) {
106
public void fireEvent(Event event) {
107
if(event instanceof StartComponentEvent) {
108
EntityWrapper<WalrusConfiguration> db = Configuration.getEntityWrapper( );
110
db.getUnique(new WalrusConfiguration());
113
} catch(EucalyptusCloudException ex) {
116
} else if(event instanceof StopComponentEvent) {
117
EntityWrapper<WalrusConfiguration> db = Configuration.getEntityWrapper( );
119
db.getUnique(new WalrusConfiguration());
121
} catch(EucalyptusCloudException ex) {
77
public class RequestQueue {
78
private static Logger LOG = Logger.getLogger( RequestQueue.class );
79
private static boolean acceptable;
81
public BaseMessage handle( BaseMessage msg ) throws EucalyptusCloudException {
82
if ( msg instanceof WalrusRequestType ) {
83
if ( !Components.lookup( Components.delegate.walrus ).isInitialized( ) ) {
84
throw new NotReadyException( "walrus" );
87
EventRecord.here( RequestQueue.class, EventType.MSG_RECEIVED, msg.getCorrelationId( ), msg.getClass( ).getSimpleName( ) ).debug( );