[Yanel-commits] rev 43938 - public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources

guillaume at wyona.com guillaume at wyona.com
Fri Jul 31 20:06:44 CEST 2009


Author: guillaume
Date: 2009-07-31 20:06:43 +0200 (Fri, 31 Jul 2009)
New Revision: 43938

Modified:
   public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java
Log:
Small harmless refactoring. Also removed useless casts signaled by Eclipse.

Modified: public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java
===================================================================
--- public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java	2009-07-31 17:51:49 UTC (rev 43937)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java	2009-07-31 18:06:43 UTC (rev 43938)
@@ -132,7 +132,7 @@
      */
     public ViewDescriptor[] getViewDescriptors() {
         if (this.viewDescriptors != null) {
-            return (ViewDescriptor[])this.viewDescriptors.values().toArray(new ViewDescriptor[this.viewDescriptors.size()]);
+            return this.viewDescriptors.values().toArray(new ViewDescriptor[this.viewDescriptors.size()]);
         }
         try {
             this.viewDescriptors = new HashMap<String, ViewDescriptor>();
@@ -148,7 +148,7 @@
                     viewDescriptor.configure(viewConfigs[i]);
                     this.viewDescriptors.put(id, viewDescriptor);
                 }
-                return (ViewDescriptor[])this.viewDescriptors.values().toArray(new ViewDescriptor[this.viewDescriptors.size()]);
+                return this.viewDescriptors.values().toArray(new ViewDescriptor[this.viewDescriptors.size()]);
             }
             // no custom config
             ConfigurableViewDescriptor[] vd = new ConfigurableViewDescriptor[2];
@@ -211,9 +211,6 @@
         return -1;
     }
 
-    /**
-     *
-     */
     public View getXMLView(String viewId, InputStream xmlInputStream) throws Exception {
         View view = new View();
         if (viewId == null) {
@@ -224,12 +221,31 @@
         view.setMimeType(mimeType);
 
         StringWriter errorWriter = new StringWriter();
+
         try {
             if (viewId != null && viewId.equals(SOURCE_VIEW_ID)) {
                 view.setInputStream(xmlInputStream);
                 return view;
             }
 
+            // write result into view:
+            view.setInputStream(getTransformedInputStream(xmlInputStream, viewDescriptor, errorWriter));
+            return view;
+        } catch(Exception e) {
+            log.error(e + " (" + getPath() + ", " + getRealm() + ")", e);
+            String errorMsg;
+            String transformationError = errorWriter.toString();
+            if (transformationError != null) {
+                errorMsg = "Transformation error:\n" + transformationError; 
+                log.error(errorMsg);
+            } else {
+                errorMsg = e.getMessage();
+            }
+            throw new Exception(errorMsg);
+        }
+    }
+
+    private InputStream getTransformedInputStream(InputStream xmlInputStream, ConfigurableViewDescriptor viewDescriptor, StringWriter errorWriter) throws Exception {
             // create reader:
             XMLReader xmlReader = XMLReaderFactory.createXMLReader();
             CatalogResolver catalogResolver = new CatalogResolver();
@@ -309,22 +325,7 @@
             // execute pipeline:
             xmlReader.parse(new InputSource(xmlInputStream));
 
-            // write result into view:
-            view.setInputStream(new ByteArrayInputStream(baos.toByteArray()));
-            return view;
-        } catch(Exception e) {
-            log.error(e + " (" + getPath() + ", " + getRealm() + ")", e);
-            String errorMsg;
-            String transformationError = errorWriter.toString();
-            if (transformationError != null) {
-                errorMsg = "Transformation error:\n" + transformationError; 
-                log.error(errorMsg);
-            } else {
-                errorMsg = e.getMessage();
-            }
-            throw new Exception(errorMsg);
-        }
-
+            return new ByteArrayInputStream(baos.toByteArray());
     }
 
     /**
@@ -392,7 +393,7 @@
             catalogues.add(realmCatalogue);
         }
         catalogues.add("global");
-        return (String [])catalogues.toArray(new String[catalogues.size()]);
+        return catalogues.toArray(new String[catalogues.size()]);
     }
 
     /**



More information about the Yanel-commits mailing list