I think that I would like to use the porting package when implementing
JSR-330 TCK. Example using StandaloneContainerImpl. and other stuff there
while deployment/undeployment/starting/stopping the container.

Thanks;

--Gurkan

2009/10/17 Mark Struberg <[email protected]>

> Is there a reason for moving the TCK-API integration classes over from
> webbeans-tck to an own module?
> As far as I see, they cannot be reused e.g. for the JSR-330 TCK.
>
> We should be really careful with introducing new child modules. While
> modularity is good, each new module increases the chance to introduce cyclic
> references between modules (which must not happen).
>
> LieGrue,
> strub
>
>
>
> ----- Original Message ----
> > From: "[email protected]" <[email protected]>
> > To: [email protected]
> > Sent: Sat, October 17, 2009 12:16:40 AM
> > Subject: svn commit: r826111 - in
> /incubator/openwebbeans/trunk/webbeans-porting: ./ src/ src/main/
> src/main/java/ src/main/java/org/ src/main/java/org/apache/
> src/main/java/org/apache/webbeans/ src/main/java/org/apache/webbeans/test/
> src/main/java/org/apache/w...
> >
> > Author: gerdogdu
> > Date: Fri Oct 16 22:16:39 2009
> > New Revision: 826111
> >
> > URL: http://svn.apache.org/viewvc?rev=826111&view=rev
> > Log:
> > Adding TCK Porting project
> >
> > Added:
> >     incubator/openwebbeans/trunk/webbeans-porting/   (with props)
> >     incubator/openwebbeans/trunk/webbeans-porting/pom.xml   (with props)
> >     incubator/openwebbeans/trunk/webbeans-porting/src/
> >     incubator/openwebbeans/trunk/webbeans-porting/src/main/
> >     incubator/openwebbeans/trunk/webbeans-porting/src/main/java/
> >     incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/BeansImpl.java
> > (with props)
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContainersImpl.java
> > (with props)
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContextsImpl.java
> > (with props)
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ELImpl.java
> > (with props)
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ManagersImpl.java
> > (with props)
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java
> > (with props)
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/mock/
> >
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/mock/TCKMetaDataDiscoveryImpl.java
> > (with props)
> >     incubator/openwebbeans/trunk/webbeans-porting/src/main/resources/
> >
> > Propchange: incubator/openwebbeans/trunk/webbeans-porting/
> >
> ------------------------------------------------------------------------------
> > --- svn:ignore (added)
> > +++ svn:ignore Fri Oct 16 22:16:39 2009
> > @@ -0,0 +1,4 @@
> > +target
> > +.classpath
> > +.project
> > +.settings
> >
> > Added: incubator/openwebbeans/trunk/webbeans-porting/pom.xml
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-porting/pom.xml?rev=826111&view=auto
> >
> ==============================================================================
> > --- incubator/openwebbeans/trunk/webbeans-porting/pom.xml (added)
> > +++ incubator/openwebbeans/trunk/webbeans-porting/pom.xml Fri Oct 16
> 22:16:39
> > 2009
> > @@ -0,0 +1,74 @@
> > +
> > +
> > +
> > +
> > +    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > +    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > http://maven.apache.org/maven-v4_0_0.xsd";>
> > +    4.0.0
> > +
> > +        org.apache.openwebbeans
> > +        openwebbeans
> > +        1.0.0-incubating-SNAPSHOT
> > +
> > +
> > +    openwebbeans-porting
> > +    Apache OpenWebBeans :: TCK Porting Package
> > +    jar
> > +    1.0.0-incubating-SNAPSHOT
> > +    TCK Porting Package OpenWebBeans Implementation
> > +
> > +
> > +
> > +
> > +            org.apache.openwebbeans
> > +            openwebbeans-impl
> > +            ${project.version}
> > +            tests
> > +
> > +
> > +
> > +            org.apache.openwebbeans
> > +            openwebbeans-impl
> > +
> > +
> > +
> > +            org.apache.geronimo.specs
> > +            geronimo-jpa_3.0_spec
> > +
> > +
> > +
> > +          org.apache.geronimo.specs
> > +        geronimo-servlet_2.5_spec
> > +
> > +
> > +
> > +
> > +        org.jboss.jsr299.tck
> > +        jsr299-tck-api
> > +        1.0.0-SNAPSHOT
> > +
> > +
> > +
> > +        org.apache.geronimo.specs
> > +        geronimo-el_1.0_spec
> > +
> > +
> > +
> > +
> > +
> > +
> >
> > Propchange: incubator/openwebbeans/trunk/webbeans-porting/pom.xml
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/BeansImpl.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/BeansImpl.java?rev=826111&view=auto
> >
> ==============================================================================
> > ---
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/BeansImpl.java
> > (added)
> > +++
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/BeansImpl.java
> > Fri Oct 16 22:16:39 2009
> > @@ -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.webbeans.test.tck;
> > +
> > +import java.lang.reflect.Method;
> > +
> > +import javax.enterprise.inject.spi.Bean;
> > +import javax.persistence.Entity;
> > +
> > +
> > +import org.apache.webbeans.component.AbstractBean;
> > +import org.apache.webbeans.component.ManagedBean;
> > +import org.apache.webbeans.component.WebBeansType;
> > +import org.apache.webbeans.config.DefinitionUtil;
> > +import org.apache.webbeans.config.ManagedBeanConfigurator;
> > +import org.apache.webbeans.util.AnnotationUtil;
> > +import org.jboss.jsr299.tck.spi.Beans;
> > +
> > +public class BeansImpl implements Beans
> > +{
> > +
> > +    @SuppressWarnings("unchecked")
> > +    public BeancreateProducerMethodBean(Method method, Bean
> > declaringBean)
> > +    {
> > +        return
> > DefinitionUtil.createProducerComponent((Class)method.getReturnType(),
> method,
> > (AbstractBean)declaringBean, false);
> > +
> > +    }
> > +
> > +    public BeancreateSimpleBean(Classclazz)
> > +    {
> > +        ManagedBeanbean = null;
> > +
> > +        ManagedBeanConfigurator.checkSimpleWebBeanCondition(clazz);
> > +
> > +        bean = ManagedBeanConfigurator.define(clazz,
> WebBeansType.MANAGED);
> > +
> > +        return bean;
> > +    }
> > +
> > +    public boolean isEnterpriseBean( Class clazz ) {
> > +        return false;
> > +    }
> > +
> > +    public boolean isEntityBean( Class clazz )
> > +    {
> > +        return (AnnotationUtil.hasClassAnnotation(clazz, Entity.class));
> > +    }
> > +
> > +    public boolean isProxy( Object instance ) {
> > +        return instance.getClass().getName().contains("$$");
> > +    }
> > +
> > +    public boolean isStatefulBean( Class clazz ) {
> > +        return false;
> > +    }
> > +
> > +    public boolean isStatelessBean( Class clazz ) {
> > +        return false;
> > +    }
> > +
> > +    public T getEnterpriseBean(Class beanType, Class
> > localInterface)
> > +    {
> > +        return null;
> > +    }
> > +}
> > \ No newline at end of file
> >
> > Propchange:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/BeansImpl.java
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContainersImpl.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContainersImpl.java?rev=826111&view=auto
> >
> ==============================================================================
> > ---
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContainersImpl.java
> > (added)
> > +++
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContainersImpl.java
> > Fri Oct 16 22:16:39 2009
> > @@ -0,0 +1,74 @@
> > +/*
> > + * 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.test.tck;
> > +
> > +import java.io.File;
> > +import java.io.FileOutputStream;
> > +import java.io.IOException;
> > +import java.io.InputStream;
> > +
> > +import org.jboss.testharness.api.DeploymentException;
> > +import org.jboss.testharness.spi.Containers;
> > +
> > +
> > +public class ContainersImpl implements Containers
> > +{
> > +
> > +  //  private Logger logger = Logger.getLogger(ContainersImpl.class);
> > +
> > +    public void cleanup() throws IOException
> > +    {
> > +
> > +    }
> > +
> > +    public boolean deploy(InputStream archive, String name)
> > +    {
> > +        try
> > +        {
> > +            if(archive.available() > 0)
> > +            {
> > +                File file = new File("target/container/" + name);
> > +                FileOutputStream os = new FileOutputStream(file);
> > +                byte temp[] = new byte[512];
> > +
> > +                while(archive.read(temp) != -1)
> > +                {
> > +                    os.write(temp);
> > +                }
> > +
> > +            }
> > +        } catch (Exception e)
> > +        {
> > +            throw new RuntimeException(e);
> > +        }
> > +        return false;
> > +    }
> > +
> > +    public void setup() throws IOException
> > +    {
> > +
> > +    }
> > +
> > +    public void undeploy(String name) throws IOException
> > +    {
> > +
> > +    }
> > +
> > +    public DeploymentException getDeploymentException()
> > +    {
> > +        // TODO Auto-generated method stub
> > +        return null;
> > +    }
> > +
> > +}
> >
> > Propchange:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContainersImpl.java
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContextsImpl.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContextsImpl.java?rev=826111&view=auto
> >
> ==============================================================================
> > ---
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContextsImpl.java
> > (added)
> > +++
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContextsImpl.java
> > Fri Oct 16 22:16:39 2009
> > @@ -0,0 +1,50 @@
> > +/*
> > + * 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.test.tck;
> > +
> > +import org.apache.webbeans.context.AbstractContext;
> > +import org.apache.webbeans.context.ContextFactory;
> > +import org.apache.webbeans.context.type.ContextTypes;
> > +import org.jboss.jsr299.tck.spi.Contexts;
> > +
> > +public class ContextsImpl implements Contexts
> > +{
> > +
> > +    public AbstractContext getRequestContext()
> > +    {
> > +        ContextFactory.initRequestContext(null);
> > +        return (AbstractContext)
> > ContextFactory.getStandartContext(ContextTypes.REQUEST);
> > +    }
> > +
> > +    public void setActive(AbstractContext context)
> > +    {
> > +        context.setActive(true);
> > +
> > +    }
> > +
> > +    public void setInactive(AbstractContext context)
> > +    {
> > +        context.setActive(false);
> > +    }
> > +
> > +    public AbstractContext getDependentContext() {
> > +        return (AbstractContext)
> > ContextFactory.getStandartContext(ContextTypes.DEPENDENT);
> > +    }
> > +
> > +    public void destroyContext(AbstractContext context)
> > +    {
> > +        context.destroy();
> > +    }
> > +
> > +}
> >
> > Propchange:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ContextsImpl.java
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ELImpl.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ELImpl.java?rev=826111&view=auto
> >
> ==============================================================================
> > ---
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ELImpl.java
> > (added)
> > +++
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ELImpl.java
> > Fri Oct 16 22:16:39 2009
> > @@ -0,0 +1,119 @@
> > +/*
> > + * 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.test.tck;
> > +
> > +import java.lang.reflect.InvocationTargetException;
> > +import java.lang.reflect.Method;
> > +
> > +import javax.el.ELContext;
> > +import javax.el.ELResolver;
> > +import javax.el.FunctionMapper;
> > +import javax.el.VariableMapper;
> > +
> > +import org.apache.webbeans.el.WebBeansELResolver;
> > +import org.jboss.jsr299.tck.spi.EL;
> > +
> > +public class ELImpl implements EL
> > +{
> > +    private WebBeansELResolver resolver = new WebBeansELResolver();
> > +
> > +    public static class ELContextImpl extends ELContext
> > +    {
> > +
> > +        @Override
> > +        public ELResolver getELResolver()
> > +        {
> > +            // TODO Auto-generated method stub
> > +            return null;
> > +        }
> > +
> > +        @Override
> > +        public FunctionMapper getFunctionMapper()
> > +        {
> > +            // TODO Auto-generated method stub
> > +            return null;
> > +        }
> > +
> > +        @Override
> > +        public VariableMapper getVariableMapper()
> > +        {
> > +            // TODO Auto-generated method stub
> > +            return null;
> > +        }
> > +
> > +    }
> > +
> > +    @SuppressWarnings("unchecked")
> > +    public T evaluateMethodExpression(String expression, Class
> > expectedType, Class[] expectedParamTypes, Object[] expectedParams)
> > +    {
> > +        int firstDot = expression.indexOf('.');
> > +        String property =
> > expression.substring(expression.indexOf("#"),firstDot) + "}"; //object
> name
> > +        String methodName =
> > expression.substring(firstDot+1,expression.length()-1);
> > +
> > +        Object object = evaluateValueExpression(property, expectedType);
> > +
> > +        try
> > +        {
> > +            Method method = object.getClass().getMethod(methodName,
> > expectedParamTypes);
> > +            return (T)method.invoke(object, expectedParams);
> > +        }
> > +        catch (SecurityException e)
> > +        {
> > +            // TODO Auto-generated catch block
> > +            e.printStackTrace();
> > +        }
> > +        catch (NoSuchMethodException e)
> > +        {
> > +            // TODO Auto-generated catch block
> > +            e.printStackTrace();
> > +        }
> > +        catch (IllegalArgumentException e)
> > +        {
> > +            // TODO Auto-generated catch block
> > +            e.printStackTrace();
> > +        }
> > +        catch (IllegalAccessException e)
> > +        {
> > +            // TODO Auto-generated catch block
> > +            e.printStackTrace();
> > +        }
> > +        catch (InvocationTargetException e)
> > +        {
> > +            // TODO Auto-generated catch block
> > +            e.printStackTrace();
> > +        }
> > +
> > +        return null;
> > +    }
> > +
> > +    @SuppressWarnings("unchecked")
> > +    public T evaluateValueExpression(String expression, Class
> > expectedType)
> > +    {
> > +        String property =
> > expression.substring(expression.indexOf("#")+2,expression.length()-1);
> > +
> > +        T object = (T) resolver.getValue(new ELContextImpl() , null,
> property);
> > +
> > +        return object;
> > +    }
> > +
> > +    @Override
> > +    public ELContext createELContext()
> > +    {
> > +        // TODO Auto-generated method stub
> > +        return null;
> > +    }
> > +
> > +
> > +
> > +}
> >
> > Propchange:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ELImpl.java
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ManagersImpl.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ManagersImpl.java?rev=826111&view=auto
> >
> ==============================================================================
> > ---
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ManagersImpl.java
> > (added)
> > +++
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ManagersImpl.java
> > Fri Oct 16 22:16:39 2009
> > @@ -0,0 +1,64 @@
> > +/*
> > + * 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.test.tck;
> > +
> > +import javax.enterprise.inject.spi.BeanManager;
> > +
> > +import org.apache.webbeans.container.BeanManagerImpl;
> > +import org.apache.webbeans.container.activity.ActivityManager;
> > +import org.apache.webbeans.exception.inject.DefinitionException;
> > +import org.jboss.jsr299.tck.spi.Managers;
> > +import org.jboss.testharness.api.DeploymentException;
> > +
> > +public class ManagersImpl implements Managers
> > +{
> > +
> > +    public BeanManager getManager()
> > +    {
> > +        BeanManagerImpl impl =
> ActivityManager.getInstance().getRootActivity();
> > +
> > +        if(impl == null)
> > +        {
> > +            impl = new BeanManagerImpl();
> > +            ActivityManager.getInstance().setRootActivity(impl);
> > +        }
> > +
> > +        return impl;
> > +    }
> > +
> > +    public boolean isDefinitionError(DeploymentException
> deploymentException)
> > +    {
> > +        Throwable cause = deploymentException.getCause();
> > +
> > +        if(DefinitionException.class.isAssignableFrom(cause.getClass()))
> > +        {
> > +            return true;
> > +        }
> > +
> > +        return false;
> > +    }
> > +
> > +    public boolean isDeploymentError(DeploymentException
> deploymentException)
> > +    {
> > +        Throwable cause = deploymentException.getCause();
> > +
> > +        if(DeploymentException.class.isAssignableFrom(cause.getClass()))
> > +        {
> > +            return true;
> > +        }
> > +
> > +        return false;
> > +    }
> > +
> > +}
> >
> > Propchange:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/ManagersImpl.java
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java?rev=826111&view=auto
> >
> ==============================================================================
> > ---
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java
> > (added)
> > +++
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java
> > Fri Oct 16 22:16:39 2009
> > @@ -0,0 +1,134 @@
> > +/*
> > + * 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.test.tck;
> > +
> > +import java.net.URL;
> > +import java.util.Iterator;
> > +
> > +import org.apache.webbeans.context.ContextFactory;
> > +import org.apache.webbeans.lifecycle.WebBeansLifeCycle;
> > +import org.apache.webbeans.spi.ServiceLoader;
> > +import org.apache.webbeans.spi.deployer.MetaDataDiscoveryService;
> > +import org.apache.webbeans.test.mock.MockHttpSession;
> > +import org.apache.webbeans.test.mock.MockServletContextEvent;
> > +import org.apache.webbeans.test.tck.mock.TCKMetaDataDiscoveryImpl;
> > +import org.jboss.testharness.api.DeploymentException;
> > +import org.jboss.testharness.spi.StandaloneContainers;
> > +
> > +public class StandaloneContainersImpl implements StandaloneContainers
> > +{
> > +    private WebBeansLifeCycle lifeCycle = null;
> > +
> > +    private MockServletContextEvent servletContextEvent;
> > +
> > +    private MockHttpSession mockHttpSession;
> > +
> > +    private DeploymentException excpetion;
> > +
> > +    public void deploy(Iterable> classes) throws DeploymentException
> > +    {
> > +        initializeContexts();
> > +
> > +        TCKMetaDataDiscoveryImpl discovery =
> >
> (TCKMetaDataDiscoveryImpl)ServiceLoader.getService(MetaDataDiscoveryService.class);
> > +
> > +        this.lifeCycle = new WebBeansLifeCycle();
> > +
> > +        try
> > +        {
> > +            Iterator> it = classes.iterator();
> > +            while(it.hasNext())
> > +            {
> > +                discovery.addBeanClass(it.next());
> > +            }
> > +
> > +            this.lifeCycle.applicationStarted(servletContextEvent);
> > +
> > +        }catch(Throwable e)
> > +        {
> > +            this.excpetion = new DeploymentException("Standalone
> Container
> > Impl.",e);
> > +        }
> > +
> > +    }
> > +
> > +
> > +    public boolean deploy(Iterable> classes, IterablebeansXmls)
> > +    {
> > +        try
> > +        {
> > +            initializeContexts();
> > +
> > +            TCKMetaDataDiscoveryImpl discovery =
> >
> (TCKMetaDataDiscoveryImpl)ServiceLoader.getService(MetaDataDiscoveryService.class);
> > +
> > +            this.lifeCycle = new WebBeansLifeCycle();
> > +
> > +            Iterator> it = classes.iterator();
> > +            while(it.hasNext())
> > +            {
> > +                discovery.addBeanClass(it.next());
> > +            }
> > +
> > +            IteratoritUrl = beansXmls.iterator();
> > +            while(itUrl.hasNext())
> > +            {
> > +                discovery.addBeanXml(itUrl.next());
> > +            }
> > +
> > +            this.lifeCycle.applicationStarted(servletContextEvent);
> > +        }
> > +        catch(Throwable e)
> > +        {
> > +            this.excpetion = new DeploymentException("Standalone
> Container
> > Impl.",e);
> > +        }
> > +
> > +        return true;
> > +    }
> > +
> > +
> > +    private void initializeContexts()
> > +    {
> > +        this.mockHttpSession = new MockHttpSession();
> > +
> > +        ContextFactory.initRequestContext(null);
> > +        ContextFactory.initSessionContext(mockHttpSession);
> > +        ContextFactory.initConversationContext(null);
> > +
> > +        this.servletContextEvent = new MockServletContextEvent();
> > +    }
> > +
> > +    public void setup()
> > +    {
> > +
> > +    }
> > +
> > +    public void cleanup()
> > +    {
> > +
> > +    }
> > +
> > +
> > +    public void undeploy()
> > +    {
> > +        ContextFactory.destroyRequestContext(null);
> > +        ContextFactory.destroySessionContext(this.mockHttpSession);
> > +        ContextFactory.destroyConversationContext();
> > +
> > +        this.lifeCycle.applicationEnded(this.servletContextEvent);
> > +    }
> > +
> > +    public DeploymentException getDeploymentException()
> > +    {
> > +        return this.excpetion;
> > +    }
> > +
> > +}
> >
> > Propchange:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/StandaloneContainersImpl.java
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/mock/TCKMetaDataDiscoveryImpl.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/mock/TCKMetaDataDiscoveryImpl.java?rev=826111&view=auto
> >
> ==============================================================================
> > ---
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/mock/TCKMetaDataDiscoveryImpl.java
> > (added)
> > +++
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/mock/TCKMetaDataDiscoveryImpl.java
> > Fri Oct 16 22:16:39 2009
> > @@ -0,0 +1,63 @@
> > +/*
> > + *  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.test.tck.mock;
> > +
> > +import java.io.IOException;
> > +import java.net.URL;
> > +
> > +import javassist.ClassPool;
> > +
> > +import org.apache.webbeans.spi.deployer.AbstractMetaDataDiscovery;
> > +import org.apache.webbeans.util.Asserts;
> > +
> > +public class TCKMetaDataDiscoveryImpl extends AbstractMetaDataDiscovery
> > +{
> > +
> > +    public TCKMetaDataDiscoveryImpl()
> > +    {
> > +        super();
> > +    }
> > +
> > +    @Override
> > +    protected void configure() throws Exception
> > +    {
> > +
> > +
> > +    }
> > +
> > +    public void addBeanClass(Class clazz)
> > +    {
> > +        Asserts.assertNotNull(clazz);
> > +
> > +        URL url = ClassPool.getDefault().find(clazz.getName());
> > +        try
> > +        {
> > +            this.getAnnotationDB().scanClass(url.openStream());
> > +        }
> > +        catch (IOException e)
> > +        {
> > +            e.printStackTrace();
> > +        }
> > +    }
> > +
> > +    public void addBeanXml(URL url)
> > +    {
> > +        Asserts.assertNotNull(url);
> > +        addWebBeansXmlLocation(url);
> > +    }
> > +
> > +}
> >
> > Propchange:
> >
> incubator/openwebbeans/trunk/webbeans-porting/src/main/java/org/apache/webbeans/test/tck/mock/TCKMetaDataDiscoveryImpl.java
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
>
>
>
>
>


-- 
Gurkan Erdogdu
http://gurkanerdogdu.blogspot.com

Reply via email to