You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by ma...@apache.org on 2017/01/26 10:54:32 UTC

portals-pluto git commit: Refactoring code - Removed a lot of legacy code, renamed data structures, deleted/renamed files.

Repository: portals-pluto
Updated Branches:
  refs/heads/cross-context-cdi-events dac954402 -> 99629609d


Refactoring code - Removed a lot of legacy code, renamed data structures, deleted/renamed files.


Project: http://git-wip-us.apache.org/repos/asf/portals-pluto/repo
Commit: http://git-wip-us.apache.org/repos/asf/portals-pluto/commit/99629609
Tree: http://git-wip-us.apache.org/repos/asf/portals-pluto/tree/99629609
Diff: http://git-wip-us.apache.org/repos/asf/portals-pluto/diff/99629609

Branch: refs/heads/cross-context-cdi-events
Commit: 99629609d2429a4f1f70294c5b84daf254b519c0
Parents: dac9544
Author: ahmed <ma...@gmail.com>
Authored: Thu Jan 26 11:54:20 2017 +0100
Committer: ahmed <ma...@gmail.com>
Committed: Thu Jan 26 11:54:20 2017 +0100

----------------------------------------------------------------------
 .../pluto/container/driver/PortletServlet3.java | 151 ++-----------------
 .../bean/processor/CDIEventsStore.java          |  12 +-
 .../container/bean/processor/EmptyEvent.java    |  29 ----
 .../container/bean/processor/MyEmptyEvent.java  |   7 -
 .../bean/processor/MyPortletEvent.java          |   7 -
 .../bean/processor/PortletCDIEvent.java         |   4 +-
 .../processor/PortletCDIEventExtension.java     |   6 +-
 .../bean/processor/PortletEventImpl.java        |   8 +
 .../container/impl/StateAwareResponseImpl.java  |   3 +-
 .../container/EventCoordinationServiceImpl.java |  13 +-
 10 files changed, 36 insertions(+), 204 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet3.java
----------------------------------------------------------------------
diff --git a/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet3.java b/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet3.java
index 927f004..c44a15a 100644
--- a/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet3.java
+++ b/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet3.java
@@ -22,11 +22,6 @@ import java.io.Serializable;
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.io.Writer;
-import java.lang.annotation.Annotation;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Set;
 import java.util.Timer;
 import java.util.TimerTask;
@@ -69,7 +64,6 @@ import javax.xml.bind.JAXBElement;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
-import javax.xml.namespace.QName;
 import javax.xml.parsers.FactoryConfigurationError;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamException;
