You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2010/09/03 10:26:59 UTC
svn commit: r992229 - in /openwebbeans/trunk/webbeans-impl/src/test:
java/org/apache/webbeans/newtests/decorators/simple/
resources/org/apache/webbeans/newtests/decorators/simple/
Author: gerdogdu
Date: Fri Sep 3 08:26:59 2010
New Revision: 992229
URL: http://svn.apache.org/viewvc?rev=992229&view=rev
Log:
New tests shows the Injectionpoint.isDelegate for decorator delegate injection points.
Added:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/ILog.java (with props)
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/LogDecorator.java (with props)
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/MyLog.java (with props)
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.java (with props)
openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/decorators/simple/
openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.xml (with props)
Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/ILog.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/ILog.java?rev=992229&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/ILog.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/ILog.java Fri Sep 3 08:26:59 2010
@@ -0,0 +1,24 @@
+/*
+ * 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.newtests.decorators.simple;
+
+public interface ILog
+{
+ public void log(String logMessage);
+}
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/ILog.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/ILog.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/LogDecorator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/LogDecorator.java?rev=992229&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/LogDecorator.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/LogDecorator.java Fri Sep 3 08:26:59 2010
@@ -0,0 +1,40 @@
+/*
+ * 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.newtests.decorators.simple;
+
+import javax.decorator.Decorator;
+import javax.decorator.Delegate;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+@Named("org.apache.webbeans.newtests.decorators.simple.LogDecorator")
+@Decorator
+public class LogDecorator implements ILog{
+
+ public static String MESSAGE = "";
+ private @Inject @Delegate ILog ilog;
+
+ @Override
+ public void log(String logMessage)
+ {
+ MESSAGE = logMessage;
+ ilog.log(logMessage);
+ }
+
+}
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/LogDecorator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/LogDecorator.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/MyLog.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/MyLog.java?rev=992229&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/MyLog.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/MyLog.java Fri Sep 3 08:26:59 2010
@@ -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.newtests.decorators.simple;
+
+import javax.inject.Named;
+
+@Named("org.apache.webbeans.newtests.decorators.simple.MyLog")
+public class MyLog implements ILog
+{
+
+ @Override
+ public void log(String logMessage)
+ {
+ System.out.println(logMessage);
+ }
+
+}
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/MyLog.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/MyLog.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.java?rev=992229&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.java Fri Sep 3 08:26:59 2010
@@ -0,0 +1,73 @@
+/*
+ * 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.newtests.decorators.simple;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.Decorator;
+import javax.enterprise.inject.spi.InjectionPoint;
+
+import org.apache.webbeans.newtests.AbstractUnitTest;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class SimpleDecoratorTest extends AbstractUnitTest
+{
+ public static final String PACKAGE_NAME = SimpleDecoratorTest.class.getPackage().getName();
+
+ @Test
+ public void testSimpleDecorator()
+ {
+ Collection<Class<?>> classes = new ArrayList<Class<?>>();
+ classes.add(LogDecorator.class);
+ classes.add(MyLog.class);
+
+
+ Collection<URL> xmls = new ArrayList<URL>();
+ xmls.add(getXMLUrl(PACKAGE_NAME, "SimpleDecoratorTest"));
+
+ startContainer(classes, xmls);
+
+ Set<Type> types = new LinkedHashSet<Type>();
+ types.add(ILog.class);
+
+ Decorator<?> decorator = getBeanManager().resolveDecorators(types, new Annotation[0]).iterator().next();
+ InjectionPoint injectionPoint = decorator.getInjectionPoints().iterator().next();
+
+ //Check that injection point is delegate
+ Assert.assertTrue(injectionPoint.isDelegate());
+
+ Bean<?> bean = getBeanManager().getBeans("org.apache.webbeans.newtests.decorators.simple.MyLog").iterator().next();
+
+ ILog ilog = (ILog) getBeanManager().getReference(bean, ILog.class, getBeanManager().createCreationalContext(bean));
+ ilog.log("DELEGATE TEST");
+
+ //Check that decorator is called succesfully
+ Assert.assertEquals("DELEGATE TEST", LogDecorator.MESSAGE);
+
+ shutDownContainer();
+ }
+}
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.xml?rev=992229&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.xml (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.xml Fri Sep 3 08:26:59 2010
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+<beans>
+ <decorators>
+ <class>org.apache.webbeans.newtests.decorators.simple.LogDecorator</class>
+ </decorators>
+</beans>
\ No newline at end of file
Propchange: openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/decorators/simple/SimpleDecoratorTest.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain