Weld SVN: r4817 - in cdi-tck/trunk: api and 2 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-08 19:41:28 -0500 (Sun, 08 Nov 2009)
New Revision: 4817
Modified:
cdi-tck/trunk/api/pom.xml
cdi-tck/trunk/doc/reference/pom.xml
cdi-tck/trunk/impl/pom.xml
cdi-tck/trunk/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: cdi-tck/trunk/api/pom.xml
===================================================================
--- cdi-tck/trunk/api/pom.xml 2009-11-09 00:41:17 UTC (rev 4816)
+++ cdi-tck/trunk/api/pom.xml 2009-11-09 00:41:28 UTC (rev 4817)
@@ -23,7 +23,7 @@
<parent>
<groupId>org.jboss.jsr299.tck</groupId>
<artifactId>jsr299-tck-parent</artifactId>
- <version>1.0.0-CR7</version>
+ <version>1.0.0-SNAPSHOT</version>
</parent>
<groupId>org.jboss.jsr299.tck</groupId>
Modified: cdi-tck/trunk/doc/reference/pom.xml
===================================================================
--- cdi-tck/trunk/doc/reference/pom.xml 2009-11-09 00:41:17 UTC (rev 4816)
+++ cdi-tck/trunk/doc/reference/pom.xml 2009-11-09 00:41:28 UTC (rev 4817)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.jboss.jsr299.tck</groupId>
<artifactId>jsr299-tck-parent</artifactId>
- <version>1.0.0-CR7</version>
+ <version>1.0.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -61,9 +61,9 @@
</build>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7</developerConnection>
- <url>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/tags/jsr299-tck-referenc...</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/cdi-tck/trunk</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/trunk</developerConnection>
+ <url>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/trunk/jsr299-tck-referen...</url>
</scm>
</project>
Modified: cdi-tck/trunk/impl/pom.xml
===================================================================
--- cdi-tck/trunk/impl/pom.xml 2009-11-09 00:41:17 UTC (rev 4816)
+++ cdi-tck/trunk/impl/pom.xml 2009-11-09 00:41:28 UTC (rev 4817)
@@ -3,7 +3,7 @@
<parent>
<artifactId>jsr299-tck-parent</artifactId>
<groupId>org.jboss.jsr299.tck</groupId>
- <version>1.0.0-CR7</version>
+ <version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.jsr299.tck</groupId>
Modified: cdi-tck/trunk/pom.xml
===================================================================
--- cdi-tck/trunk/pom.xml 2009-11-09 00:41:17 UTC (rev 4816)
+++ cdi-tck/trunk/pom.xml 2009-11-09 00:41:28 UTC (rev 4817)
@@ -4,7 +4,7 @@
<groupId>org.jboss.jsr299.tck</groupId>
<artifactId>jsr299-tck-parent</artifactId>
<packaging>pom</packaging>
- <version>1.0.0-CR7</version>
+ <version>1.0.0-SNAPSHOT</version>
<name>CDI TCK</name>
<parent>
@@ -303,11 +303,11 @@
</build>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7</connection>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/cdi-tck/trunk</connection>
<developerConnection>
- scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7
+ scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/trunk
</developerConnection>
- <url>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7</url>
+ <url>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/trunk</url>
</scm>
<profiles>
15 years
Weld SVN: r4816 - cdi-tck/tags.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-08 19:41:17 -0500 (Sun, 08 Nov 2009)
New Revision: 4816
Added:
cdi-tck/tags/1.0.0-CR7/
Log:
[maven-scm] copy for tag 1.0.0-CR7
Copied: cdi-tck/tags/1.0.0-CR7 (from rev 4815, cdi-tck/trunk)
15 years
Weld SVN: r4815 - in cdi-tck/trunk: api and 2 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-08 19:41:00 -0500 (Sun, 08 Nov 2009)
New Revision: 4815
Modified:
cdi-tck/trunk/api/pom.xml
cdi-tck/trunk/doc/reference/pom.xml
cdi-tck/trunk/impl/pom.xml
cdi-tck/trunk/pom.xml
Log:
[maven-release-plugin] prepare release 1.0.0-CR7
Modified: cdi-tck/trunk/api/pom.xml
===================================================================
--- cdi-tck/trunk/api/pom.xml 2009-11-09 00:33:12 UTC (rev 4814)
+++ cdi-tck/trunk/api/pom.xml 2009-11-09 00:41:00 UTC (rev 4815)
@@ -23,7 +23,7 @@
<parent>
<groupId>org.jboss.jsr299.tck</groupId>
<artifactId>jsr299-tck-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-CR7</version>
</parent>
<groupId>org.jboss.jsr299.tck</groupId>
Modified: cdi-tck/trunk/doc/reference/pom.xml
===================================================================
--- cdi-tck/trunk/doc/reference/pom.xml 2009-11-09 00:33:12 UTC (rev 4814)
+++ cdi-tck/trunk/doc/reference/pom.xml 2009-11-09 00:41:00 UTC (rev 4815)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.jboss.jsr299.tck</groupId>
<artifactId>jsr299-tck-parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-CR7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -61,9 +61,9 @@
</build>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/cdi-tck/trunk</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/trunk</developerConnection>
- <url>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/trunk/jsr299-tck-referen...</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7</developerConnection>
+ <url>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/tags/jsr299-tck-referenc...</url>
</scm>
</project>
Modified: cdi-tck/trunk/impl/pom.xml
===================================================================
--- cdi-tck/trunk/impl/pom.xml 2009-11-09 00:33:12 UTC (rev 4814)
+++ cdi-tck/trunk/impl/pom.xml 2009-11-09 00:41:00 UTC (rev 4815)
@@ -3,7 +3,7 @@
<parent>
<artifactId>jsr299-tck-parent</artifactId>
<groupId>org.jboss.jsr299.tck</groupId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-CR7</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.jsr299.tck</groupId>
Modified: cdi-tck/trunk/pom.xml
===================================================================
--- cdi-tck/trunk/pom.xml 2009-11-09 00:33:12 UTC (rev 4814)
+++ cdi-tck/trunk/pom.xml 2009-11-09 00:41:00 UTC (rev 4815)
@@ -4,7 +4,7 @@
<groupId>org.jboss.jsr299.tck</groupId>
<artifactId>jsr299-tck-parent</artifactId>
<packaging>pom</packaging>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0-CR7</version>
<name>CDI TCK</name>
<parent>
@@ -303,11 +303,11 @@
</build>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/cdi-tck/trunk</connection>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7</connection>
<developerConnection>
- scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/trunk
+ scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7
</developerConnection>
- <url>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/trunk</url>
+ <url>scm:svn:https://svn.jboss.org/repos/weld/cdi-tck/tags/1.0.0-CR7</url>
</scm>
<profiles>
15 years
Weld SVN: r4814 - cdi-tck/trunk/impl/src/main/resources.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-08 19:33:12 -0500 (Sun, 08 Nov 2009)
New Revision: 4814
Modified:
cdi-tck/trunk/impl/src/main/resources/tck-tests.xml
Log:
remove exclusion of ri-broken, jboss-as-broken tests
Modified: cdi-tck/trunk/impl/src/main/resources/tck-tests.xml
===================================================================
--- cdi-tck/trunk/impl/src/main/resources/tck-tests.xml 2009-11-09 00:28:19 UTC (rev 4813)
+++ cdi-tck/trunk/impl/src/main/resources/tck-tests.xml 2009-11-09 00:33:12 UTC (rev 4814)
@@ -9,8 +9,6 @@
</method-selectors>
<groups>
<run>
- <exclude name="ri-broken" />
- <exclude name="jboss-as-broken" />
<exclude name="broken" />
</run>
</groups>
15 years
Weld SVN: r4813 - cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-08 19:28:19 -0500 (Sun, 08 Nov 2009)
New Revision: 4813
Added:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext/PersistenceContextDesctructionTest.java
Modified:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext/PersistenceContextInjectionTest.java
Log:
remove ordering problem
Added: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext/PersistenceContextDesctructionTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext/PersistenceContextDesctructionTest.java (rev 0)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext/PersistenceContextDesctructionTest.java 2009-11-09 00:28:19 UTC (rev 4813)
@@ -0,0 +1,49 @@
+package org.jboss.jsr299.tck.tests.implementation.simple.resource.persistenceContext;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.persistence.EntityManager;
+
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+import org.jboss.test.audit.annotations.SpecVersion;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.IntegrationTest;
+import org.jboss.testharness.impl.packaging.Packaging;
+import org.jboss.testharness.impl.packaging.PackagingType;
+import org.jboss.testharness.impl.packaging.Resource;
+import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
+import org.testng.annotations.Test;
+
+/**
+ * Injection of persistence related objects.
+ *
+ * @author David Allen
+ */
+@Artifact
+(a)Packaging(PackagingType.WAR)
+@IntegrationTest
+@Resource(source = "persistence.xml", destination = "WEB-INF/classes/META-INF/persistence.xml")
+//@PersistenceXml("persistence.xml")
+@BeansXml("beans.xml")
+@SpecVersion(spec="cdi", version="20091101")
+public class PersistenceContextDesctructionTest extends AbstractJSR299Test
+{
+
+ @Test(groups = { "beanLifecycle", "commonAnnotations", "integration" })
+ @SpecAssertions( {
+ @SpecAssertion(section="7.3.6", id = "nb")
+ })
+ public void testDestructionOfPersistenceContext() throws Exception
+ {
+ Bean<ManagedBean> managedBean = getBeans(ManagedBean.class).iterator().next();
+ CreationalContext<ManagedBean> creationalContext = getCurrentManager().createCreationalContext(managedBean);
+ ManagedBean instance = managedBean.create(creationalContext);
+ EntityManager em = instance.getPersistenceContext();
+ assert em.isOpen();
+ managedBean.destroy(instance, creationalContext);
+ assert !em.isOpen();
+ }
+
+}
Property changes on: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext/PersistenceContextDesctructionTest.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext/PersistenceContextInjectionTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext/PersistenceContextInjectionTest.java 2009-11-09 00:27:47 UTC (rev 4812)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/resource/persistenceContext/PersistenceContextInjectionTest.java 2009-11-09 00:28:19 UTC (rev 4813)
@@ -78,21 +78,6 @@
@Test(groups = { "beanLifecycle", "commonAnnotations", "integration" })
@SpecAssertions( {
- @SpecAssertion(section="7.3.6", id = "nb")
- })
- public void testDestructionOfPersistenceContext() throws Exception
- {
- Bean<ManagedBean> managedBean = getBeans(ManagedBean.class).iterator().next();
- CreationalContext<ManagedBean> creationalContext = getCurrentManager().createCreationalContext(managedBean);
- ManagedBean instance = managedBean.create(creationalContext);
- EntityManager em = instance.getPersistenceContext();
- assert em.isOpen();
- managedBean.destroy(instance, creationalContext);
- assert !em.isOpen();
- }
-
- @Test(groups = { "beanLifecycle", "commonAnnotations", "integration" })
- @SpecAssertions( {
@SpecAssertion(section = "7.3.6", id = "lc"),
@SpecAssertion(section = "7.3.6", id = "mf")
})
15 years
Weld SVN: r4812 - cdi-tck/trunk.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-08 19:27:47 -0500 (Sun, 08 Nov 2009)
New Revision: 4812
Modified:
cdi-tck/trunk/pom.xml
Log:
update versions
Modified: cdi-tck/trunk/pom.xml
===================================================================
--- cdi-tck/trunk/pom.xml 2009-11-09 00:08:10 UTC (rev 4811)
+++ cdi-tck/trunk/pom.xml 2009-11-09 00:27:47 UTC (rev 4812)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-parent</artifactId>
- <version>5</version>
+ <version>6</version>
</parent>
<!-- Metadata -->
@@ -78,9 +78,9 @@
<jboss.test.harness.version>1.1.0-CR3</jboss.test.harness.version>
<testng.version>5.10</testng.version>
<jsr250.api.version>1.0</jsr250.api.version>
- <cdi.api.version>1.0-CR4</cdi.api.version>
+ <cdi.api.version>1.0</cdi.api.version>
<atinject.api.version>1</atinject.api.version>
- <ejb.api.version>3.1.0-Alpha1</ejb.api.version>
+ <ejb.api.version>3.1.0</ejb.api.version>
<jsr250.api.version>1.0</jsr250.api.version>
<jpa.api.version>1.0</jpa.api.version>
<validation.api.version>1.0.0.GA</validation.api.version>
@@ -92,7 +92,7 @@
<uel.api.version>2.1.2-b04</uel.api.version>
<jsf.api.version>1.2_13</jsf.api.version>
<jaxws.api.version>2.1</jaxws.api.version>
- <interceptor.api.version>1.1-CR1</interceptor.api.version>
+ <interceptor.api.version>1.1</interceptor.api.version>
<jws.api.version>1.0-MR1</jws.api.version>
<apache.httpclient.version>3.1</apache.httpclient.version>
<htmlunit.version>2.4</htmlunit.version>
15 years
Weld SVN: r4811 - in core/trunk/impl/src/main: java/org/jboss/weld/bean and 2 other directories.
by weld-commits@lists.jboss.org
Author: dallen6
Date: 2009-11-08 19:08:10 -0500 (Sun, 08 Nov 2009)
New Revision: 4811
Added:
core/trunk/impl/src/main/java/org/jboss/weld/IllegalProductException.java
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java
core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties
Log:
Conversion of exceptions to use localized messages.
Added: core/trunk/impl/src/main/java/org/jboss/weld/IllegalProductException.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/IllegalProductException.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/IllegalProductException.java 2009-11-09 00:08:10 UTC (rev 4811)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat, Inc. and/or its affiliates, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed 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.jboss.weld;
+
+import static org.jboss.weld.logging.LoggerFactory.loggerFactory;
+import ch.qos.cal10n.IMessageConveyor;
+
+/**
+ * An {@link javax.enterprise.inject.IllegalProductException} with support for
+ * localized messages in Weld.
+ *
+ * @author David Allen
+ *
+ */
+public class IllegalProductException extends javax.enterprise.inject.IllegalProductException
+{
+
+ private static final long serialVersionUID = -8200417008899252835L;
+
+ // Exception messages
+ private static final IMessageConveyor messageConveyer = loggerFactory().getMessageConveyor();
+
+ public <E extends Enum<?>> IllegalProductException(E key, Object... args)
+ {
+ super(messageConveyer.getMessage(key, args));
+ }
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/IllegalProductException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java 2009-11-09 00:06:27 UTC (rev 4810)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java 2009-11-09 00:08:10 UTC (rev 4811)
@@ -18,6 +18,16 @@
import static org.jboss.weld.logging.Category.BEAN;
import static org.jboss.weld.logging.LoggerFactory.loggerFactory;
+import static org.jboss.weld.logging.messages.BeanMessage.NON_SERIALIZABLE_CONSTRUCTOR_PARAM_INJECTION_ERROR;
+import static org.jboss.weld.logging.messages.BeanMessage.NON_SERIALIZABLE_FIELD_INJECTION_ERROR;
+import static org.jboss.weld.logging.messages.BeanMessage.NON_SERIALIZABLE_INITIALIZER_PARAM_INJECTION_ERROR;
+import static org.jboss.weld.logging.messages.BeanMessage.NON_SERIALIZABLE_PRODUCER_PARAM_INJECTION_ERROR;
+import static org.jboss.weld.logging.messages.BeanMessage.NON_SERIALIZABLE_PRODUCT_ERROR;
+import static org.jboss.weld.logging.messages.BeanMessage.NULL_NOT_ALLOWED_FROM_PRODUCER;
+import static org.jboss.weld.logging.messages.BeanMessage.ONLY_ONE_SCOPE_ALLOWED;
+import static org.jboss.weld.logging.messages.BeanMessage.PRODUCER_CAST_ERROR;
+import static org.jboss.weld.logging.messages.BeanMessage.RETURN_TYPE_MUST_BE_CONCRETE;
+import static org.jboss.weld.logging.messages.BeanMessage.TYPE_PARAMETER_MUST_BE_CONCRETE;
import static org.jboss.weld.logging.messages.BeanMessage.USING_DEFAULT_SCOPE;
import static org.jboss.weld.logging.messages.BeanMessage.USING_SCOPE;
@@ -36,7 +46,6 @@
import javax.enterprise.context.Dependent;
import javax.enterprise.context.NormalScope;
import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.IllegalProductException;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.inject.spi.Producer;
@@ -45,6 +54,8 @@
import org.jboss.weld.BeanManagerImpl;
import org.jboss.weld.DefinitionException;
+import org.jboss.weld.IllegalProductException;
+import org.jboss.weld.WeldException;
import org.jboss.weld.bootstrap.BeanDeployerEnvironment;
import org.jboss.weld.introspector.WeldMember;
import org.jboss.weld.metadata.cache.MetaAnnotationStore;
@@ -119,7 +130,7 @@
catch (ClassCastException e)
{
Type type = Beans.getDeclaredBeanType(getClass());
- throw new RuntimeException(" Cannot cast producer type " + getAnnotatedItem().getJavaClass() + " to bean type " + (type == null ? " unknown " : type), e);
+ throw new WeldException(PRODUCER_CAST_ERROR, e, getAnnotatedItem().getJavaClass(), (type == null ? " unknown " : type));
}
}
@@ -128,19 +139,16 @@
*/
protected void checkProducerReturnType()
{
- if (getAnnotatedItem().getBaseType() instanceof TypeVariable<?>)
+ if ((getAnnotatedItem().getBaseType() instanceof TypeVariable<?>) ||
+ (getAnnotatedItem().getBaseType() instanceof WildcardType))
{
- throw new DefinitionException("Return type must be concrete " + getAnnotatedItem().getBaseType());
+ throw new DefinitionException(RETURN_TYPE_MUST_BE_CONCRETE, getAnnotatedItem().getBaseType());
}
- if (getAnnotatedItem().getBaseType() instanceof WildcardType)
- {
- throw new DefinitionException("Return type must be concrete " + getAnnotatedItem().getBaseType());
- }
for (Type type : getAnnotatedItem().getActualTypeArguments())
{
if (!(type instanceof Class))
{
- throw new DefinitionException("Producer type cannot be parameterized with type parameter or wildcard:\n" + this.getAnnotatedItem());
+ throw new DefinitionException(TYPE_PARAMETER_MUST_BE_CONCRETE, this.getAnnotatedItem());
}
}
}
@@ -190,14 +198,14 @@
{
if (instance == null && !isDependent())
{
- throw new IllegalProductException("Cannot return null from a non-dependent producer method");
+ throw new IllegalProductException(NULL_NOT_ALLOWED_FROM_PRODUCER, getProducer());
}
else if (instance != null)
{
boolean passivating = manager.getServices().get(MetaAnnotationStore.class).getScopeModel(getScope()).isPassivating();
if (passivating && !Reflections.isSerializable(instance.getClass()))
{
- throw new IllegalProductException("Producers cannot declare passivating scope and return a non-serializable class");
+ throw new IllegalProductException(NON_SERIALIZABLE_PRODUCT_ERROR, getProducer());
}
InjectionPoint injectionPoint = manager.getCurrentInjectionPoint();
if (injectionPoint == null || injectionPoint.equals(BeanManagerImpl.DUMMY_INJECTION_POINT))
@@ -210,7 +218,7 @@
{
if (!injectionPoint.isTransient() && instance != null && !Reflections.isSerializable(instance.getClass()))
{
- throw new IllegalProductException("Producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans\n\nProducer: " + this.toString() + "\nInjection Point: " + injectionPoint.toString());
+ throw new IllegalProductException(NON_SERIALIZABLE_FIELD_INJECTION_ERROR, this, injectionPoint);
}
}
else if (injectionPoint.getMember() instanceof Method)
@@ -218,16 +226,16 @@
Method method = (Method) injectionPoint.getMember();
if (method.isAnnotationPresent(Inject.class))
{
- throw new IllegalProductException("Producers cannot produce non-serializable instances for injection into parameters of intializers of beans declaring passivating scope. Bean " + toString() + " being injected into " + injectionPoint.toString());
+ throw new IllegalProductException(NON_SERIALIZABLE_INITIALIZER_PARAM_INJECTION_ERROR, this, injectionPoint);
}
if (method.isAnnotationPresent(Produces.class))
{
- throw new IllegalProductException("Producers cannot produce non-serializable instances for injection into parameters of producer methods declaring passivating scope. Bean " + toString() + " being injected into " + injectionPoint.toString());
+ throw new IllegalProductException(NON_SERIALIZABLE_PRODUCER_PARAM_INJECTION_ERROR, this, injectionPoint);
}
}
else if (injectionPoint.getMember() instanceof Constructor)
{
- throw new IllegalProductException("Producers cannot produce non-serializable instances for injection into parameters of constructors of beans declaring passivating scope. Bean " + toString() + " being injected into " + injectionPoint.toString());
+ throw new IllegalProductException(NON_SERIALIZABLE_CONSTRUCTOR_PARAM_INJECTION_ERROR, this, injectionPoint);
}
}
}
@@ -241,7 +249,7 @@
scopeAnnotations.addAll(getAnnotatedItem().getMetaAnnotations(NormalScope.class));
if (scopeAnnotations.size() > 1)
{
- throw new DefinitionException("At most one scope may be specified");
+ throw new DefinitionException(ONLY_ONE_SCOPE_ALLOWED, getProducer());
}
if (scopeAnnotations.size() == 1)
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java 2009-11-09 00:06:27 UTC (rev 4810)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java 2009-11-09 00:08:10 UTC (rev 4811)
@@ -16,6 +16,14 @@
*/
package org.jboss.weld.bean;
+import static org.jboss.weld.logging.messages.BeanMessage.DECORATED_TYPE_PARAMETERIZED_DELEGATE_NOT;
+import static org.jboss.weld.logging.messages.BeanMessage.DELEGATE_MUST_SUPPORT_EVERY_DECORATED_TYPE;
+import static org.jboss.weld.logging.messages.BeanMessage.DELEGATE_ON_NON_INITIALIZER_METHOD;
+import static org.jboss.weld.logging.messages.BeanMessage.DELEGATE_TYPE_PARAMETER_MISMATCH;
+import static org.jboss.weld.logging.messages.BeanMessage.NO_DELEGATE_FOR_DECORATOR;
+import static org.jboss.weld.logging.messages.BeanMessage.TOO_MANY_DELEGATES_FOR_DECORATOR;
+import static org.jboss.weld.logging.messages.BeanMessage.UNABLE_TO_PROCESS;
+
import java.io.Serializable;
import java.lang.annotation.Annotation;
import java.lang.reflect.ParameterizedType;
@@ -29,6 +37,7 @@
import org.jboss.weld.BeanManagerImpl;
import org.jboss.weld.DefinitionException;
+import org.jboss.weld.ForbiddenStateException;
import org.jboss.weld.bootstrap.BeanDeployerEnvironment;
import org.jboss.weld.injection.MethodInjectionPoint;
import org.jboss.weld.injection.WeldInjectionPoint;
@@ -120,16 +129,16 @@
{
if (injectionPoint instanceof MethodInjectionPoint<?, ?> && !injectionPoint.isAnnotationPresent(Inject.class))
{
- throw new DefinitionException("Method with @Decorates parameter must be an initializer method " + injectionPoint);
+ throw new DefinitionException(DELEGATE_ON_NON_INITIALIZER_METHOD, injectionPoint);
}
}
if (getDelegateInjectionPoints().size() == 0)
{
- throw new DefinitionException("No delegate injection points defined " + this);
+ throw new DefinitionException(NO_DELEGATE_FOR_DECORATOR, this);
}
else if (getDelegateInjectionPoints().size() > 1)
{
- throw new DefinitionException("Too many delegate injection point defined " + this);
+ throw new DefinitionException(TOO_MANY_DELEGATES_FOR_DECORATOR, this);
}
}
@@ -154,7 +163,7 @@
{
if (!((Class<?>) decoratedType).isAssignableFrom(delegateInjectionPoint.getJavaClass()))
{
- throw new DefinitionException("The delegate type must extend or implement every decorated type. Decorated type " + decoratedType + "." + this );
+ throw new DefinitionException(DELEGATE_MUST_SUPPORT_EVERY_DECORATED_TYPE, decoratedType, this );
}
}
else if (decoratedType instanceof ParameterizedType)
@@ -162,20 +171,20 @@
ParameterizedType parameterizedType = (ParameterizedType) decoratedType;
if (!delegateInjectionPoint.isParameterizedType())
{
- throw new DefinitionException("The decorated type is parameterized, but the delegate type isn't. Delegate type " + delegateType + "." + this);
+ throw new DefinitionException(DECORATED_TYPE_PARAMETERIZED_DELEGATE_NOT, delegateType, this);
}
if (!Arrays.equals(delegateInjectionPoint.getActualTypeArguments(), parameterizedType.getActualTypeArguments()))
{
- throw new DefinitionException("The delegate type must have exactly the same type parameters as the decorated type. Decorated type " + decoratedType + "." + this );
+ throw new DefinitionException(DELEGATE_TYPE_PARAMETER_MISMATCH, decoratedType, this );
}
Type rawType = ((ParameterizedType) decoratedType).getRawType();
if (rawType instanceof Class && !((Class<?>) rawType).isAssignableFrom(delegateInjectionPoint.getJavaClass()))
{
- throw new DefinitionException("The delegate type must extend or implement every decorated type. Decorated type " + decoratedType + "." + this );
+ throw new DefinitionException(DELEGATE_MUST_SUPPORT_EVERY_DECORATED_TYPE, decoratedType, this );
}
else
{
- throw new IllegalStateException("Unable to process " + decoratedType);
+ throw new ForbiddenStateException(UNABLE_TO_PROCESS, decoratedType);
}
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java 2009-11-09 00:06:27 UTC (rev 4810)
+++ core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java 2009-11-09 00:08:10 UTC (rev 4811)
@@ -67,6 +67,21 @@
@MessageId("000046") ONLY_ONE_SCOPE_ALLOWED,
@MessageId("000047") SPECIALIZING_BEAN_MUST_EXTEND_A_BEAN,
@MessageId("000048") CONFLICTING_INTERCEPTOR_BINDINGS,
- @MessageId("000049") INVOCATION_ERROR
+ @MessageId("000049") INVOCATION_ERROR,
+ @MessageId("000050") PRODUCER_CAST_ERROR,
+ @MessageId("000051") RETURN_TYPE_MUST_BE_CONCRETE,
+ @MessageId("000052") NULL_NOT_ALLOWED_FROM_PRODUCER,
+ @MessageId("000053") NON_SERIALIZABLE_PRODUCT_ERROR,
+ @MessageId("000054") NON_SERIALIZABLE_FIELD_INJECTION_ERROR,
+ @MessageId("000055") NON_SERIALIZABLE_INITIALIZER_PARAM_INJECTION_ERROR,
+ @MessageId("000056") NON_SERIALIZABLE_PRODUCER_PARAM_INJECTION_ERROR,
+ @MessageId("000057") NON_SERIALIZABLE_CONSTRUCTOR_PARAM_INJECTION_ERROR,
+ @MessageId("000058") DELEGATE_ON_NON_INITIALIZER_METHOD,
+ @MessageId("000059") NO_DELEGATE_FOR_DECORATOR,
+ @MessageId("000060") TOO_MANY_DELEGATES_FOR_DECORATOR,
+ @MessageId("000061") DELEGATE_MUST_SUPPORT_EVERY_DECORATED_TYPE,
+ @MessageId("000062") DECORATED_TYPE_PARAMETERIZED_DELEGATE_NOT,
+ @MessageId("000063") DELEGATE_TYPE_PARAMETER_MISMATCH,
+ @MessageId("000064") UNABLE_TO_PROCESS
}
Modified: core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties
===================================================================
--- core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties 2009-11-09 00:06:27 UTC (rev 4810)
+++ core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties 2009-11-09 00:08:10 UTC (rev 4811)
@@ -48,3 +48,18 @@
SPECIALIZING_BEAN_MUST_EXTEND_A_BEAN=Specializing bean must extend another bean\: {0}
CONFLICTING_INTERCEPTOR_BINDINGS=Conflicting interceptor bindings found on {0}
INVOCATION_ERROR=Unable to invoke {0} on {1}
+PRODUCER_CAST_ERROR=Cannot cast producer type {0} to bean type {1}
+RETURN_TYPE_MUST_BE_CONCRETE=Return type must be concrete\: {0}
+NULL_NOT_ALLOWED_FROM_PRODUCER=Cannot return null from a non-dependent producer method\: {0}
+NON_SERIALIZABLE_PRODUCT_ERROR=Producers cannot declare passivating scope and return a non-serializable class\: {0}
+NON_SERIALIZABLE_INJECTION_ERROR=Producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans\\n\\nProducer\: {0}\\nInjection Point\: {1}
+NON_SERIALIZABLE_INITIALIZER_PARAM_INJECTION_ERROR=Producers cannot produce non-serializable instances for injection into parameters of initializers of beans declaring passivating scope.\\n\\nBean\: {0}\\nInjection Point\: {1}
+NON_SERIALIZABLE_PRODUCER_PARAM_INJECTION_ERROR=Producers cannot produce non-serializable instances for injection into parameters of producer methods declaring passivating scope.\\n\\nBean\: {0}\\nInjection Point\: {1}
+NON_SERIALIZABLE_CONSTRUCTOR_PARAM_INJECTION_ERROR=Producers cannot produce non-serializable instances for injection into parameters of constructors of beans declaring passivating scope.\\n\\nBean\: {0}\\nInjection Point\: {1}
+DECORATES_ON_NON_INITIALIZER_METHOD=Method with @Delegate parameter must be an initializer method\: {0}
+NO_DELEGATE_FOR_DECORATOR=No delegate injection points defined for {0}
+TOO_MANY_DELEGATES_FOR_DECORATOR=Too many delegate injection points defined for {0}
+DELEGATE_MUST_SUPPORT_EVERY_DECORATED_TYPE=The delegate type must extend or implement every decorated type. Decorated type {0} on {1}
+DECORATED_TYPE_PARAMETERIZED_DELEGATE_NOT=The decorated type is parameterized, but the delegate type isn't. Delegate type {0} on {1}
+DELEGATE_TYPE_PARAMETER_MISMATCH=The delegate type must have exactly the same type parameters as the decorated type. Decorated type {0} on decorator {1}
+UNABLE_TO_PROCESS=Unable to process {0}
15 years
Weld SVN: r4810 - in build/trunk/dist-tck: porting-package and 2 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-08 19:06:27 -0500 (Sun, 08 Nov 2009)
New Revision: 4810
Modified:
build/trunk/dist-tck/pom.xml
build/trunk/dist-tck/porting-package/pom.xml
build/trunk/dist-tck/porting-package/src/main/assembly/assembly.xml
build/trunk/dist-tck/src/main/assembly/assembly.xml
Log:
copy in sig tests
Modified: build/trunk/dist-tck/pom.xml
===================================================================
--- build/trunk/dist-tck/pom.xml 2009-11-09 00:05:52 UTC (rev 4809)
+++ build/trunk/dist-tck/pom.xml 2009-11-09 00:06:27 UTC (rev 4810)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-parent</artifactId>
- <version>4</version>
+ <version>6</version>
</parent>
<groupId>org.jboss.jsr299.tck</groupId>
<artifactId>jsr299-tck-dist</artifactId>
@@ -92,6 +92,14 @@
</dependency>
<dependency>
<groupId>org.jboss.jsr299.tck</groupId>
+ <artifactId>jsr299-tck-impl</artifactId>
+ <version>${cdi.tck.version}</version>
+ <classifier>sigtest</classifier>
+ <type>sig</type>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jsr299.tck</groupId>
<artifactId>jsr299-tck-dist-porting-package</artifactId>
<version>${project.version}</version>
<type>zip</type>
Modified: build/trunk/dist-tck/porting-package/pom.xml
===================================================================
--- build/trunk/dist-tck/porting-package/pom.xml 2009-11-09 00:05:52 UTC (rev 4809)
+++ build/trunk/dist-tck/porting-package/pom.xml 2009-11-09 00:06:27 UTC (rev 4810)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-parent</artifactId>
- <version>4</version>
+ <version>6</version>
</parent>
<groupId>org.jboss.jsr299.tck</groupId>
<artifactId>jsr299-tck-dist-porting-package</artifactId>
Modified: build/trunk/dist-tck/porting-package/src/main/assembly/assembly.xml
===================================================================
--- build/trunk/dist-tck/porting-package/src/main/assembly/assembly.xml 2009-11-09 00:05:52 UTC (rev 4809)
+++ build/trunk/dist-tck/porting-package/src/main/assembly/assembly.xml 2009-11-09 00:06:27 UTC (rev 4810)
@@ -22,6 +22,7 @@
<useTransitiveDependencies>true</useTransitiveDependencies>
<outputDirectory>/porting-package-lib</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
+ <outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
</dependencySets>
Modified: build/trunk/dist-tck/src/main/assembly/assembly.xml
===================================================================
--- build/trunk/dist-tck/src/main/assembly/assembly.xml 2009-11-09 00:05:52 UTC (rev 4809)
+++ build/trunk/dist-tck/src/main/assembly/assembly.xml 2009-11-09 00:06:27 UTC (rev 4810)
@@ -31,6 +31,7 @@
<useTransitiveDependencies>true</useTransitiveDependencies>
<outputDirectory>artifacts</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
+ <outputFileNameMapping>${artifact.artifactId}-${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
<dependencySet>
<excludes>
@@ -42,6 +43,7 @@
<useTransitiveDependencies>true</useTransitiveDependencies>
<outputDirectory>lib</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
+ <outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
<dependencySet>
<includes>
15 years
Weld SVN: r4809 - cdi-tck/trunk/impl.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-08 19:05:52 -0500 (Sun, 08 Nov 2009)
New Revision: 4809
Modified:
cdi-tck/trunk/impl/pom.xml
Log:
add sig test to attached artifacts
Modified: cdi-tck/trunk/impl/pom.xml
===================================================================
--- cdi-tck/trunk/impl/pom.xml 2009-11-09 00:02:53 UTC (rev 4808)
+++ cdi-tck/trunk/impl/pom.xml 2009-11-09 00:05:52 UTC (rev 4809)
@@ -147,6 +147,11 @@
<type>xml</type>
<classifier>audit-int</classifier>
</artifact>
+ <artifact>
+ <file>${basedir}/src/main/resources/cdi-api.sig</file>
+ <type>sig</type>
+ <classifier>sigtest</classifier>
+ </artifact>
</artifacts>
</configuration>
</execution>
@@ -158,7 +163,6 @@
<executions>
<execution>
<id>copy-in-container-dependencies</id>
- <phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
@@ -207,7 +211,7 @@
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
- <id>attach-artifacts</id>
+ <id>attach-report-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
@@ -215,26 +219,6 @@
<configuration>
<artifacts>
<artifact>
- <file>${basedir}/src/main/resources/tck-tests.xml</file>
- <type>xml</type>
- <classifier>suite</classifier>
- </artifact>
- <artifact>
- <file>${basedir}/src/main/resources/tck-audit-cdi.xml</file>
- <type>xml</type>
- <classifier>audit-cdi</classifier>
- </artifact>
- <artifact>
- <file>${basedir}/src/main/resources/tck-audit-mb.xml</file>
- <type>xml</type>
- <classifier>audit-mb</classifier>
- </artifact>
- <artifact>
- <file>${basedir}/src/main/resources/tck-audit-int.xml</file>
- <type>xml</type>
- <classifier>audit-int</classifier>
- </artifact>
- <artifact>
<file>../target/coverage-cdi.html</file>
<type>html</type>
<classifier>coverage-cdi</classifier>
15 years
Weld SVN: r4808 - cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck and 1 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-08 19:02:53 -0500 (Sun, 08 Nov 2009)
New Revision: 4808
Modified:
cdi-tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Managers.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractJSR299Test.java
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/DeploymentError.java
core/trunk/porting-package/src/main/java/org/jboss/weld/tck/ManagersImpl.java
Log:
CDITCK-47
Modified: cdi-tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Managers.java
===================================================================
--- cdi-tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Managers.java 2009-11-09 00:02:21 UTC (rev 4807)
+++ cdi-tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Managers.java 2009-11-09 00:02:53 UTC (rev 4808)
@@ -40,7 +40,7 @@
public boolean isDefinitionError(DeploymentException deploymentException);
/**
- * Checks whether there is a deployment error, as described in Section 2.8,
+ * Checks whether there is a deployment problem, as described in Section 2.8,
* "Problems detected automatically by the container".
*
* @param deploymentException the deployment exception context provided by
@@ -49,6 +49,6 @@
* error
* @return true if there is a deployment error
*/
- public boolean isDeploymentError(DeploymentException deploymentException);
+ public boolean isDeploymentProblem(DeploymentException deploymentException);
}
Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractJSR299Test.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractJSR299Test.java 2009-11-09 00:02:21 UTC (rev 4807)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractJSR299Test.java 2009-11-09 00:02:53 UTC (rev 4808)
@@ -173,7 +173,7 @@
{
return new DeploymentException(deploymentException, new DefinitionError(deploymentException.getCause()));
}
- else if (getCurrentConfiguration().getManagers().isDeploymentError(deploymentException))
+ else if (getCurrentConfiguration().getManagers().isDeploymentProblem(deploymentException))
{
return new DeploymentException(deploymentException, new DeploymentError(deploymentException.getCause()));
}
Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/DeploymentError.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/DeploymentError.java 2009-11-09 00:02:21 UTC (rev 4807)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/DeploymentError.java 2009-11-09 00:02:53 UTC (rev 4808)
@@ -5,7 +5,7 @@
* annotation of an @Artifact to detect a deployment error as described in
* Section 12.4, "Problems detected automatically by the container".
*
- * @see org.jboss.jsr299.tck.spi.Managers#isDeploymentError(Throwable)
+ * @see org.jboss.jsr299.tck.spi.Managers#isDeploymentProblem(Throwable)
*/
public class DeploymentError extends RuntimeException
{
Modified: core/trunk/porting-package/src/main/java/org/jboss/weld/tck/ManagersImpl.java
===================================================================
--- core/trunk/porting-package/src/main/java/org/jboss/weld/tck/ManagersImpl.java 2009-11-09 00:02:21 UTC (rev 4807)
+++ core/trunk/porting-package/src/main/java/org/jboss/weld/tck/ManagersImpl.java 2009-11-09 00:02:53 UTC (rev 4808)
@@ -37,7 +37,7 @@
}
}
- public boolean isDeploymentError(org.jboss.testharness.api.DeploymentException deploymentException)
+ public boolean isDeploymentProblem(org.jboss.testharness.api.DeploymentException deploymentException)
{
return isDeploymentException(deploymentException.getCause());
}
15 years