You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2006/10/10 18:36:13 UTC

svn commit: r454815 - in /cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms: binding/JXPathBindingManager.java transformation/EffectPipe.java

Author: vgritsenko
Date: Tue Oct 10 09:36:12 2006
New Revision: 454815

URL: http://svn.apache.org/viewvc?view=rev&rev=454815
Log:
java 1.3 compatibility

Modified:
    cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingManager.java
    cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/transformation/EffectPipe.java

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingManager.java?view=diff&rev=454815&r1=454814&r2=454815
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingManager.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingManager.java Tue Oct 10 09:36:12 2006
@@ -28,6 +28,7 @@
 import org.apache.avalon.framework.context.ContextException;
 import org.apache.avalon.framework.context.Contextualizable;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.framework.logger.Logger;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
@@ -79,6 +80,15 @@
     protected LibraryManagerImpl libraryManager;
 
 
+    /**
+     * Java 1.3 logger access method.
+     * <br>
+     * Access to {#getLogger} from inner class on Java 1.3 causes NoSuchMethod error.  
+     */
+    protected Logger getMyLogger() {
+        return getLogger();
+    }
+
     public void contextualize(Context context) throws ContextException {
         this.avalonContext = context;
     }
@@ -97,25 +107,26 @@
     public void initialize() throws Exception {
         bindingBuilderSelector = new SimpleServiceSelector("binding", JXPathBindingBuilderBase.class);
         LifecycleHelper.setupComponent(bindingBuilderSelector,
-                getLogger(),
-                this.avalonContext,
-                this.manager,
-                configuration.getChild("bindings"));
+                                       getLogger(),
+                                       this.avalonContext,
+                                       this.manager,
+                                       configuration.getChild("bindings"));
 
         libraryManager = new LibraryManagerImpl();
         libraryManager.setBindingManager(this);
         LifecycleHelper.setupComponent(libraryManager,
-                getLogger(),
-                this.avalonContext,
-                this.manager,
-                configuration.getChild("library"));
+                                       getLogger(),
+                                       this.avalonContext,
+                                       this.manager,
+                                       configuration.getChild("library"));
     }
 
     public Binding createBinding(Source source) throws BindingException {
-        Binding binding = (Binding) this.cacheManager.get(source, PREFIX);
 
-        if (binding != null && !binding.isValid())
+        Binding binding = (Binding) this.cacheManager.get(source, PREFIX);
+        if (binding != null && !binding.isValid()) {
             binding = null; //invalidate
+        }
 
         if (binding == null) {
             try {
@@ -145,6 +156,7 @@
                         source.getURI(), e);
             }
         }
+
         return binding;
     }
 
@@ -195,25 +207,19 @@
      * factory and its builder classes (that could be provided by third
      * parties.)
      */
