Author: antelder
Date: Mon Mar  2 13:35:19 2009
New Revision: 749302

URL: http://svn.apache.org/viewvc?rev=749302&view=rev
Log:
Remove the dependency on the Tomcat annotation processor

Modified:
    tuscany/java/sca/modules/myfaces/META-INF/MANIFEST.MF
    tuscany/java/sca/modules/myfaces/pom.xml
    
tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationLifecycleProvider.java
    
tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationProcessor.java

Modified: tuscany/java/sca/modules/myfaces/META-INF/MANIFEST.MF
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/myfaces/META-INF/MANIFEST.MF?rev=749302&r1=749301&r2=749302&view=diff
==============================================================================
--- tuscany/java/sca/modules/myfaces/META-INF/MANIFEST.MF (original)
+++ tuscany/java/sca/modules/myfaces/META-INF/MANIFEST.MF Mon Mar  2 13:35:19 
2009
@@ -14,8 +14,7 @@
  org.apache.myfaces.config.annotation;version="1.2.2",
  org.apache.myfaces.shared_impl.util;version="1.2.2",
  org.apache.tuscany.sca.node.impl;version="2.0",
- org.apache.tuscany.sca.implementation.web.runtime.utils;version="2.0",
- org.apache;version="6.0.18"
+ org.apache.tuscany.sca.implementation.web.runtime.utils;version="2.0"
 Bundle-SymbolicName: org.apache.tuscany.sca.myfaces
 Bundle-DocURL: http://www.apache.org/
 

Modified: tuscany/java/sca/modules/myfaces/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/myfaces/pom.xml?rev=749302&r1=749301&r2=749302&view=diff
==============================================================================
--- tuscany/java/sca/modules/myfaces/pom.xml (original)
+++ tuscany/java/sca/modules/myfaces/pom.xml Mon Mar  2 13:35:19 2009
@@ -58,13 +58,6 @@
         </dependency>
         
         <dependency>
-           <groupId>org.apache.tomcat</groupId>
-           <artifactId>catalina</artifactId>
-           <version>6.0.18</version>
-           <scope>provided</scope>
-        </dependency>
-       
-        <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
             <version>2.5</version>

Modified: 
tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationLifecycleProvider.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationLifecycleProvider.java?rev=749302&r1=749301&r2=749302&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationLifecycleProvider.java
 (original)
+++ 
tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationLifecycleProvider.java
 Mon Mar  2 13:35:19 2009
@@ -26,34 +26,44 @@
 import javax.naming.NamingException;
 import javax.servlet.ServletContext;
 
-import org.apache.AnnotationProcessor;
 import org.apache.myfaces.config.annotation.DiscoverableLifecycleProvider;
-import org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider;
 import org.apache.myfaces.shared_impl.util.ClassUtils;
-import org.apache.tuscany.sca.node.impl.NodeImpl;
 
-public class TuscanyAnnotationLifecycleProvider extends 
TomcatAnnotationLifecycleProvider implements DiscoverableLifecycleProvider {
+public class TuscanyAnnotationLifecycleProvider implements 
DiscoverableLifecycleProvider {
     private static final Logger logger = 
Logger.getLogger(TuscanyAnnotationLifecycleProvider.class.getName());
 
     private TuscanyAnnotationProcessor annotationProcessor;
     private ServletContext servletContext;
 
+
     public TuscanyAnnotationLifecycleProvider(ExternalContext externalContext) 
{
-        super(externalContext);
         this.servletContext = (ServletContext)externalContext.getContext();
-        AnnotationProcessor ap = 
(org.apache.AnnotationProcessor)servletContext.getAttribute(org.apache.AnnotationProcessor.class.getName());
-        annotationProcessor = new TuscanyAnnotationProcessor(ap);
+        
+        // TODO: Should this use any existing AnnotationProcessor?
+        //      Tomcat based runtimes may use an 
org.apache.AnnotationProcessor which
+        //      if exists this could delegate to so as to support both SCA and 
other annotations
+        // AnnotationProcessor existingAnnotationProcessor = 
(AnnotationProcessor)
+        // 
servletContext.getAttribute(org.apache.AnnotationProcessor.class.getName());
+        // annotationProcessor = new 
TuscanyAnnotationProcessor(existingAnnotationProcessor);
+        annotationProcessor = new TuscanyAnnotationProcessor();
     }
 
     public Object newInstance(String className) throws InstantiationException, 
IllegalAccessException, InvocationTargetException, NamingException, 
ClassNotFoundException {
-
-        Class<?> clazz = ClassUtils.classForName(className);
         logger.info("Creating instance of " + className);
+        Class<?> clazz = ClassUtils.classForName(className);
         Object object = clazz.newInstance();
         annotationProcessor.processAnnotations(object, servletContext);
         annotationProcessor.postConstruct(object);
-
         return object;
     }
 
+    public boolean isAvailable() {
+        return true;
+    }
+
+    public void destroyInstance(Object o) throws IllegalAccessException, 
InvocationTargetException {
+        logger.info("Destroy instance of " + o.getClass().getName());
+        annotationProcessor.preDestroy(o);
+    }
+
 }

Modified: 
tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationProcessor.java?rev=749302&r1=749301&r2=749302&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationProcessor.java
 (original)
+++ 
tuscany/java/sca/modules/myfaces/src/main/java/org/apache/tuscany/myfaces/TuscanyAnnotationProcessor.java
 Mon Mar  2 13:35:19 2009
@@ -24,31 +24,30 @@
 import javax.naming.NamingException;
 import javax.servlet.ServletContext;
 
-import org.apache.AnnotationProcessor;
 import org.apache.tuscany.sca.implementation.web.runtime.utils.ContextHelper;
 
-public class TuscanyAnnotationProcessor implements 
org.apache.AnnotationProcessor {
+//public class TuscanyAnnotationProcessor implements 
org.apache.AnnotationProcessor {
+public class TuscanyAnnotationProcessor {
 
-    org.apache.AnnotationProcessor annotationProcessor;
+//    private AnnotationProcessor annotationProcessor;
 
-    public TuscanyAnnotationProcessor(AnnotationProcessor annotationProcessor) 
{
-        this.annotationProcessor = annotationProcessor;
+    public TuscanyAnnotationProcessor() {
     }
 
     public void postConstruct(Object arg0) throws IllegalAccessException, 
InvocationTargetException {
-        annotationProcessor.postConstruct(arg0);
+//        annotationProcessor.postConstruct(arg0);
     }
 
     public void preDestroy(Object arg0) throws IllegalAccessException, 
InvocationTargetException {
-        annotationProcessor.preDestroy(arg0);
+//        annotationProcessor.preDestroy(arg0);
     }
 
     public void processAnnotations(Object arg0, ServletContext servletContext) 
throws IllegalAccessException, InvocationTargetException, NamingException {
         ContextHelper.inject(arg0, servletContext);
-        annotationProcessor.processAnnotations(arg0);
+//        annotationProcessor.processAnnotations(arg0);
     }
 
     public void processAnnotations(Object arg0) throws IllegalAccessException, 
InvocationTargetException, NamingException {
-        annotationProcessor.processAnnotations(arg0);
+//        annotationProcessor.processAnnotations(arg0);
     }
 }


Reply via email to