You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by gp...@apache.org on 2012/03/20 02:02:13 UTC

[1/2] git commit: DELTASPIKE-116 tests for @ConfigProperty

Updated Branches:
  refs/heads/master 7f880cd71 -> b71dd1708


DELTASPIKE-116 tests for @ConfigProperty


Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/b71dd170
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/b71dd170
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/b71dd170

Branch: refs/heads/master
Commit: b71dd1708c29c498da60a0eba78e96ec360c5500
Parents: 9372b2c
Author: gpetracek <gp...@apache.org>
Authored: Tue Mar 20 01:52:30 2012 +0100
Committer: gpetracek <gp...@apache.org>
Committed: Tue Mar 20 01:52:30 2012 +0100

----------------------------------------------------------------------
 .../CustomConfigAnnotationWithMetaData.java        |   47 ++++++++
 ...gAnnotationWithMetaDataWithCustomConverter.java |   47 ++++++++
 .../CustomInverseStringToIntegerConverter.java     |   58 ++++++++++
 .../CustomInverseStringToLongConverter.java        |   58 ++++++++++
 .../injectable/InjectableConfigPropertyTest.java   |   85 +++++++++++++++
 .../core/api/config/injectable/SettingsBean.java   |   76 +++++++++++++
 .../injectable/SimpleCustomConfigAnnotation.java   |   44 ++++++++
 .../META-INF/apache-deltaspike.properties          |    3 +
 .../test.javax.enterprise.inject.spi.Extension     |    3 +-
 9 files changed, 420 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/b71dd170/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomConfigAnnotationWithMetaData.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomConfigAnnotationWithMetaData.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomConfigAnnotationWithMetaData.java
