[jboss-cvs] JBossAS SVN: r91349 - projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jul 16 12:06:53 EDT 2009


Author: jesper.pedersen
Date: 2009-07-16 12:06:52 -0400 (Thu, 16 Jul 2009)
New Revision: 91349

Modified:
   projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/Annotations.java
Log:
[JBJCA-101] SJC/RADeployer: Annotations (Part 3)

Modified: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/Annotations.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/Annotations.java	2009-07-16 15:54:22 UTC (rev 91348)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/ra/Annotations.java	2009-07-16 16:06:52 UTC (rev 91349)
@@ -25,6 +25,7 @@
 import org.jboss.jca.sjc.annotationscanner.Annotation;
 import org.jboss.jca.sjc.deployers.DeployException;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -36,11 +37,18 @@
 import javax.resource.spi.ConnectionDefinitions;
 import javax.resource.spi.Connector;
 import javax.resource.spi.SecurityPermission;
+import javax.resource.spi.TransactionSupport;
+import javax.resource.spi.work.WorkContext;
 
 import org.jboss.logging.Logger;
 
 import org.jboss.metadata.rar.spec.ConnectorMetaData;
+import org.jboss.metadata.rar.spec.JCA16DTDMetaData;
+import org.jboss.metadata.rar.spec.JCA16DefaultNSMetaData;
 import org.jboss.metadata.rar.spec.JCA16MetaData;
+import org.jboss.metadata.rar.spec.LicenseMetaData;
+import org.jboss.metadata.rar.spec.ResourceAdapterMetaData;
+import org.jboss.metadata.rar.spec.SecurityPermissionMetaData;
 
 /**
  * The annotation processor for JCA 1.6
@@ -81,7 +89,11 @@
       */
 
       if (md == null)
-         md = new JCA16MetaData();
+      {
+         JCA16MetaData jmd = new JCA16MetaData();
+         jmd.setMetadataComplete(false);
+         md = jmd;
+      }
 
       // @Connector
       md = processConnector(md, annotations);
@@ -147,8 +159,163 @@
    private static ConnectorMetaData attachConnector(ConnectorMetaData md, Connector c)
       throws Exception
    {
+      // AuthenticationMechanism
+      AuthenticationMechanism[] authMechanisms = c.authMechanisms();
+      if (authMechanisms != null)
+      {
+         for (AuthenticationMechanism authMechanism : authMechanisms)
+         {
+            attachAuthenticationMechanism(md, authMechanism);
+         }
+      }
+
+      // Description
+      String[] description = c.description();
+      if (description != null)
+      {
+         // TODO
+      }
+
+      // Display name
+      String[] displayName = c.displayName();
+      if (displayName != null)
+      {
+         // TODO
+      }
+
+      // EIS type
+      String eisType = c.eisType();
+      if (eisType != null)
+      {
+         if (md.getEISType() == null)
+            md.setEISType(eisType);
+      }
+
+      // Large icon
+      String[] largeIcon = c.largeIcon();
+      if (largeIcon != null)
+      {
+         // TODO
+      }
+
+      // License description
+      String[] licenseDescription = c.licenseDescription();
+      if (licenseDescription != null)
+      {
+         if (md.getLicense() == null)
+            md.setLicense(new LicenseMetaData());
+
+         // TODO
+      }
+
+      // License required
+      boolean licenseRequired = c.licenseRequired();
+      if (md.getLicense() == null)
+         md.setLicense(new LicenseMetaData());
+      md.getLicense().setRequired(licenseRequired);
+
+      // Reauthentication support
+      boolean reauthenticationSupport = c.reauthenticationSupport();
+      // TODO
+
+      // RequiredWorkContext
+      Class<? extends WorkContext>[] requiredWorkContexts = c.requiredWorkContexts();
+      if (requiredWorkContexts != null)
+      {
+         for (Class<? extends WorkContext> requiredWorkContext : requiredWorkContexts)
+         {
+            if (md instanceof JCA16MetaData)
+            {
+               JCA16MetaData jmd = (JCA16MetaData)md;
+               if (jmd.getRequiredWorkContexts() == null)
+                  jmd.setRequiredWorkContexts(new ArrayList<String>());
+
+               if (!jmd.getRequiredWorkContexts().contains(requiredWorkContext.getName()))
+               {
+                  if (trace)
+                     log.trace("RequiredWorkContext=" + requiredWorkContext.getName());
+
+                  jmd.getRequiredWorkContexts().add(requiredWorkContext.getName());
+               }
+            }
+            else if (md instanceof JCA16DefaultNSMetaData)
+            {
+               JCA16DefaultNSMetaData jmd = (JCA16DefaultNSMetaData)md;
+               if (jmd.getRequiredWorkContexts() == null)
+                  jmd.setRequiredWorkContexts(new ArrayList<String>());
+
+               if (!jmd.getRequiredWorkContexts().contains(requiredWorkContext.getName()))
+               {
+                  if (trace)
+                     log.trace("RequiredWorkContext=" + requiredWorkContext.getName());
+
+                  jmd.getRequiredWorkContexts().add(requiredWorkContext.getName());
+               }
+            }
+            else if (md instanceof JCA16DTDMetaData)
+            {
+               JCA16DTDMetaData jmd = (JCA16DTDMetaData)md;
+               if (jmd.getRequiredWorkContexts() == null)
+                  jmd.setRequiredWorkContexts(new ArrayList<String>());
+
+               if (!jmd.getRequiredWorkContexts().contains(requiredWorkContext.getName()))
+               {
+                  if (trace)
+                     log.trace("RequiredWorkContext=" + requiredWorkContext.getName());
+
+                  jmd.getRequiredWorkContexts().add(requiredWorkContext.getName());
+               }
+            }
+         }
+      }
+
+      // Security permission
       SecurityPermission[] securityPermissions = c.securityPermissions();
+      if (securityPermissions != null)
+      {
+         if (md.getRa() == null)
+            md.setRa(new ResourceAdapterMetaData());
 
+         if (md.getRa().getSecurityPermissions() == null)
+            md.getRa().setSecurityPermissions(new ArrayList<SecurityPermissionMetaData>());
+
+         for (SecurityPermission securityPermission : securityPermissions)
+         {
+            // TODO
+         }
+      }
+
+      // Small icon
+      String[] smallIcon = c.smallIcon();
+      if (smallIcon != null)
+      {
+         // TODO
+      }
+
+      // Spec version
+      String specVersion = c.specVersion();
+      md.setVersion("1.6");
+
+      // Transaction support
+      TransactionSupport.TransactionSupportLevel transactionSupport = c.transactionSupport();
+      // TODO
+
+      // Vendor name
+      String vendorName = c.vendorName();
+      if (vendorName != null)
+      {
+         if (md.getVendorName() == null)
+            md.setVendorName(vendorName);
+      }
+
+      // Version
+      String version = c.version();
+      if (version != null)
+      {
+         if (md.getRAVersion() == null)
+            md.setRAVersion(version);
+      }
+
       return md;
    }
 




More information about the jboss-cvs-commits mailing list