Author: michiel
Date: 2009-07-03 09:53:12 +0200 (Fri, 03 Jul 2009)
New Revision: 36534

Modified:
   
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/CreateCachesProcessor.java
Log:
mimetype checking not yet implemented, but put in the TODO for that

Modified: 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/CreateCachesProcessor.java
===================================================================
--- 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/CreateCachesProcessor.java
       2009-07-03 07:05:36 UTC (rev 36533)
+++ 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/CreateCachesProcessor.java
       2009-07-03 07:53:12 UTC (rev 36534)
@@ -445,17 +445,13 @@
 
             try {
                 synchronized(list) {
+                    createCacheNodes();
+
                     for (Map.Entry<String, JobDefinition> entry : 
list.entrySet()) {
                         JobDefinition jd = entry.getValue();
                         String id = entry.getKey();
                         if (jd.transcoder.getFormat() != null) {
                             Node resultNode = 
getCacheNode(jd.transcoder.getKey());
-                            resultNode.setIntValue("state",  
State.REQUEST.getValue());
-                            resultNode.setStringValue("key", 
jd.transcoder.getKey());
-                            resultNode.setIntValue("format", 
jd.transcoder.getFormat().toInt());
-                            resultNode.setIntValue("codec", 
jd.transcoder.getCodec().toInt());
-                            resultNode.setNodeValue("id",    node);
-                            resultNode.commit();
 
                             StringBuilder buf = new StringBuilder();
                             
org.mmbase.storage.implementation.database.DatabaseStorageManager.appendDirectory(buf,
 resultNode.getNumber(), "/");
@@ -504,6 +500,23 @@
             }
         }
 
+        protected void createCacheNodes() {
+            synchronized(list) {
+                for (Map.Entry<String, JobDefinition> entry : list.entrySet()) 
{
+
+                    // TODO check only create if always must be created or, if 
mimetyep matches with input.
+                    JobDefinition jd = entry.getValue();
+                    Node resultNode = getCacheNode(jd.transcoder.getKey());
+                    resultNode.setIntValue("state",  State.REQUEST.getValue());
+                    resultNode.setStringValue("key", jd.transcoder.getKey());
+                    resultNode.setIntValue("format", 
jd.transcoder.getFormat().toInt());
+                    resultNode.setIntValue("codec", 
jd.transcoder.getCodec().toInt());
+                    resultNode.setNodeValue("id",    node);
+                    resultNode.commit();
+                }
+            }
+        }
+
         public Iterator<JobDefinition> iterator() {
             final Iterator<Map.Entry<String, JobDefinition>> i = 
clones.entrySet().iterator();
             return new Iterator<JobDefinition>() {
@@ -520,6 +533,7 @@
                         current.getResultNode().setIntValue("state",
                                                             
State.DONE.getValue());
                         current.getResultNode().commit();
+                        createCacheNodes();
                     }
                     current = i.next().getValue();
                     if (current.transcoder instanceof CommandTranscoder) {

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to