Update of /var/cvs/applications/resources/src/org/mmbase/util/images
In directory james.mmbase.org:/tmp/cvs-serv8175

Modified Files:
        ImageConversionRequestProcessor.java 
        ImageMagickImageConverter.java 
Log Message:
Some details, toString methods


See also: 
http://cvs.mmbase.org/viewcvs/applications/resources/src/org/mmbase/util/images


Index: ImageConversionRequestProcessor.java
===================================================================
RCS file: 
/var/cvs/applications/resources/src/org/mmbase/util/images/ImageConversionRequestProcessor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- ImageConversionRequestProcessor.java        23 Sep 2008 07:38:51 -0000      
1.3
+++ ImageConversionRequestProcessor.java        22 Apr 2009 06:57:43 -0000      
1.4
@@ -25,7 +25,7 @@
  *
  * @author Rico Jansen
  * @author Michiel Meeuwissen
- * @version $Id: ImageConversionRequestProcessor.java,v 1.3 2008/09/23 
07:38:51 michiel Exp $
+ * @version $Id: ImageConversionRequestProcessor.java,v 1.4 2009/04/22 
06:57:43 michiel Exp $
  * @see    ImageConversionRequest
  */
 public class ImageConversionRequestProcessor implements Runnable {
@@ -35,7 +35,7 @@
     private final int processorId;
     private Thread thread;
 
-    private final ImageConverter convert;
+    private ImageConverter convert;
     private final BlockingQueue<ImageConversionRequest> queue;
     private final Map<ImageConversionReceiver, ImageConversionRequest> table;
 
@@ -43,7 +43,8 @@
     /**
      * @javadoc
      */
-    public ImageConversionRequestProcessor(ImageConverter convert, 
BlockingQueue<ImageConversionRequest> queue,
+    public ImageConversionRequestProcessor(ImageConverter convert,
+                                           
BlockingQueue<ImageConversionRequest> queue,
                                            Map<ImageConversionReceiver, 
ImageConversionRequest> table) {
         this.convert = convert;
         this.queue = queue;
@@ -60,20 +61,22 @@
     }
     protected void shutdown() {
         thread.interrupt();
+        thread = null;
     }
 
     // javadoc inherited (from Runnable)
     public void run() {
         MMBase mmbase = MMBase.getMMBase();
-        while (!mmbase.isShutdown()) {
+        while (!mmbase.isShutdown() && thread != null) {
             try {
                 log.debug("Waiting for request");
                 ImageConversionRequest req = queue.take();
-                log.debug("Starting request");
+                log.debug("Starting request " + this);
                 processRequest(req);
                 log.debug("Done with request");
             } catch (InterruptedException ie) {
-                log.debug(Thread.currentThread().getName() +" was 
interrupted.");
+                log.debug(Thread.currentThread().getName() +" was interrupted 
for " + this);
+                convert = null;
                 break;
             } catch (Exception e) {
                 log.error(e.getMessage(), e);
@@ -90,6 +93,7 @@
         InputStream inputPicture = req.getInput();
         ImageConversionReceiver rec = req.getReceiver();
 
+        log.debug("Processing " + req);
         try {
             if (inputPicture == null) {
                 if (log.isDebugEnabled()) log.debug("processRequest : input is 
empty : " + req);
@@ -109,15 +113,22 @@
                             Dimension dim = 
Factory.getImageInformer().getDimension(rec.getInputStream());
                             rec.setDimension(dim);
                         }
-                        rec.ready();
                     } else {
                         log.warn("processRequest(): Convert problem params : " 
+ params);
                     }
                 } catch (java.io.IOException ioe) {
                     log.error(ioe);
+                } finally {
+                    try {
+                        rec.ready();
+                    } catch (java.io.IOException ioe) {
+                        log.error(ioe);
+                    }
+
                 }
             }
         } finally {
+            log.debug("Ready processing request");
             synchronized (table){
                 if (log.isDebugEnabled()) {
                     log.debug("Setting output " + req + " (" + req.count() + " 
times requested now)");
@@ -127,4 +138,8 @@
             }
         }
     }
+
+    public String toString() {
+        return super.toString() + " converter: " + convert;
+    }
 }


Index: ImageMagickImageConverter.java
===================================================================
RCS file: 
/var/cvs/applications/resources/src/org/mmbase/util/images/ImageMagickImageConverter.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- ImageMagickImageConverter.java      16 Mar 2009 15:52:02 -0000      1.14
+++ ImageMagickImageConverter.java      22 Apr 2009 06:57:43 -0000      1.15
@@ -27,7 +27,7 @@
  * @author Michiel Meeuwissen
  * @author Nico Klasens
  * @author Jaco de Groot
- * @version $Id: ImageMagickImageConverter.java,v 1.14 2009/03/16 15:52:02 
rico Exp $
+ * @version $Id: ImageMagickImageConverter.java,v 1.15 2009/04/22 06:57:43 
michiel Exp $
  */
 public class ImageMagickImageConverter extends AbstractImageConverter 
implements ImageConverter {
     private static final Logger log = 
Logging.getLoggerInstance(ImageMagickImageConverter.class);
@@ -78,7 +78,7 @@
                 launcher.execute(converterPath, cmd.toArray(EMPTY));
                 launcher.waitAndRead(outputStream, errorStream);
             } catch (ProcessException e) {
-                log.error("Convert test failed. " + converterPath + " (" + 
e.getMessage() + ")");
+                log.error("Convert test failed. " + converterPath + " (" + 
e.getMessage() + ")", new Exception());
             }
             break;
         }
@@ -261,9 +261,9 @@
                 log.error(nfe.getMessage());
             }
         } else {
-            log.debug(
-            "ModulateScaleBase property not found, ignoring the 
modulateScaleBase.");
+            log.debug("ModulateScaleBase property not found, ignoring the 
modulateScaleBase.");
         }
+        log.info("Using " + converterPath +  " " + this);
     }
 
     private static class ParseResult {
@@ -617,6 +617,7 @@
         cmd.add(format+ ":-");
         String command = cmd.toString(); // only for debugging.
 
+        log.info("" + this + " executing " + command);
 
         String[] env;
         if (cwd != null) {
@@ -653,7 +654,7 @@
             } else {
                 // print some info and return....
                 if (log.isServiceEnabled()) {
-                    log.service("converted ('" + command + "')");
+                    log.service("converted ('" + command + "') usign " + this);
                 }
             }
         } catch (Exception e) {
@@ -758,6 +759,10 @@
 
     }
 
+    public String toString() {
+        return super.toString() + " " + converterPath;
+    }
+
     public static void main(String[] args) throws Exception {
         String s = new BufferedReader(new 
InputStreamReader((System.in))).readLine();
         Matcher m = IM_VERSION_PATTERN.matcher(s);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to