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