[jboss-cvs] JBossAS SVN: r66756 - in projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss: proxy and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 6 02:29:41 EST 2007


Author: scott.stark at jboss.org
Date: 2007-11-06 02:29:41 -0500 (Tue, 06 Nov 2007)
New Revision: 66756

Added:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossEnterpriseBeansMetaDataProxy.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossMetaDataProxy.java
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
Log:
Prototype of metadata repository based proxy

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2007-11-06 04:14:27 UTC (rev 66755)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2007-11-06 07:29:41 UTC (rev 66756)
@@ -179,7 +179,7 @@
     * @param bean the standard bean metadata
     * @return the corresponding jboss extenstion metadata
     */
-   static JBossEnterpriseBeanMetaData newBean(EnterpriseBeanMetaData bean)
+   public static JBossEnterpriseBeanMetaData newBean(EnterpriseBeanMetaData bean)
    {
       JBossEnterpriseBeanMetaData jbean = null;
       if(bean instanceof EntityBeanMetaData)
@@ -232,9 +232,9 @@
    {
       if (enterpriseBeansMetaData == null)
          return null;
-      return enterpriseBeansMetaData.getJBossMetaData();
+      return enterpriseBeansMetaData.getEjbJarMetaData();
    }
-   
+
    /**
     * Get the jbossMetaData.
     * 
@@ -1476,7 +1476,7 @@
          jndiEnvironmentRefsGroup = new JBossEnvironmentRefsGroupMetaData();
       Environment env = original != null ? original.getJndiEnvironmentRefsGroup() : null;
       JBossEnvironmentRefsGroupMetaData jenv = null;
-      ResourceManagersMetaData resourceMgrs = getJBossMetaData().getResourceManagers();
+      ResourceManagersMetaData resourceMgrs = this.getJBossMetaData().getResourceManagers();
       if( override != null )
       {
          ResourceManagersMetaData resourceMgrsOverride = override.getJBossMetaData().getResourceManagers();

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java	2007-11-06 04:14:27 UTC (rev 66755)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java	2007-11-06 07:29:41 UTC (rev 66756)
@@ -54,7 +54,7 @@
    public JBossEnterpriseBeansMetaData()
    {
    }
-   
+
    public JBossEnterpriseBeanMetaData createOverride(EnterpriseBeanMetaData data)
    {
       if (data == null)
@@ -69,21 +69,12 @@
       else
          throw new IllegalArgumentException("Unrecognised: " + data);
       result.setEjbName(data.getEjbName());
+      result.setEnterpriseBeansMetaData(this);
       result.merge(null, data);
       return result;
    }
 
    /**
-    * Get the jbossMetaData.
-    * 
-    * @return the jbossMetaData.
-    */
-   JBossMetaData getJBossMetaData()
-   {
-      return jbossMetaData;
-   }
-
-   /**
     * Set the jbossMetaData.
     * 
     * @param jbossMetaData the jbossMetaData.

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossEnterpriseBeansMetaDataProxy.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossEnterpriseBeansMetaDataProxy.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossEnterpriseBeansMetaDataProxy.java	2007-11-06 07:29:41 UTC (rev 66756)
@@ -0,0 +1,129 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.ejb.jboss.proxy;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.spec.EjbJarMetaData;
+import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
+import org.jboss.metadata.spi.MetaData;
+import org.jboss.metadata.spi.repository.MetaDataRepository;
+import org.jboss.metadata.spi.scope.ScopeKey;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class JBossEnterpriseBeansMetaDataProxy extends JBossEnterpriseBeansMetaData
+{
+   private static final long serialVersionUID = 1;
+
+   private JBossMetaData jbossMetaData;
+   private JBossEnterpriseBeansMetaData delegate;
+   private MetaDataRepository repository;
+   private ScopeKey jarKey;
+
+   JBossEnterpriseBeansMetaDataProxy(JBossMetaData jbossMetaData,
+         JBossEnterpriseBeansMetaData delegate,
+         MetaDataRepository repository, ScopeKey jarKey)
+   {
+      this.jbossMetaData = jbossMetaData;
+      this.delegate = delegate;
+      if(this.delegate == null)
+         this.delegate = new JBossEnterpriseBeansMetaData();
+      this.repository = repository;
+      this.jarKey = jarKey;
+   }
+
+   public boolean contains(Object o)
+   {
+      // TODO
+      return delegate.contains(o);
+   }
+
+   public boolean containsAll(Collection<?> c)
+   {
+      // TODO
+      return delegate.containsAll(c);
+   }
+
+   public JBossEnterpriseBeanMetaData get(String ejbName)
+   {
+      JBossEnterpriseBeanMetaData bean = delegate.get(ejbName);
+      if(bean == null)
+      {
+         // Check the repository for spec generated metadata
+         MetaData metaData = repository.getMetaData(jarKey);
+         EjbJarMetaData jarMD = metaData.getMetaData(EjbJarMetaData.class);
+         if(jarMD != null)
+         {
+            EnterpriseBeanMetaData sbean = jarMD.getEnterpriseBean(ejbName);
+            bean = createOverride(sbean);
+         }
+      }
+      return bean;
+   }
+
+   public JBossMetaData getEjbJarMetaData()
+   {
+      return jbossMetaData;
+   }
+
+   public String getId()
+   {
+      return delegate.getId();
+   }
+
+   public boolean isEmpty()
+   {
+      return size() == 0;
+   }
+
+   public Iterator<JBossEnterpriseBeanMetaData> iterator()
+   {
+      // TODO
+      return delegate.iterator();
+   }
+
+   public int size()
+   {
+      // TODO
+      return delegate.size();
+   }
+
+   public Object[] toArray()
+   {
+      // TODO
+      return delegate.toArray();
+   }
+
+   public <T> T[] toArray(T[] a)
+   {
+      // TODO
+      return delegate.toArray(a);
+   }
+
+}


Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossEnterpriseBeansMetaDataProxy.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossMetaDataProxy.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossMetaDataProxy.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossMetaDataProxy.java	2007-11-06 07:29:41 UTC (rev 66756)
@@ -0,0 +1,215 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.ejb.jboss.proxy;
+
+import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationsMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
+import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
+import org.jboss.metadata.ejb.spec.InterceptorsMetaData;
+import org.jboss.metadata.ejb.spec.RelationsMetaData;
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+import org.jboss.metadata.spi.repository.MetaDataRepository;
+import org.jboss.metadata.spi.scope.ScopeKey;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class JBossMetaDataProxy extends JBossMetaData
+{
+   private static final long serialVersionUID = 1;
+
+   private JBossMetaData delegate;
+   private MetaDataRepository repository;
+   private JBossEnterpriseBeansMetaDataProxy beans;
+   private ScopeKey jarKey;
+
+   public JBossMetaDataProxy(JBossMetaData delegate, MetaDataRepository repository,
+         ScopeKey jarKey)
+   {
+      this.delegate = delegate;
+      this.repository = repository;
+      beans = new JBossEnterpriseBeansMetaDataProxy(this,
+            delegate.getEnterpriseBeans(), repository, jarKey);
+   }
+
+   public JBossAssemblyDescriptorMetaData getAssemblyDescriptor()
+   {
+      return delegate.getAssemblyDescriptor();
+   }
+
+   public ContainerConfigurationMetaData getContainerConfiguration(String name)
+   {
+      return delegate.getContainerConfiguration(name);
+   }
+
+   public ContainerConfigurationsMetaData getContainerConfigurations()
+   {
+      return delegate.getContainerConfigurations();
+   }
+
+   public DescriptionGroupMetaData getDescriptionGroup()
+   {
+      return delegate.getDescriptionGroup();
+   }
+
+   public String getDtdPublicId()
+   {
+      return delegate.getDtdPublicId();
+   }
+
+   public String getDtdSystemId()
+   {
+      return delegate.getDtdSystemId();
+   }
+
+   public String getEjbClientJar()
+   {
+      return delegate.getEjbClientJar();
+   }
+
+   public JBossEnterpriseBeanMetaData getEnterpriseBean(String ejbName)
+   {
+      return beans.get(ejbName);
+   }
+
+   public JBossEnterpriseBeansMetaData getEnterpriseBeans()
+   {
+      return beans;
+   }
+
+   public String getId()
+   {
+      return delegate.getId();
+   }
+
+   public InterceptorsMetaData getInterceptors()
+   {
+      return delegate.getInterceptors();
+   }
+
+   public InvokerProxyBindingMetaData getInvokerProxyBinding(String name)
+   {
+      return delegate.getInvokerProxyBinding(name);
+   }
+
+   public InvokerProxyBindingsMetaData getInvokerProxyBindings()
+   {
+      return delegate.getInvokerProxyBindings();
+   }
+
+   public String getJaccContextID()
+   {
+      return delegate.getJaccContextID();
+   }
+
+   public String getJmxName()
+   {
+      return delegate.getJmxName();
+   }
+
+   public LoaderRepositoryMetaData getLoaderRepository()
+   {
+      return delegate.getLoaderRepository();
+   }
+
+   public RelationsMetaData getRelationships()
+   {
+      return delegate.getRelationships();
+   }
+
+   public ResourceManagerMetaData getResourceManager(String name)
+   {
+      return delegate.getResourceManager(name);
+   }
+
+   public ResourceManagersMetaData getResourceManagers()
+   {
+      return delegate.getResourceManagers();
+   }
+
+   public String getSecurityDomain()
+   {
+      return delegate.getSecurityDomain();
+   }
+
+   public String getUnauthenticatedPrincipal()
+   {
+      return delegate.getUnauthenticatedPrincipal();
+   }
+
+   public String getVersion()
+   {
+      return delegate.getVersion();
+   }
+
+   public WebservicesMetaData getWebservices()
+   {
+      return delegate.getWebservices();
+   }
+
+   public int hashCode()
+   {
+      return delegate.hashCode();
+   }
+
+   public boolean isEJB1x()
+   {
+      return delegate.isEJB1x();
+   }
+
+   public boolean isEJB21()
+   {
+      return delegate.isEJB21();
+   }
+
+   public boolean isEJB2x()
+   {
+      return delegate.isEJB2x();
+   }
+
+   public boolean isEJB3x()
+   {
+      return delegate.isEJB3x();
+   }
+
+   public boolean isExceptionOnRollback()
+   {
+      return delegate.isExceptionOnRollback();
+   }
+
+   public boolean isExcludeMissingMethods()
+   {
+      return delegate.isExcludeMissingMethods();
+   }
+
+
+}


Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossMetaDataProxy.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native




More information about the jboss-cvs-commits mailing list