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
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs