You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2014/07/04 01:17:53 UTC

svn commit: r1607767 - in /openwebbeans/trunk: webbeans-impl/src/main/java/org/apache/webbeans/container/ webbeans-impl/src/main/resources/META-INF/services/ webbeans-impl/src/test/java/org/apache/webbeans/container/ webbeans-tck/

Author: rmannibucau
Date: Thu Jul  3 23:17:53 2014
New Revision: 1607767

URL: http://svn.apache.org/r1607767
Log:
basic CDI implementation, mainly only allows to get the bean manager (Instance contract is not that respected)

Added:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDI.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDIProvider.java
    openwebbeans/trunk/webbeans-impl/src/main/resources/META-INF/services/
    openwebbeans/trunk/webbeans-impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.CDIProvider
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/container/
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/container/OwbCDIProviderTest.java
Modified:
    openwebbeans/trunk/webbeans-tck/testng-dev.xml

Added: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDI.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDI.java?rev=1607767&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDI.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDI.java Thu Jul  3 23:17:53 2014
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.container;
+
+import org.apache.webbeans.component.InstanceBean;
+import org.apache.webbeans.config.WebBeansContext;
+import org.apache.webbeans.context.creational.CreationalContextImpl;
+import org.apache.webbeans.inject.instance.InstanceImpl;
+
+import javax.enterprise.inject.Instance;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.CDI;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.util.TypeLiteral;
+import javax.inject.Inject;
+import java.lang.annotation.Annotation;
+import java.util.Iterator;
+
+public class OwbCDI extends CDI<Object>
+{
+    @Inject
+    private Instance<Object> injectionPoint;
+
+    private WebBeansContext getWebBeansContext()
+    {
+        return WebBeansContext.currentInstance();
+    }
+
+    protected Instance<Object> instance()
+    {
+        final WebBeansContext webBeansContext = getWebBeansContext();
+        final BeanManagerImpl bm = webBeansContext.getBeanManagerImpl();
+        final CreationalContextImpl<Instance<Object>> creationalContext = bm.createCreationalContext(null);
+        final InjectionPoint injectionPoint1 = bm.createInjectionTarget(bm.createAnnotatedType(OwbCDI.class)).getInjectionPoints().iterator().next();
+        creationalContext.putInjectionPoint(injectionPoint1);
+        return new InstanceBean<Object>(webBeansContext).create(creationalContext);
+    }
+
+    @Override
+    public BeanManager getBeanManager()
+    {
+        return getWebBeansContext().getBeanManagerImpl();
+    }
+
+    @Override
+    public Instance<Object> select(final Annotation... qualifiers)
+    {
+        return instance().select(qualifiers);
+    }
+
+    @Override
+    public boolean isUnsatisfied()
+    {
+        return instance().isUnsatisfied();
+    }
+
+    @Override
+    public boolean isAmbiguous()
+    {
+        return instance().isAmbiguous();
+    }
+
+    @Override
+    public void destroy(final Object instance)
+    {
+        InstanceImpl.class.cast(instance).destroy(instance);
+    }
+
+    @Override
+    public <U extends Object> Instance<U> select(final TypeLiteral<U> subtype, final Annotation... qualifiers)
+    {
+        return instance().select(subtype, qualifiers);
+    }
+
+    @Override
+    public <U extends Object> Instance<U> select(final Class<U> subtype, final Annotation... qualifiers)
+    {
+        return instance().select(subtype, qualifiers);
+    }
+
+    @Override
+    public Iterator<Object> iterator()
+    {
+        return instance().iterator();
+    }
+
+    @Override
+    public Object get()
+    {
+        return instance().get();
+    }
+}

Added: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDIProvider.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDIProvider.java?rev=1607767&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDIProvider.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/OwbCDIProvider.java Thu Jul  3 23:17:53 2014
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.container;
+
+import javax.enterprise.inject.spi.CDI;
+import javax.enterprise.inject.spi.CDIProvider;
+
+public class OwbCDIProvider implements CDIProvider
+{
+    private static final OwbCDI OWB_CDI = new OwbCDI();
+
+    @Override
+    public CDI<Object> getCDI()
+    {
+        return OWB_CDI;
+    }
+}

Added: openwebbeans/trunk/webbeans-impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.CDIProvider
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.CDIProvider?rev=1607767&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.CDIProvider (added)
+++ openwebbeans/trunk/webbeans-impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.CDIProvider Thu Jul  3 23:17:53 2014
@@ -0,0 +1,17 @@
+#Licensed to the Apache Software Foundation (ASF) under one
+#or more contributor license agreements.  See the NOTICE file
+#distributed with this work for additional information
+#regarding copyright ownership.  The ASF licenses this file
+#to you under the Apache License, Version 2.0 (the
+#"License"); you may not use this file except in compliance
+#with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+#Unless required by applicable law or agreed to in writing,
+#software distributed under the License is distributed on an
+#"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#KIND, either express or implied.  See the License for the
+#specific language governing permissions and limitations
+#under the License.
+org.apache.webbeans.container.OwbCDIProvider

Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/container/OwbCDIProviderTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/container/OwbCDIProviderTest.java?rev=1607767&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/container/OwbCDIProviderTest.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/container/OwbCDIProviderTest.java Thu Jul  3 23:17:53 2014
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.container;
+
+import org.apache.webbeans.test.AbstractUnitTest;
+import org.junit.Test;
+
+import javax.enterprise.inject.spi.CDI;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+public class OwbCDIProviderTest extends AbstractUnitTest
+{
+    @Test
+    public void run()
+    {
+        startContainer(OwbCDIProviderTest.class);
+        assertNotNull(CDI.current());
+        assertNotNull(CDI.current().getBeanManager());
+        assertFalse(CDI.current().isUnsatisfied());
+        assertTrue(CDI.current().isAmbiguous());
+    }
+}

Modified: openwebbeans/trunk/webbeans-tck/testng-dev.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-tck/testng-dev.xml?rev=1607767&r1=1607766&r2=1607767&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-tck/testng-dev.xml (original)
+++ openwebbeans/trunk/webbeans-tck/testng-dev.xml Thu Jul  3 23:17:53 2014
@@ -18,7 +18,7 @@
 <suite name="JSR-346-TCK" verbose="2" configfailurepolicy="continue">
   <test name="JSR-346 TCK">
     <classes>
-      <class name="org.jboss.cdi.tck.tests.event.resolve.typeWithParameters.CheckTypeParametersWhenResolvingObserversTest" />
+      <class name="org.jboss.cdi.tck.tests.decorators.interceptor.DecoratorAndInterceptorTest" />
       <!--
       <class name="org.jboss.cdi.tck.tests.event.parameterized.ParameterizedEventTest" />
       <class name="org.jboss.cdi.tck.tests.event.fires.FireEventTest" />