From cea0877a052527a85e2511035aae6b83e90df8af Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rendek=20R=C3=B3bert?= Date: Thu, 8 Feb 2018 10:00:11 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30872 --- .../user.jobengine.osgi.server/WEB-INF/web.xml | 6 +++--- .../user/jobengine/zk/model/JobListModel.java | 4 ++++ .../user/jobengine/zk/util/SessionUtil.java | 18 ++++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/server/user.jobengine.osgi.server/WEB-INF/web.xml b/server/user.jobengine.osgi.server/WEB-INF/web.xml index 1ffb7923..92710e54 100644 --- a/server/user.jobengine.osgi.server/WEB-INF/web.xml +++ b/server/user.jobengine.osgi.server/WEB-INF/web.xml @@ -7,9 +7,9 @@ org.zkoss.zk.ui.http.HttpSessionListener - - - + + user.jobengine.zk.util.SessionListener + diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/JobListModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/JobListModel.java index f298174d..d3a066a5 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/JobListModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/JobListModel.java @@ -21,6 +21,7 @@ import user.jobengine.server.IJobEngine; import user.jobengine.server.IJobRuntime; import user.jobengine.server.JobChangedEvent; import user.jobengine.server.JobEngine; +import user.jobengine.zk.util.SessionUtil; public class JobListModel extends BaseModel implements IJobChangedListener { private class EnableServerStart { @@ -87,7 +88,10 @@ public class JobListModel extends BaseModel implements IJobChangedListener { throw new Exception("Internal error! JobEngine instance unavailable."); setShutdownDisabled(!jobEngine.isRunning()); setStartupDisabled(jobEngine.isRunning()); + this.jobEngine.addJobChangedEventListener(this); + SessionUtil.addJobChangedListener(this); //sessionlistener fog leiratkozni + initializeList(); } catch (Exception exc) { diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java index 0625e90f..2b89f586 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java @@ -2,6 +2,7 @@ package user.jobengine.zk.util; import java.io.FileInputStream; import java.io.InputStream; +import java.util.ArrayList; import java.util.Properties; import javax.servlet.http.HttpSession; @@ -12,6 +13,8 @@ import org.apache.logging.log4j.Logger; import org.zkoss.zk.ui.Session; import org.zkoss.zk.ui.Sessions; +import user.jobengine.server.IJobChangedListener; + public class SessionUtil { private static Logger logger = LogManager.getLogger(); private static final String AUTH_ENABLED = "auth_enabled"; @@ -20,6 +23,7 @@ public class SessionUtil { private static final String LOCAL_JOBSUBMITTERS = "local_jobsubmitters"; private static final String USERPRINCIPAL = "userPrincipal"; private static final String AUTH_LOCATION = "mediacube.auth.location"; + public static final String JOBLISTENERLIST = "joblistenerlist"; public static boolean authenticate(String account, String password) { Properties cfg = getConfiguration(); @@ -121,4 +125,18 @@ public class SessionUtil { session.setAttribute(name, obj); } + + static public void addJobChangedListener(IJobChangedListener listener){ + ArrayList list = (ArrayList)getAttribute(JOBLISTENERLIST); + if(list == null){ + list = new ArrayList(); + setAttribute(JOBLISTENERLIST, list); + } + if(!list.contains(listener)){ + list.add(listener); + } + } + + + } \ No newline at end of file -- 2.54.0