Skip to content

Commit

Permalink
Merge pull request #795 from zinggAI/sessionRefactor
Browse files Browse the repository at this point in the history
args needed in start listener to access zingg dir
  • Loading branch information
sonalgoyal committed Feb 29, 2024
2 parents b8316e6 + 1b954d6 commit d6d60c8
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 15 deletions.
16 changes: 7 additions & 9 deletions common/client/src/main/java/zingg/common/client/Client.java
Expand Up @@ -195,17 +195,12 @@ public void mainMethod(String... args) {
options = new ClientOptions(args);
setOptions(options);

// after setting options as some of the listeners need options
initializeListeners();
EventsListener.getInstance().fireEvent(new ZinggStartEvent());

if (options.has(options.HELP) || options.has(options.HELP1) || options.get(ClientOptions.PHASE) == null) {
LOG.warn(options.getHelp());
System.exit(0);
}
String phase = options.get(ClientOptions.PHASE).value.trim();
ZinggOptions.verifyPhase(phase);
IArguments arguments = null;
if (options.get(ClientOptions.CONF).value.endsWith("json")) {
arguments = getArgsUtil().createArgumentsFromJSON(options.get(ClientOptions.CONF).value, phase);
}
Expand All @@ -218,6 +213,9 @@ else if (options.get(ClientOptions.CONF).value.endsWith("env")) {

client = getClient(arguments, options);
client.init();
// after setting arguments etc. as some of the listeners need it
initializeListeners();
EventsListener.getInstance().fireEvent(new ZinggStartEvent());
client.execute();
client.postMetrics();
LOG.warn("Zingg processing has completed");
Expand Down Expand Up @@ -338,13 +336,13 @@ protected ArgumentsUtil getArgsUtil() {
return argsUtil;
}

public void addListener(IEvent event, IEventListener listener) {
EventsListener.getInstance().addListener(event.getClass(), listener);
public void addListener(Class<? extends IEvent> eventClass, IEventListener listener) {
EventsListener.getInstance().addListener(eventClass, listener);
}

public void initializeListeners() {
addListener(new ZinggStartEvent(), new ZinggStartListener());
addListener(new ZinggStopEvent(), new ZinggStopListener());
addListener(ZinggStartEvent.class, new ZinggStartListener());
addListener(ZinggStopEvent.class, new ZinggStopListener());
}

public abstract S getSession();
Expand Down
Expand Up @@ -4,11 +4,22 @@

public class IEvent {

public HashMap<String, Object> getProps(){
return null;
protected HashMap<String, Object> eventDataProps;

public IEvent() {
super();
}

public IEvent(HashMap<String, Object> eventDataProps) {
super();
this.eventDataProps = eventDataProps;
}

public HashMap<String, Object> getProps(){
return eventDataProps;
}

public void setProps(HashMap<String, Object> props){

this.eventDataProps = props;
}
}
Expand Up @@ -6,7 +6,7 @@

public class EventsListener {
private static EventsListener eventsListener = null;
private final ListMap<Class<? extends IEvent>, IEventListener> eventListeners;
private final ListMap<String, IEventListener> eventListeners;

private EventsListener() {
eventListeners = new ListMap<>();
Expand All @@ -19,7 +19,7 @@ public static EventsListener getInstance() {
}

public void addListener(Class<? extends IEvent> eventClass, IEventListener listener) {
eventListeners.add(eventClass, listener);
eventListeners.add(eventClass.getCanonicalName(), listener);
}

public void fireEvent(IEvent event) throws ZinggClientException {
Expand All @@ -28,7 +28,7 @@ public void fireEvent(IEvent event) throws ZinggClientException {

private void listen(IEvent event) throws ZinggClientException {
Class<? extends IEvent> eventClass = event.getClass();
for (IEventListener listener : eventListeners.get(eventClass)) {
for (IEventListener listener : eventListeners.get(eventClass.getCanonicalName())) {
listener.listen(event);
}
}
Expand Down

0 comments on commit d6d60c8

Please sign in to comment.