-    /*
-     * NOTE: To get access to the logger in this inner class you must not call
-     * getLogger() as with JDK 1.3 this gives a NoSuchMethod error. You need to
-     * implement an explicit access method for the logger in the outer class.
-     */
     public class Assistant {
 
         private BindingBuilderContext context = new BindingBuilderContext();
         private Stack contextStack = new Stack();
 
+
         private JXPathBindingBuilderBase getBindingBuilder(String bindingType)
         throws BindingException {
             try {
-                return (JXPathBindingBuilderBase) bindingBuilderSelector
-                .select(bindingType);
+                return (JXPathBindingBuilderBase) bindingBuilderSelector.select(bindingType);
             } catch (ServiceException e) {
-                throw new BindingException(
-                        "Cannot handle binding element with " + "name \""
-                        + bindingType + "\".", e);
+                throw new BindingException("Cannot handle binding element with " + "name \"" +
+                                           bindingType + "\".", e);
             }
         }
 
@@ -230,7 +236,7 @@
             if (context.getLocalLibrary() == null) {
                 // FIXME Use newLibrary()?
                 Library lib = new Library(libraryManager);
-                lib.enableLogging(getLogger());
+                lib.enableLogging(getMyLogger());
                 context.setLocalLibrary(lib);
                 lib.setAssistant(getBuilderAssistant());
                 lib.setSourceURI(LocationAttributes.getURI(configElm));
@@ -257,7 +263,7 @@
 
             // this might get called unnecessarily, but solves issues with the libraries
             if (childBinding != null) {
-                childBinding.enableLogging(getLogger());
+                childBinding.enableLogging(getMyLogger());
             }
             return childBinding;
         }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/transformation/EffectPipe.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/transformation/EffectPipe.java?view=diff&rev=454815&r1=454814&r2=454815
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/transformation/EffectPipe.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/transformation/EffectPipe.java Tue Oct 10 09:36:12 2006
@@ -16,16 +16,18 @@
  */
 package org.apache.cocoon.forms.transformation;
 
+import java.util.LinkedList;
+
 import org.apache.cocoon.xml.AbstractXMLPipe;
 import org.apache.cocoon.xml.SaxBuffer;
 
 import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
 import org.xml.sax.Locator;
 import org.xml.sax.SAXException;
+import org.xml.sax.ext.LexicalHandler;
 import org.xml.sax.helpers.LocatorImpl;
 
-import java.util.LinkedList;
-
 /**
  * Base class for XMLPipe's. Allows the structure of the source code of
  * the XMLPipe to match the structure of the data being transformed.
@@ -35,6 +37,24 @@
 public class EffectPipe extends AbstractXMLPipe {
 
     /**
+     * Java 1.3 contentHandler access method.
+     * <br>
+     * Access to {#contentHandler} from inner class on Java 1.3 causes NoSuchMethod error.
+     */
+    private ContentHandler getContentHandler() {
+        return super.contentHandler;
+    }
+
+    /**
+     * Java 1.3 lexicalHandler access method.
+     * <br>
+     * Access to {#lexicalHandler} from inner class on Java 1.3 causes NoSuchMethod error.  
+     */
+    private LexicalHandler getLexicalHandler() {
+        return super.lexicalHandler;
+    }
+
+    /**
      * Handler interface. Accepts SAX events, can return other handler
      * to replace self for further events.
      */
@@ -267,83 +287,83 @@
      */
     protected class CopyHandler extends NullHandler {
         public Handler startDocument() throws SAXException {
-            contentHandler.startDocument();
+            getContentHandler().startDocument();
             return this;
         }
 
         public void endDocument() throws SAXException {
-            contentHandler.endDocument();
+            getContentHandler().endDocument();
         }
 
         public void startPrefixMapping(String prefix, String uri) throws SAXException {
-            contentHandler.startPrefixMapping(prefix, uri);
+            getContentHandler().startPrefixMapping(prefix, uri);
         }
 
         public void endPrefixMapping(String prefix) throws SAXException {
-            contentHandler.endPrefixMapping(prefix);
+            getContentHandler().endPrefixMapping(prefix);
         }
 
         public Handler startElement(String uri, String loc, String raw, Attributes attrs) throws SAXException {
-            contentHandler.startElement(uri, loc, raw, attrs);
+            getContentHandler().startElement(uri, loc, raw, attrs);
             return this;
         }
 
         public void endElement(String uri, String loc, String raw) throws SAXException {
-            contentHandler.endElement(uri, loc, raw);
+            getContentHandler().endElement(uri, loc, raw);
         }
 
         public Handler characters(char ch[], int start, int length) throws SAXException {
-            contentHandler.characters(ch, start, length);
+            getContentHandler().characters(ch, start, length);
             return this;
         }
 
         public Handler ignorableWhitespace(char ch[], int start, int length) throws SAXException {
-            contentHandler.ignorableWhitespace(ch, start, length);
+            getContentHandler().ignorableWhitespace(ch, start, length);
             return this;
         }
 
         public Handler processingInstruction(String target, String data) throws SAXException {
-            contentHandler.processingInstruction(target, data);
+            getContentHandler().processingInstruction(target, data);
             return this;
         }
 
         public Handler skippedEntity(String name) throws SAXException {
-            contentHandler.skippedEntity(name);
+            getContentHandler().skippedEntity(name);
             return this;
         }
 
         public Handler startDTD(String name, String publicId, String systemId) throws SAXException {
-            if (lexicalHandler != null) lexicalHandler.startDTD(name, publicId, systemId);
+            if (getLexicalHandler() != null) getLexicalHandler().startDTD(name, publicId, systemId);
             return this;
         }
 
         public Handler endDTD() throws SAXException {
-            if (lexicalHandler != null) lexicalHandler.endDTD();
+            if (getLexicalHandler() != null) getLexicalHandler().endDTD();
             return this;
         }
 
         public Handler startEntity(String name) throws SAXException {
-            if (lexicalHandler != null) lexicalHandler.startEntity(name);
+            if (getLexicalHandler() != null) getLexicalHandler().startEntity(name);
             return this;
         }
 
         public Handler endEntity(String name) throws SAXException {
-            if (lexicalHandler != null) lexicalHandler.endEntity(name);
+            if (getLexicalHandler() != null) getLexicalHandler().endEntity(name);
             return this;
         }
 
         public Handler startCDATA() throws SAXException {
-            if (lexicalHandler != null) lexicalHandler.startCDATA();
+            if (getLexicalHandler() != null) getLexicalHandler().startCDATA();
             return this;
         }
 
         public Handler endCDATA() throws SAXException {
-            if (lexicalHandler != null) lexicalHandler.endCDATA();
+            if (getLexicalHandler() != null) getLexicalHandler().endCDATA();
             return this;
         }
 
         public Handler comment(char c[], int start, int len) throws SAXException {
-            if (lexicalHandler != null) lexicalHandler.comment(c, start, len);
+            if (getLexicalHandler() != null) getLexicalHandler().comment(c, start, len);
             return this;
         }
     }
@@ -463,10 +483,9 @@
             return "unknown";
         }
 
-        final String location = " (" + locator.getSystemId() + ":" +
-                                       locator.getLineNumber() + ":" +
-                                       locator.getColumnNumber() + ")";
-        return location;
+        return " (" + locator.getSystemId() + ":" +
+                      locator.getLineNumber() + ":" +
+                      locator.getColumnNumber() + ")";
     }
 
     protected void pushHandler(Handler handler) {