[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