Update of /var/cvs/speeltuin/mihxil/streams/src/org/mmbase/streams In directory james.mmbase.org:/tmp/cvs-serv13683/src/org/mmbase/streams
Modified Files: CreateCachesProcessor.java Log Message: See also: http://cvs.mmbase.org/viewcvs/speeltuin/mihxil/streams/src/org/mmbase/streams Index: CreateCachesProcessor.java =================================================================== RCS file: /var/cvs/speeltuin/mihxil/streams/src/org/mmbase/streams/CreateCachesProcessor.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -b -r1.2 -r1.3 --- CreateCachesProcessor.java 24 Apr 2009 18:43:30 -0000 1.2 +++ CreateCachesProcessor.java 30 Apr 2009 16:35:13 -0000 1.3 @@ -54,11 +54,17 @@ Node resultNode; if (nodes.size() > 0) { resultNode = nodes.get(0); + resultNode.setIntValue("state", State.REQUEST.getValue()); } else { resultNode = caches.createNode(); - resultNode.setNodeValue("id", node); + resultNode.setIntValue("state", State.REQUEST.getValue()); resultNode.setStringValue("key", t.getKey()); - resultNode.setIntValue("state", State.REQUEST.ordinal()); + resultNode.setNodeValue("id", node); + resultNode.commit(); + + // virtual field actually creates relation + resultNode.setNodeValue("mediaprovider", node.getNodeValue("mediaprovider")); + logger.service("Created " + resultNode); } return resultNode; @@ -66,21 +72,28 @@ + public void commit(final Node node, final Field field) { - if (node.isChanged(field.getName())) { + if (node.getNumber() > 0) { LOG.info("Field '" + field + " was changed. Triggering caches."); final ChainedLogger logger = new ChainedLogger(); logger.addLogger(Logging.getLoggerInstance("CACHES." + node.getCloud().getUser().getIdentifier())); logger.addLogger(LOG); + ThreadPools.jobsExecutor.execute(new Runnable() { + + public void run() { + try { for (Transcoder t : list) { Node cacheNode = getCacheNode(node, t, logger); - if (cacheNode.isNew()) { + if (cacheNode.isNew() || cacheNode.isChanged()) { cacheNode.commit(); } } - ThreadPools.jobsExecutor.execute(new Runnable() { - public void run() { + } catch (Exception e) { + logger.error(e.getMessage()); + } + for (Transcoder t : list) { logger.service("Creating with " + t); Node cacheNode = CreateCachesProcessor.this.getCacheNode(node, t, logger); @@ -93,11 +106,11 @@ buf.append(ResourceLoader.getName(inFile.getName())).append(".").append(t.getExtension()); File outFile = new File(FileServlet.getDirectory(), buf.toString().replace("/", File.separator)); try { - cacheNode.setIntValue("state", State.BUSY.ordinal()); + cacheNode.setIntValue("state", State.BUSY.getValue()); cacheNode.commit(); t.transcode(in, outFile.toURI(), logger); cacheNode.setStringValue("url", buf.toString()); - cacheNode.setIntValue("state", State.DONE.ordinal()); + cacheNode.setIntValue("state", State.DONE.getValue()); cacheNode.commit(); } catch (Exception e) { @@ -108,7 +121,9 @@ } } }); - + } else { + LOG.info("Cannot execute processor, because node has not yet a real number " + node); } } + } _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs