import user.jobengine.server.IJobRuntime;\r
import user.jobengine.server.JobChangedEvent;\r
import user.jobengine.server.JobEngine;\r
+import user.jobengine.zk.util.SessionUtil;\r
\r
public class JobListModel extends BaseModel implements IJobChangedListener {\r
private class EnableServerStart {\r
throw new Exception("Internal error! JobEngine instance unavailable.");\r
setShutdownDisabled(!jobEngine.isRunning());\r
setStartupDisabled(jobEngine.isRunning());\r
+ \r
this.jobEngine.addJobChangedEventListener(this);\r
+ SessionUtil.addJobChangedListener(this); //sessionlistener fog leiratkozni\r
+ \r
initializeList();\r
\r
} catch (Exception exc) {\r
\r
import java.io.FileInputStream;\r
import java.io.InputStream;\r
+import java.util.ArrayList;\r
import java.util.Properties;\r
\r
import javax.servlet.http.HttpSession;\r
import org.zkoss.zk.ui.Session;\r
import org.zkoss.zk.ui.Sessions;\r
\r
+import user.jobengine.server.IJobChangedListener;\r
+\r
public class SessionUtil {\r
private static Logger logger = LogManager.getLogger();\r
private static final String AUTH_ENABLED = "auth_enabled";\r
private static final String LOCAL_JOBSUBMITTERS = "local_jobsubmitters";\r
private static final String USERPRINCIPAL = "userPrincipal";\r
private static final String AUTH_LOCATION = "mediacube.auth.location";\r
+ public static final String JOBLISTENERLIST = "joblistenerlist";\r
\r
public static boolean authenticate(String account, String password) {\r
Properties cfg = getConfiguration();\r
session.setAttribute(name, obj);\r
}\r
\r
+\r
+ static public void addJobChangedListener(IJobChangedListener listener){\r
+ ArrayList<IJobChangedListener> list = (ArrayList<IJobChangedListener>)getAttribute(JOBLISTENERLIST);\r
+ if(list == null){\r
+ list = new ArrayList<IJobChangedListener>();\r
+ setAttribute(JOBLISTENERLIST, list);\r
+ }\r
+ if(!list.contains(listener)){\r
+ list.add(listener);\r
+ }\r
+ }\r
+ \r
+ \r
+ \r
}
\ No newline at end of file