new file mode 100644
index 0000000..ee8399e
--- /dev/null
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomConfigAnnotationWithMetaData.java
@@ -0,0 +1,47 @@
+/*
+ * 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.deltaspike.test.core.api.config.injectable;
+
+import org.apache.deltaspike.core.api.config.ConfigProperty;
+
+import javax.enterprise.util.Nonbinding;
+import javax.inject.Qualifier;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Target({ PARAMETER, FIELD, METHOD, CONSTRUCTOR, ANNOTATION_TYPE })
+@Retention(RUNTIME)
+@Documented
+
+@ConfigProperty(name = "configProperty2")
+
+@Qualifier
+public @interface CustomConfigAnnotationWithMetaData
+{
+    @Nonbinding
+    boolean inverseConvert() default false;
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/b71dd170/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomConfigAnnotationWithMetaDataWithCustomConverter.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomConfigAnnotationWithMetaDataWithCustomConverter.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomConfigAnnotationWithMetaDataWithCustomConverter.java
new file mode 100644
index 0000000..85ecdfb
--- /dev/null
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomConfigAnnotationWithMetaDataWithCustomConverter.java
@@ -0,0 +1,47 @@
+/*
+ * 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.deltaspike.test.core.api.config.injectable;
+
+import org.apache.deltaspike.core.api.config.ConfigProperty;
+
+import javax.enterprise.util.Nonbinding;
+import javax.inject.Qualifier;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Target({ PARAMETER, FIELD, METHOD, CONSTRUCTOR, ANNOTATION_TYPE })
+@Retention(RUNTIME)
+@Documented
+
+@ConfigProperty(name = "configProperty1", converter = CustomInverseStringToIntegerConverter.class)
+
+@Qualifier
+public @interface CustomConfigAnnotationWithMetaDataWithCustomConverter
+{
+    @Nonbinding
+    boolean inverseConvert() default false;
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/b71dd170/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomInverseStringToIntegerConverter.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomInverseStringToIntegerConverter.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomInverseStringToIntegerConverter.java
new file mode 100644
index 0000000..c25bcbc
--- /dev/null
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomInverseStringToIntegerConverter.java
@@ -0,0 +1,58 @@
+/*
+ * 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.deltaspike.test.core.api.config.injectable;
+
+import org.apache.deltaspike.core.api.converter.ConverterException;
+import org.apache.deltaspike.core.api.converter.MetaDataAwareConverter;
+
+import javax.enterprise.inject.Typed;
+
+@Typed
+public class CustomInverseStringToIntegerConverter
+    implements MetaDataAwareConverter<String, Integer, CustomConfigAnnotationWithMetaDataWithCustomConverter>
+{
+    @Override
+    public Integer convert(String source, CustomConfigAnnotationWithMetaDataWithCustomConverter metaData)
+    {
+        if (source == null || "".equals(source))
+        {
+            return 0;
+        }
+
+        try
+        {
+            Integer result = Integer.parseInt(source);
+            if (metaData.inverseConvert())
+            {
+                return result * -1;
+            }
+            return result;
+        }
+        catch (NumberFormatException e)
+        {
+            throw new ConverterException(String.class, Long.class, e);
+        }
+    }
+
+    @Override
+    public Integer convert(String source)
+    {
+        throw new IllegalStateException("not implemented");
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/b71dd170/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomInverseStringToLongConverter.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomInverseStringToLongConverter.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomInverseStringToLongConverter.java
new file mode 100644
index 0000000..49539a5
--- /dev/null
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/CustomInverseStringToLongConverter.java
@@ -0,0 +1,58 @@
+/*
+ * 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.deltaspike.test.core.api.config.injectable;
+
+import org.apache.deltaspike.core.api.converter.ConverterException;
+import org.apache.deltaspike.core.api.converter.MetaDataAwareConverter;
+
+import javax.enterprise.context.Dependent;
+
+@Dependent
+public class CustomInverseStringToLongConverter
+    implements MetaDataAwareConverter<String, Long, CustomConfigAnnotationWithMetaData>
+{
+    @Override
+    public Long convert(String source, CustomConfigAnnotationWithMetaData metaData)
+    {
+        if (source == null || "".equals(source))
+        {
+            return 0L;
+        }
+
+        try
+        {
+            Long result = Long.parseLong(source);
+            if (metaData.inverseConvert())
+            {
+                return result * -1;
+            }
+            return result;
+        }
+        catch (NumberFormatException e)
+        {
+            throw new ConverterException(String.class, Long.class, e);
+        }
+    }
+
+    @Override
+    public Long convert(String source)
+    {
+        throw new IllegalStateException("not implemented");
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/b71dd170/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/InjectableConfigPropertyTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/InjectableConfigPropertyTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/InjectableConfigPropertyTest.java
new file mode 100644
index 0000000..b0e25bd
--- /dev/null
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/InjectableConfigPropertyTest.java
@@ -0,0 +1,85 @@
+/*
+ * 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.deltaspike.test.core.api.config.injectable;
+
+import org.apache.deltaspike.core.api.provider.BeanManagerProvider;
+import org.apache.deltaspike.core.api.provider.BeanProvider;
+import org.apache.deltaspike.test.category.SeCategory;
+import org.apache.deltaspike.test.core.api.temptestutil.ShrinkWrapArchiveUtil;
+import org.apache.deltaspike.test.util.FileUtils;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+import java.net.URL;
+
+@RunWith(Arquillian.class)
+@Category(SeCategory.class)
+public class InjectableConfigPropertyTest
+{
+    /**
+     *X TODO creating a WebArchive is only a workaround because JavaArchive cannot contain other archives.
+     */
+    @Deployment
+    public static WebArchive deploy()
+    {
+        new BeanManagerProvider() {
+            @Override
+            public void setTestMode()
+            {
+                super.setTestMode();
+            }
+        }.setTestMode();
+
+        URL fileUrl = InjectableConfigPropertyTest.class.getClassLoader()
+                .getResource("META-INF/apache-deltaspike.properties");
+
+        JavaArchive testJar = ShrinkWrap.create(JavaArchive.class, "injectableConfigPropertyTest.jar")
+                .addPackage("org.apache.deltaspike.test.core.api.config.injectable")
+                .addPackage("org.apache.deltaspike.test.category")
+                .addAsManifestResource(FileUtils.getFileForURL(fileUrl.toString()))
+                .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
+
+        return ShrinkWrap.create(WebArchive.class, "beanProvider.war")
+                .addAsLibraries(ShrinkWrapArchiveUtil.getArchives(null,
+                        "META-INF/beans.xml",
+                        new String[]{"org.apache.deltaspike.core"},
+                        null))
+                .addAsLibraries(testJar)
+                .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
+    }
+
+    @Test
+    public void injectionViaConfigProperty()
+    {
+        SettingsBean settingsBean = BeanProvider.getContextualReference(SettingsBean.class, false);
+
+        Assert.assertEquals(14, settingsBean.getProperty1());
+        Assert.assertEquals(7L, settingsBean.getProperty2());
+        Assert.assertEquals(-14, settingsBean.getInverseProperty1());
+        Assert.assertEquals(-7L, settingsBean.getInverseProperty2());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/b71dd170/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/SettingsBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/SettingsBean.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/SettingsBean.java
new file mode 100644
index 0000000..5c49f0a
--- /dev/null
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/SettingsBean.java
@@ -0,0 +1,76 @@
+/*
+ * 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.deltaspike.test.core.api.config.injectable;
+
+import org.apache.deltaspike.core.api.config.ConfigProperty;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+
+@ApplicationScoped
+public class SettingsBean
+{
+    @Inject
+    @ConfigProperty(name = "configProperty1")
+    private Integer intProperty1;
+
+    private Long property2;
+
+    @Inject
+    @CustomConfigAnnotationWithMetaDataWithCustomConverter(inverseConvert = true)
+    private Integer inverseProperty1;
+
+    private Long inverseProperty2;
+
+    protected SettingsBean()
+    {
+    }
+
+    @Inject
+    public SettingsBean(@SimpleCustomConfigAnnotation Long property2)
+    {
+        this.property2 = property2;
+    }
+
+    @Inject
+    protected void init(@CustomConfigAnnotationWithMetaData(inverseConvert = true) Long inverseProperty)
+    {
+        this.inverseProperty2 = inverseProperty;
+    }
+
+    int getProperty1()
+    {
+        return intProperty1;
+    }
+
+    long getProperty2()
+    {
+        return property2;
+    }
+
+    int getInverseProperty1()
+    {
+        return inverseProperty1;
+    }
+
+    long getInverseProperty2()
+    {
+        return inverseProperty2;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/b71dd170/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/SimpleCustomConfigAnnotation.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/SimpleCustomConfigAnnotation.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/SimpleCustomConfigAnnotation.java
new file mode 100644
index 0000000..def40d8
--- /dev/null
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/config/injectable/SimpleCustomConfigAnnotation.java
@@ -0,0 +1,44 @@
+/*
+ * 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.deltaspike.test.core.api.config.injectable;
+
+import org.apache.deltaspike.core.api.config.ConfigProperty;
+
+import javax.inject.Qualifier;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Target({ PARAMETER, FIELD, METHOD, CONSTRUCTOR, ANNOTATION_TYPE })
+@Retention(RUNTIME)
+@Documented
+
+@ConfigProperty(name = "configProperty2")
+
+@Qualifier
+public @interface SimpleCustomConfigAnnotation
+{
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/b71dd170/deltaspike/core/impl/src/test/resources/META-INF/apache-deltaspike.properties
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/resources/META-INF/apache-deltaspike.properties b/deltaspike/core/impl/src/test/resources/META-INF/apache-deltaspike.properties
index 6d43562..2afad36 100644
--- a/deltaspike/core/impl/src/test/resources/META-INF/apache-deltaspike.properties
+++ b/deltaspike/core/impl/src/test/resources/META-INF/apache-deltaspike.properties
@@ -24,3 +24,6 @@ org.apache.deltaspike.test.core.api.alternative.global.BaseBean1=org.apache.delt
 org.apache.deltaspike.test.core.api.alternative.global.BaseInterface1=org.apache.deltaspike.test.core.api.alternative.global.BaseInterface1AlternativeImplementation
 
 org.apache.deltaspike.test.core.api.alternative.global.qualifier.BaseInterface=org.apache.deltaspike.test.core.api.alternative.global.qualifier.AlternativeBaseBeanB
+
+configProperty1=14
+configProperty2=7

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/b71dd170/deltaspike/core/integration-test/src/test/resources/META-INF/services/test.javax.enterprise.inject.spi.Extension
----------------------------------------------------------------------
diff --git a/deltaspike/core/integration-test/src/test/resources/META-INF/services/test.javax.enterprise.inject.spi.Extension b/deltaspike/core/integration-test/src/test/resources/META-INF/services/test.javax.enterprise.inject.spi.Extension
index c190cda..fdce9cd 100644
--- a/deltaspike/core/integration-test/src/test/resources/META-INF/services/test.javax.enterprise.inject.spi.Extension
+++ b/deltaspike/core/integration-test/src/test/resources/META-INF/services/test.javax.enterprise.inject.spi.Extension
@@ -18,4 +18,5 @@
 #####################################################################################
 
 org.apache.deltaspike.core.api.provider.BeanManagerProvider
-org.apache.deltaspike.core.impl.exclude.ExcludeExtension
\ No newline at end of file
+org.apache.deltaspike.core.impl.exclude.ExcludeExtension
+org.apache.deltaspike.core.impl.config.injectable.ConfigPropertyExtension
\ No newline at end of file