@@ -102,6 +96,8 @@ import org.apache.pluto.container.om.portlet.impl.EventDefinitionReferenceImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.pluto.container.bean.processor.CDIEventsStore.CDI_EVENT_QNAME;
+
 /**
  * Portlet Invocation Servlet. This servlet receives cross context requests from the the container and services the
  * portlet request for the specified method.
@@ -160,8 +156,6 @@ public class PortletServlet3 extends HttpServlet {
 
    private boolean                started = false;
    Timer                          startTimer;
-   
-   private static final QName CDI_EVENT_QNAME = new QName("javax.portlet.cdi.event", "javax.portlet.cdi.event");
 
    // HttpServlet Impl --------------------------------------------------------
 
@@ -302,7 +296,6 @@ public class PortletServlet3 extends HttpServlet {
             
             // Make a new Portlet event to correspond to CDI event
             EventDefinition eventDefinition = new EventDefinitionImpl(CDI_EVENT_QNAME);
-            eventDefinition.setQName(CDI_EVENT_QNAME);
             eventDefinition.setValueType("java.io.Serializable");
             EventDefinitionReference eventDefinitionReference = new EventDefinitionReferenceImpl(CDI_EVENT_QNAME);
             
@@ -316,10 +309,10 @@ public class PortletServlet3 extends HttpServlet {
             
             // Add the modified portlet definition in portlet application definition  
             
-            if(!CDIEventsStore.portletAdded.containsKey(pad)){          
+            if(!CDIEventsStore.CDIPortletEventSubscriberPADList.contains(pad)){          
                // Made this portlet subscriber of the new portlet CDI event
                portletDefinition.addSupportedProcessingEvent(eventDefinitionReference);
-               CDIEventsStore.portletAdded.put(pad, portletName);
+               CDIEventsStore.CDIPortletEventSubscriberPADList.add(pad);
             } 
             pad.addPortlet(portletDefinition);
             contextService.updatePortletConfig(portletContext, portletDefinition);
@@ -573,10 +566,9 @@ public class PortletServlet3 extends HttpServlet {
             ActionRequest actionRequest = (ActionRequest) portletRequest;
             ActionResponse actionResponse = (ActionResponse) portletResponse;
             filterManager.processFilter(actionRequest, actionResponse, invoker, portletContext);
-            // TODO: Document this
-            System.out.println("We have "+CDIEventsStore.CDIEventBus.size()+" events in universal event list.");
-            for(PortletCDIEvent newPortletCDIEvent : CDIEventsStore.CDIEventBus){
-               Object value = newPortletCDIEvent.getData();
+            
+            for(PortletCDIEvent portletCDIEvent : CDIEventsStore.CDIEventBus){
+               Object value = portletCDIEvent.getData();
                if(value!=null){
                   ClassLoader cl = Thread.currentThread().getContextClassLoader();
                   Writer out = new StringWriter();
@@ -587,38 +579,14 @@ public class PortletServlet3 extends HttpServlet {
                      System.setProperty( "com.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize", "true");
                      JAXBContext jc = JAXBContext.newInstance(clazz);
                      Marshaller marshaller = jc.createMarshaller();
+                     @SuppressWarnings("unchecked")
                      JAXBElement<Serializable> element = new JAXBElement<Serializable>(CDI_EVENT_QNAME, clazz, (Serializable) value);
                      marshaller.marshal(element, out);
-                     newPortletCDIEvent.setSerializedData(out.toString());
-                     newPortletCDIEvent.setProcessing(true);
+                     portletCDIEvent.setSerializedData(out.toString());
+                     portletCDIEvent.setProcessing(true);
                      actionResponse.setEvent(CDI_EVENT_QNAME, out.toString());
-                     // TODO: Check if the events has already been set in another portlet of the same web app
-                     /*
-                     
-                     PortletApplicationDefinition pad = holder.getPad();
-                     if(CDIEventsStore.portletAppCDIEventList.containsKey(pad)){
-                        Set<PortletCDIEvent> portletAppCDIEventList = CDIEventsStore.portletAppCDIEventList.get(pad);
-                        for(PortletCDIEvent existingPortletCDIEvent: portletAppCDIEventList){
-                           if(!existingPortletCDIEvent.equals(newPortletCDIEvent)){
-                              System.out.println("Wrongly set CDI portlet event again");
-                              portletAppCDIEventList.add(newPortletCDIEvent);
-                              CDIEventsStore.portletAppCDIEventList.put(pad, portletAppCDIEventList);
-                              actionResponse.setEvent(CDI_EVENT_QNAME, out.toString());
-                           } else {
-                              System.out.println("Skipped setting CDI portlet event because its already set by another portlet in the same web app");
-                           }
-                        }
-                     } else {
-                        System.out.println("Set CDI portlet event for the first time");
-                        Set<PortletCDIEvent> portletAppCDIEventList = new HashSet<PortletCDIEvent>();
-                        portletAppCDIEventList.add(newPortletCDIEvent);
-                        CDIEventsStore.portletAppCDIEventList.put(pad, portletAppCDIEventList);
-                        actionResponse.setEvent(CDI_EVENT_QNAME, out.toString());
-                     }
-                     */
                      
                   } catch(Exception e) {
-                     System.out.println("Error while serializing cdi event data "+e.toString());
                      e.printStackTrace();
                   } finally {
                      Thread.currentThread().setContextClassLoader(cl);
@@ -632,10 +600,6 @@ public class PortletServlet3 extends HttpServlet {
          else if (methodId == PortletInvokerService.METHOD_EVENT) {
             EventRequest eventRequest = (EventRequest) portletRequest;
             EventResponse eventResponse = (EventResponse) portletResponse;
-            System.out.println("Calling event method of "+portletName);
-            
-            // check if it is my cdi event
-            // then deserialize data, don't let invoker get control and fire the cdi event
             
             Event portletEvent = eventRequest.getEvent();
             if(portletEvent!=null){
@@ -649,16 +613,13 @@ public class PortletServlet3 extends HttpServlet {
                               new StringReader(in));
                      } 
                   } catch (XMLStreamException e1) {
-                     System.out.println(e1.toString());
                      throw new IllegalStateException(e1);
                   } catch (FactoryConfigurationError e1) {
-                     System.out.println(e1.toString());
                      throw new IllegalStateException(e1);
                   }
 
                   if (xml != null) {
                      try {
-                        System.out.println("Universal event list size is "+CDIEventsStore.CDIEventBus.size());
                         for(PortletCDIEvent portletCDIEvent : CDIEventsStore.CDIEventBus){
                            if(portletCDIEvent.getData().equals(value)){
                               ClassLoader loader = portletContext.getClassLoader();
@@ -669,12 +630,10 @@ public class PortletServlet3 extends HttpServlet {
                               JAXBContext jc = JAXBContext.newInstance(clazz);
                               Unmarshaller unmarshaller = jc.createUnmarshaller();
                
+                              @SuppressWarnings("rawtypes")
                               JAXBElement result = unmarshaller.unmarshal(xml, clazz);
                
                               try{
-                                    System.out.println("Now firing event from bean manager");
-                                    // TODO: Check if the event has already been fired before
-                                    //       by another portlet of the same web app
                                     CDIEventsStore.firedFromBeanManager=true;
                                     beanmgr.fireEvent(result.getValue(), portletCDIEvent.getQualifiers());
                                     CDIEventsStore.firedFromBeanManager=false;
@@ -683,74 +642,12 @@ public class PortletServlet3 extends HttpServlet {
                               }
                            }
                         }
-                        /*
-                        boolean contains = false;
-                        for(String portletName : CDIEventsStore.recieverPortlets){
-                           if(this.portletName.equals(portletName)){
-                              contains = true;
-                              break;
-                           }
-                        }
-                        if(!contains){
-                           for(PortletCDIEvent portletCDIEvent : CDIEventsStore.universalEventList){
-                              if(portletCDIEvent.getData().equals(value)){
-                                 ClassLoader loader = portletContext.getClassLoader();
-                                 Class<? extends Serializable> clazz = loader.loadClass(
-                                       portletCDIEvent.getDataType()).asSubclass(
-                                       Serializable.class);
-                  
-                                 JAXBContext jc = JAXBContext.newInstance(clazz);
-                                 Unmarshaller unmarshaller = jc.createUnmarshaller();
-                  
-                                 JAXBElement result = unmarshaller.unmarshal(xml, clazz);
-                  
-                                 try{
-                                       System.out.println("Now firing event from bean manager");
-                                       // TODO: Check if the event has already been fired before
-                                       //       by another portlet of the same web app
-                                       CDIEventsStore.firedFromBeanManager=true;
-                                       beanmgr.fireEvent(result.getValue(), portletCDIEvent.getQualifiers());
-                                       PortletApplicationDefinition pad = holder.getPad();
-                                       List<PortletDefinition> portlets = pad.getPortlets();
-                                       for(PortletDefinition portlet : portlets){
-                                          CDIEventsStore.recieverPortlets.remove(portlet.getPortletName());
-                                       }
-                                       if(CDIEventsStore.recieverPortlets.isEmpty()){
-                                          CDIEventsStore.universalEventList.clear();
-                                       }
-                                       CDIEventsStore.firedFromBeanManager=false;
-                                 } catch (Exception e){
-                                    e.printStackTrace();
-                                 }
-                              }
-                           }
-                        }
-                        */
-                        /*Set<Entry<PortletApplicationDefinition, Set<PortletCDIEvent>>> portletAppCDIEventList = CDIEventsStore.portletAppCDIEventList.entrySet();
-                        for(Entry<PortletApplicationDefinition, Set<PortletCDIEvent>> iterator : portletAppCDIEventList){
-                           if(pad.equals(iterator.getKey())){
-                              for(PortletCDIEvent portletCDIEvent : iterator.getValue()){
-                                 if(portletCDIEvent.getData().equals(value)){
-                                    contains = true;
-                                    break;
-                                 }
-                              }
-                              if(contains){
-                                 break;
-                              }
-                           }
-                        }
-                        */
-                        
                        
                      } catch (JAXBException e) {
-                        System.out.println(e.toString());
                         throw new IllegalStateException(e);
                      } catch (ClassCastException e) {
-                        System.out.println(e.toString());
                         throw new IllegalStateException(e);
                      } catch (ClassNotFoundException e) {
-                       System.out.println(e.toString());
                         throw new IllegalStateException(e);
                      }
                   }
@@ -771,38 +668,14 @@ public class PortletServlet3 extends HttpServlet {
                               System.setProperty( "com.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize", "true");
                               JAXBContext jc = JAXBContext.newInstance(clazz);
                               Marshaller marshaller = jc.createMarshaller();
+                              @SuppressWarnings("unchecked")
                               JAXBElement<Serializable> element = new JAXBElement<Serializable>(CDI_EVENT_QNAME, clazz, (Serializable) value);
                               marshaller.marshal(element, out);
                               newPortletCDIEvent.setSerializedData(out.toString());
                               newPortletCDIEvent.setProcessing(true);
                               eventResponse.setEvent(CDI_EVENT_QNAME, out.toString());
-                              // TODO: Check if the events has already been set in another portlet of the same web app
-                              /*
-                              
-                              PortletApplicationDefinition pad = holder.getPad();
-                              if(CDIEventsStore.portletAppCDIEventList.containsKey(pad)){
-                                 Set<PortletCDIEvent> portletAppCDIEventList = CDIEventsStore.portletAppCDIEventList.get(pad);
-                                 for(PortletCDIEvent existingPortletCDIEvent: portletAppCDIEventList){
-                                    if(!existingPortletCDIEvent.equals(newPortletCDIEvent)){
-                                       System.out.println("Wrongly set CDI portlet event again");
-                                       portletAppCDIEventList.add(newPortletCDIEvent);
-                                       CDIEventsStore.portletAppCDIEventList.put(pad, portletAppCDIEventList);
-                                       actionResponse.setEvent(CDI_EVENT_QNAME, out.toString());
-                                    } else {
-                                       System.out.println("Skipped setting CDI portlet event because its already set by another portlet in the same web app");
-                                    }
-                                 }
-                              } else {
-                                 System.out.println("Set CDI portlet event for the first time");
-                                 Set<PortletCDIEvent> portletAppCDIEventList = new HashSet<PortletCDIEvent>();
-                                 portletAppCDIEventList.add(newPortletCDIEvent);
-                                 CDIEventsStore.portletAppCDIEventList.put(pad, portletAppCDIEventList);
-                                 actionResponse.setEvent(CDI_EVENT_QNAME, out.toString());
-                              }
-                              */
                               
                            } catch(Exception e) {
-                              System.out.println("Error while serializing cdi event data "+e.toString());
                               e.printStackTrace();
                            } finally {
                               Thread.currentThread().setContextClassLoader(cl);

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/CDIEventsStore.java
----------------------------------------------------------------------
diff --git a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/CDIEventsStore.java b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/CDIEventsStore.java
index 63136f7..efee42e 100644
--- a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/CDIEventsStore.java
+++ b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/CDIEventsStore.java
@@ -2,20 +2,22 @@ package org.apache.pluto.container.bean.processor;
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 import javax.enterprise.context.ApplicationScoped;
+import javax.xml.namespace.QName;
 
 import org.apache.pluto.container.om.portlet.PortletApplicationDefinition;
 
 @ApplicationScoped
 public class CDIEventsStore {
 
-   public static ArrayList<PortletCDIEvent>                CDIEventBus   = new ArrayList<PortletCDIEvent>();
+   public static final QName CDI_EVENT_QNAME = new QName("javax.portlet.cdi.event", "javax.portlet.cdi.event");
+   public static List<PortletCDIEvent>                CDIEventBus   = Collections.synchronizedList(new ArrayList<PortletCDIEvent>());
    public static boolean                                   firedFromBeanManager = false;
-   public static Map<PortletApplicationDefinition, String> portletAdded         = Collections
-         .synchronizedMap(new HashMap<PortletApplicationDefinition, String>());
+   public static Set<PortletApplicationDefinition> CDIPortletEventSubscriberPADList = Collections.synchronizedSet(new HashSet<PortletApplicationDefinition>());
 
    public static synchronized void addEventToEventBus(
          PortletCDIEvent newPortletCDIEvent) {

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/EmptyEvent.java
----------------------------------------------------------------------
diff --git a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/EmptyEvent.java b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/EmptyEvent.java
deleted file mode 100644
index a02e0ae..0000000
--- a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/EmptyEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.apache.pluto.container.bean.processor;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.METHOD;
-
-import javax.inject.Qualifier;
-
-/**
- * An annotation that is used as a qualifier for events fired when
- * a name is added.
- * 
- * @author nick
- *
- */
-/* 
- * Just making a new annotation for our event.
- * What we learn from here is not only implementations
- * but also events can be specified as a Qualifier.
- * To see the usage - See FormController class
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Qualifier
-@Target({FIELD, METHOD, PARAMETER, TYPE})
-public @interface EmptyEvent {}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/MyEmptyEvent.java
----------------------------------------------------------------------
diff --git a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/MyEmptyEvent.java b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/MyEmptyEvent.java
deleted file mode 100644
index 406890e..0000000
--- a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/MyEmptyEvent.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.apache.pluto.container.bean.processor;
-
-import javax.enterprise.util.AnnotationLiteral;
-
-public class MyEmptyEvent extends AnnotationLiteral<EmptyEvent> implements EmptyEvent {
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/MyPortletEvent.java
----------------------------------------------------------------------
diff --git a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/MyPortletEvent.java b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/MyPortletEvent.java
deleted file mode 100644
index 381addb..0000000
--- a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/MyPortletEvent.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.apache.pluto.container.bean.processor;
-
-import javax.enterprise.util.AnnotationLiteral;
-
-public class MyPortletEvent extends AnnotationLiteral<PortletEvent> implements PortletEvent {
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEvent.java
----------------------------------------------------------------------
diff --git a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEvent.java b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEvent.java
index 63d39fb..d7fdd4b 100644
--- a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEvent.java
+++ b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEvent.java
@@ -10,10 +10,11 @@ public class PortletCDIEvent {
    private int          no_of_qualifiers;
    private Object data;
    private String dataType;
+   @SuppressWarnings("rawtypes")
    private Class observerBeanClass;
    private boolean processing;
 
-   public PortletCDIEvent(Set<Annotation> qualifiers, Object data, Class observerBeanClass) {
+   public PortletCDIEvent(Set<Annotation> qualifiers, Object data, @SuppressWarnings("rawtypes") Class observerBeanClass) {
       this.qualifiers = new Annotation[qualifiers.size()];
       int count = 0;
       for(Annotation qualifier : qualifiers){
@@ -47,6 +48,7 @@ public class PortletCDIEvent {
       return dataType;
    }
    
+   @SuppressWarnings("rawtypes")
    public Class getObserverBeanClass() {
       return observerBeanClass;
    }

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEventExtension.java
----------------------------------------------------------------------
diff --git a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEventExtension.java b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEventExtension.java
index 0b62629..d510025 100644
--- a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEventExtension.java
+++ b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletCDIEventExtension.java
@@ -104,7 +104,7 @@ class PortletCDIEventExtension implements Extension {
                }
                
                // Make the @PortletEvent qualifier
-               Annotation portletEventAnnotation = new MyPortletEvent();
+               Annotation portletEventAnnotation = new PortletEventImpl();
 
                // Add @PortletEvent annotation as last qualifier in the linked list
                newAnnotationsList.add(portletEventAnnotation);
@@ -295,8 +295,6 @@ class PortletCDIEventExtension implements Extension {
       
       emptyObserverMethods.clear();
       
-      
-      System.out.println("Finished the scanning process");
       LOG.debug("Finished the scanning process");
    } 
    
@@ -346,7 +344,7 @@ class PortletCDIEventExtension implements Extension {
             @Override
             public void notify(T event) {
                if(!CDIEventsStore.firedFromBeanManager){
-                  annotations.add(new MyPortletEvent());
+                  annotations.add(new PortletEventImpl());
                   CDIEventsStore.addEventToEventBus(new PortletCDIEvent(annotations, (Serializable) event, field.getJavaMember().getDeclaringClass()));
                }
             }

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletEventImpl.java
----------------------------------------------------------------------
diff --git a/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletEventImpl.java b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletEventImpl.java
new file mode 100644
index 0000000..5f7370c
--- /dev/null
+++ b/pluto-container/src/main/java/org/apache/pluto/container/bean/processor/PortletEventImpl.java
@@ -0,0 +1,8 @@
+package org.apache.pluto.container.bean.processor;
+
+import javax.enterprise.util.AnnotationLiteral;
+
+@SuppressWarnings("serial")
+public class PortletEventImpl extends AnnotationLiteral<PortletEvent> {
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-container/src/main/java/org/apache/pluto/container/impl/StateAwareResponseImpl.java
----------------------------------------------------------------------
diff --git a/pluto-container/src/main/java/org/apache/pluto/container/impl/StateAwareResponseImpl.java b/pluto-container/src/main/java/org/apache/pluto/container/impl/StateAwareResponseImpl.java
index ea878e4..488e14a 100644
--- a/pluto-container/src/main/java/org/apache/pluto/container/impl/StateAwareResponseImpl.java
+++ b/pluto-container/src/main/java/org/apache/pluto/container/impl/StateAwareResponseImpl.java
@@ -38,6 +38,8 @@ import org.apache.pluto.container.PortletStateAwareResponseContext;
 import org.apache.pluto.container.PortletWindow;
 import org.apache.pluto.container.util.ArgumentUtility;
 
+import static org.apache.pluto.container.bean.processor.CDIEventsStore.CDI_EVENT_QNAME;
+
 /**
  * Implementation of JSR-286 <code>StateAwareResponse</code>.
  * 
@@ -99,7 +101,6 @@ public abstract class StateAwareResponseImpl extends PortletResponseImpl
       ArgumentUtility.validateNotNull("qname", qname);
       Event event = null;
       
-      QName CDI_EVENT_QNAME = new QName("javax.portlet.cdi.event", "javax.portlet.cdi.event");
       if(qname.equals(CDI_EVENT_QNAME)){
          event = responseContext.getEventProvider()
                .createCDIEvent(qname, value);

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/99629609/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java
----------------------------------------------------------------------
diff --git a/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java b/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java
index b62b1b2..9daa036 100644
--- a/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java
+++ b/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java
@@ -24,13 +24,8 @@ import java.util.Collection;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map.Entry;
 import java.util.Set;
 
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.ObserverMethod;
-import javax.inject.Inject;
 import javax.portlet.Event;
 import javax.portlet.PortletException;
 import javax.servlet.ServletContext;
@@ -50,7 +45,6 @@ import org.apache.pluto.container.EventCoordinationService;
 import org.apache.pluto.container.PortletContainer;
 import org.apache.pluto.container.PortletContainerException;
 import org.apache.pluto.container.PortletWindow;
-import org.apache.pluto.container.bean.processor.AnnotatedConfigBean;
 import org.apache.pluto.container.bean.processor.CDIEventsStore;
 import org.apache.pluto.container.bean.processor.PortletCDIEvent;
 import org.apache.pluto.container.driver.PortletContextService;
@@ -69,6 +63,8 @@ import org.apache.pluto.driver.url.PortalURL;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.pluto.container.bean.processor.CDIEventsStore.CDI_EVENT_QNAME;
+
 public class EventCoordinationServiceImpl implements EventCoordinationService {
    
    /** Logger. */
@@ -104,8 +100,6 @@ public class EventCoordinationServiceImpl implements EventCoordinationService {
       // HashMap<String, PortletWindowThread>();
 
       // ThreadGroup threadGroup = new ThreadGroup("FireEventThreads");
-
-      QName CDI_EVENT_QNAME = new QName("javax.portlet.cdi.event", "javax.portlet.cdi.event");
       
       List<Event> cdiEvents = new ArrayList<Event>();
       List<Event> portletEvents = new ArrayList<Event>();
@@ -177,8 +171,6 @@ public class EventCoordinationServiceImpl implements EventCoordinationService {
          }
          for(PortletCDIEvent portletCDIEvent : CDIEventsStore.CDIEventBus){
             if(event.getQName().equals(CDI_EVENT_QNAME) && event.getValue().equals(portletCDIEvent.getData()) && portletCDIEvent.isProcessing()){
-               //System.out.println("Processed event "+ event.getValue().toString());
-               //System.out.println("processed both portlet event so removing event from universal event list.");
                CDIEventsStore.CDIEventBus.remove(portletCDIEvent);
                break;
             }
@@ -209,7 +201,6 @@ public class EventCoordinationServiceImpl implements EventCoordinationService {
          if (xml != null) {
             // XMLStreamReader xml = (XMLStreamReader) event.getValue();
             // provider.getEventDefinition(event.getQName());
-            QName CDI_EVENT_QNAME = new QName("javax.portlet.cdi.event", "javax.portlet.cdi.event");
             if(!event.getQName().equals(CDI_EVENT_QNAME)){
                try {
                   // now test if object is jaxb