git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31353
private void OnList(JToken l) {\r
if (l == null)\r
return;\r
+\r
+ cache = null;\r
parent.SafeCall(() => {\r
+ Clear();\r
l.Children().\r
ToList().\r
Select(t => CreateItem(t, false)).\r
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>\r
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>\r
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory -Dorg.eclipse.epp.logging.aeri.skipReports=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djobengine.jobsteps.root="${workspace_loc}/user.jobengine.executors/config" -Djobengine.jobtemplates.root="${workspace_loc}/user.jobengine.executors/jobtemplates" -Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.db.user=db2admin -Djobengine.db.password=password -Djobengine.loglevel=INFO -Dlog4j.configurationFile="${workspace_loc}/-configuration/log4j2.xml" -Djobengine.jobsteps.alternate.root="${workspace_loc}/user.jobengine.executors/bin/" -Djetty.home="${workspace_loc:}/-configuration/jetty" -Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml -Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty -Djava.io.tmpdir=c:\temp\jetty -Djobengine.octopus.api.address=http://10.10.1.11/api/v1 -Djobengine.octopus.api.user=mam -Djobengine.octopus.api.password=napocska -Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.nosql.db.user=db2admin -Djobengine.nosql.db.password=password -Djobengine.nosql.db.schema=test -Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl -Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium -Djobengine.jobscheduling.config="${workspace_loc}/-configuration/scheduledjobs.json" -Dnexio.host=192.168.10.101 -Djobengine.nexio.name=testnexioclips -Dnexio.disable=false -Djobengine.octopus.rundowns.name=rundowns -Djobengine.octopus.storyfolders.name=storyfolders -Djobengine.octopus.stories.name=stories -Dmediacube.auth.location="${workspace_loc}/-configuration/mediacube-auth.properties""/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory -Dorg.eclipse.epp.logging.aeri.skipReports=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djobengine.jobsteps.root="${workspace_loc}/user.jobengine.executors/config" -Djobengine.jobtemplates.root="${workspace_loc}/user.jobengine.executors/jobtemplates" -Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.db.user=db2admin -Djobengine.db.password=password -Djobengine.loglevel=INFO -Dlog4j.configurationFile="${workspace_loc}/-configuration/log4j2.xml" -Djobengine.jobsteps.alternate.root="${workspace_loc}/user.jobengine.executors/bin/" -Djetty.home="${workspace_loc:}/-configuration/jetty" -Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml -Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty -Djava.io.tmpdir=c:\temp\jetty -Djobengine.octopus.api.address=http://10.10.1.11/api/v1 -Djobengine.octopus.api.user=mam -Djobengine.octopus.api.password=napocska -Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.nosql.db.user=db2admin -Djobengine.nosql.db.password=password -Djobengine.nosql.db.schema=test -Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl -Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium -Djobengine.jobscheduling.config="${workspace_loc}/-configuration/scheduledjobs.json" -Dnexio.host=192.168.10.105 -Djobengine.nexio.name=testnexioclips -Dnexio.disable=false -Djobengine.octopus.rundowns.name=rundowns -Djobengine.octopus.storyfolders.name=storyfolders -Djobengine.octopus.stories.name=stories -Dmediacube.auth.location="${workspace_loc}/-configuration/mediacube-auth.properties""/>\r
<stringAttribute key="pde.version" value="3.3"/>\r
<booleanAttribute key="show_selected_only" value="false"/>\r
<stringAttribute key="target_bundles" value="cglib@default:default,com.auth0.java-jwt@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.fasterxml.jackson.module.jackson-module-jaxb-annotations@default:default,com.google.guava@default:default,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.el.javax.el@default:default,commons-logging@default:default,humble.video.noarch@default:default,humble.video.windows@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.mail@default:default,javax.servlet-api@default:default,javax.servlet.jsp-api@default:default,javax.validation.api@default:default,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang3@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jsp@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
\r
void onUpdate(BasicDBObject data);\r
\r
+ void refreshClients() throws Exception;\r
+\r
}\r
return result;\r
}\r
\r
+ @Override\r
+ public void refreshClients() throws Exception {\r
+ // TODO Auto-generated method stub\r
+\r
+ }\r
+\r
private void removeDeleted(Map<String, BasicDBObject> remoteClips, Map<String, BasicDBObject> localClips) {\r
Set<String> remoteNames = new HashSet<>(remoteClips.keySet());\r
Set<String> localNames = new HashSet<>(localClips.keySet());\r
Mediabase mediabase = NexioDispatcher.this.controller.getMediabase();\r
mediaListener = mediabase.createMediaListener(disabled, NexioDispatcher.this);\r
setRestartInProgress(false);\r
+\r
+ try {\r
+ nexioChangeListener.refreshClients();\r
+ } catch (Exception e) {\r
+ logger.catching(e);\r
+ }\r
+\r
mediaListener.startListener();\r
\r
} catch (Exception e) {\r
}\r
\r
/*\r
-\r
+ \r
int c = connection.read(buffer, 0, 2);\r
//2 bytes hosszan az idokozben hozzaadott id-k szamossaga\r
if (c < 2) {\r
throw new ProtocolException("c, 2, 2");\r
}\r
//MSB, LSB\r
-\r
+ \r
return nofIds;\r
*/\r
return ret;\r
//rename-nel a clipForName null lesz de a clipForID nem ezert nem kell create\r
if (clipForName == null && clipForID == null) {\r
collection.save(clip);\r
- onCreate(clip);\r
+ if (!isRestartInProgress())\r
+ onCreate(clip);\r
} else {\r
if (clipForID != null) {\r
clip.put("_id", clipForID.get("_id"));\r
this.controller.connect();\r
} catch (Exception e) {\r
logger.catching(e);\r
+ setRestartInProgress(false);\r
return;\r
}\r
dropAllClipsFromMongo();\r
private static IOctopusAPI octopusAPI;\r
private static INexioAPI nexioAPI;\r
\r
+ private static NexioWSServlet nexioServlet;\r
+\r
public static IItemManager getItemManager() {\r
if (itemManager == null)\r
throw new RuntimeException("IItemManager is null");\r
return nexioAPI;\r
}\r
\r
+ // public static NexioWSServlet getNexioWSServlet() {\r
+ // if (nexioServlet == null)\r
+ // throw new RuntimeException("IOctopusAPI is null");\r
+ // return nexioServlet;\r
+ // }\r
+\r
public static IOctopusAPI getOctopusAPI() {\r
if (octopusAPI == null)\r
throw new RuntimeException("IOctopusAPI is null");\r
return octopusAPI;\r
}\r
\r
- private NexioWSServlet nexioServlet;\r
-\r
public synchronized void bindService(Object service) {\r
if (service instanceof IJobEngine) {\r
jobengine = (IJobEngine) service;\r
import com.ibm.nosql.json.api.BasicDBObject;
import user.commons.nexio.INexioChangeListener;
+import user.jobengine.osgi.rest.ComponentBinder;
@SuppressWarnings("serial")
public class NexioWSServlet extends WebSocketServlet implements INexioChangeListener {
sessions.removeAll(deadSessions);
}
+ @Override
+ public void refreshClients() throws Exception {
+ BasicDBObject item = new BasicDBObject(NexioWSSocket.DATA, ComponentBinder.getNexioAPI().getItems(null, true));
+ item.put(NexioWSSocket.ACTION, NexioWSSocket.LIST);
+ processMessage(item);
+ }
+
public void removeSession(Session session) {
if (sessions.contains(session))
sessions.remove(session);
package user.jobengine.osgi.ws.nexio;
import java.io.IOException;
-import java.util.List;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ibm.nosql.json.JSONUtil;
import com.ibm.nosql.json.api.BasicDBObject;
-import com.ibm.nosql.json.api.DBObject;
-import user.commons.nexio.INexioAPI;
import user.jobengine.osgi.rest.ComponentBinder;
import user.jobengine.osgi.rest.ServiceObjectMapper;
logger.info("EventSocket created");
}
- private void listNexio(BasicDBObject response) throws Exception {
- INexioAPI nexioAPI = ComponentBinder.getNexioAPI();
- if (nexioAPI == null)
- throw new Exception("Nexio service is unreachable");
- List<DBObject> clips = nexioAPI.getItems(null, true);
- response.append(DATA, clips);
- }
-
@Override
public void onWebSocketClose(int statusCode, String reason) {
super.onWebSocketClose(statusCode, reason);
BasicDBObject response = new BasicDBObject(ACTION, action);
switch (action) {
case LIST:
- listNexio(response);
+ response.append(DATA, ComponentBinder.getNexioAPI().getItems(null, true));
break;
default:
throw new Exception("Unhandled action : " + action);