[jboss-cvs] JBossAS SVN: r93468 - projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Sep 14 08:35:10 EDT 2009
Author: jeff.zhang
Date: 2009-09-14 08:35:09 -0400 (Mon, 14 Sep 2009)
New Revision: 93468
Modified:
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/Annotations.java
Log:
[JBJCA-145][JBJCA-102] merge metadata and annotation
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/Annotations.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/Annotations.java 2009-09-14 12:32:56 UTC (rev 93467)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/Annotations.java 2009-09-14 12:35:09 UTC (rev 93468)
@@ -43,14 +43,27 @@
import org.jboss.logging.Logger;
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+import org.jboss.metadata.javaee.spec.DescriptionImpl;
+import org.jboss.metadata.javaee.spec.DescriptionsImpl;
+import org.jboss.metadata.javaee.spec.DisplayNameImpl;
+import org.jboss.metadata.javaee.spec.DisplayNamesImpl;
+import org.jboss.metadata.javaee.spec.IconImpl;
+import org.jboss.metadata.javaee.spec.IconsImpl;
+
+import org.jboss.metadata.rar.spec.ActivationspecMetaData;
import org.jboss.metadata.rar.spec.AdminObjectMetaData;
import org.jboss.metadata.rar.spec.AuthenticationMechanismMetaData;
+import org.jboss.metadata.rar.spec.ConfigPropertyMetaData;
+import org.jboss.metadata.rar.spec.ConnectionDefinitionMetaData;
import org.jboss.metadata.rar.spec.ConnectorMetaData;
import org.jboss.metadata.rar.spec.InboundRaMetaData;
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.MessageAdapterMetaData;
+import org.jboss.metadata.rar.spec.MessageListenerMetaData;
import org.jboss.metadata.rar.spec.OutboundRaMetaData;
import org.jboss.metadata.rar.spec.ResourceAdapterMetaData;
import org.jboss.metadata.rar.spec.SecurityPermissionMetaData;
@@ -179,18 +192,41 @@
}
}
+ DescriptionGroupMetaData descGroup = new DescriptionGroupMetaData();
+ md.setDescriptionGroup(descGroup);
+
// Description
String[] description = c.description();
if (description != null)
{
- // TODO
+ if (descGroup.getDescriptions() == null)
+ {
+ DescriptionsImpl descsImpl = new DescriptionsImpl();
+ descGroup.setDescriptions(descsImpl);
+ }
+ for (String desc : description)
+ {
+ DescriptionImpl descImpl = new DescriptionImpl();
+ descImpl.setDescription(desc);
+ ((DescriptionsImpl)descGroup.getDescriptions()).add(descImpl);
+ }
}
// Display name
String[] displayName = c.displayName();
if (displayName != null)
{
- // TODO
+ if (descGroup.getDisplayNames() == null)
+ {
+ DisplayNamesImpl dnsImpl = new DisplayNamesImpl();
+ descGroup.setDisplayNames(dnsImpl);
+ }
+ for (String dn : displayName)
+ {
+ DisplayNameImpl dnImpl = new DisplayNameImpl();
+ dnImpl.setDisplayName(dn);
+ ((DisplayNamesImpl)descGroup.getDisplayNames()).add(dnImpl);
+ }
}
// EIS type
@@ -205,7 +241,17 @@
String[] largeIcon = c.largeIcon();
if (largeIcon != null)
{
- // TODO
+ if (descGroup.getIcons() == null)
+ {
+ IconsImpl icsImpl = new IconsImpl();
+ descGroup.setIcons(icsImpl);
+ }
+ for (String large : largeIcon)
+ {
+ IconImpl icImpl = new IconImpl();
+ icImpl.setLargeIcon(large);
+ ((IconsImpl)descGroup.getIcons()).add(icImpl);
+ }
}
// License description
@@ -215,7 +261,17 @@
if (md.getLicense() == null)
md.setLicense(new LicenseMetaData());
- // TODO
+ if (md.getLicense().getDescriptions() == null)
+ {
+ DescriptionsImpl descsImpl = new DescriptionsImpl();
+ md.getLicense().setDescriptions(descsImpl);
+ }
+ for (String desc : licenseDescription)
+ {
+ DescriptionImpl descImpl = new DescriptionImpl();
+ descImpl.setDescription(desc);
+ ((DescriptionsImpl)md.getLicense().getDescriptions()).add(descImpl);
+ }
}
// License required
@@ -304,7 +360,28 @@
String[] smallIcon = c.smallIcon();
if (smallIcon != null)
{
- // TODO
+ IconsImpl icsImpl;
+ if (descGroup.getIcons() == null)
+ {
+ icsImpl = new IconsImpl();
+ descGroup.setIcons(icsImpl);
+ }
+ else
+ {
+ icsImpl = (IconsImpl)descGroup.getIcons();
+ }
+ IconImpl[] icArray = icsImpl.toArray(new IconImpl[]{});
+ for (int i = 0; i < smallIcon.length; i++)
+ {
+ if (i < icArray.length)
+ icArray[i].setSmallIcon(smallIcon[i]);
+ else
+ {
+ IconImpl icImpl = new IconImpl();
+ icImpl.setLargeIcon(smallIcon[i]);
+ icsImpl.add(icImpl);
+ }
+ }
}
// Spec version
@@ -390,6 +467,18 @@
ConnectionDefinitions cds)
throws Exception
{
+ if (md.getRa() == null)
+ {
+ md.setRa(new ResourceAdapterMetaData());
+ }
+ if (md.getRa().getOutboundRa() == null)
+ {
+ md.getRa().setOutboundRa(new OutboundRaMetaData());
+ }
+ if (md.getRa().getOutboundRa().getConDefs() == null)
+ {
+ md.getRa().getOutboundRa().setConDefs(new ArrayList<ConnectionDefinitionMetaData>());
+ }
return md;
}
@@ -432,6 +521,25 @@
ConnectionDefinition cd)
throws Exception
{
+ if (md.getRa() == null)
+ {
+ md.setRa(new ResourceAdapterMetaData());
+ }
+ if (md.getRa().getOutboundRa() == null)
+ {
+ md.getRa().setOutboundRa(new OutboundRaMetaData());
+ }
+ if (md.getRa().getOutboundRa().getConDefs() == null)
+ {
+ md.getRa().getOutboundRa().setConDefs(new ArrayList<ConnectionDefinitionMetaData>());
+ }
+
+ ConnectionDefinitionMetaData cdMeta = new ConnectionDefinitionMetaData();
+ cdMeta.setConnectionFactoryInterfaceClass(cd.connectionFactory().getName());
+ cdMeta.setConnectionFactoryImplementationClass(cd.connectionFactoryImpl().getName());
+ cdMeta.setConnectionInterfaceClass(cd.connection().getName());
+ cdMeta.setConnectionImplementationClass(cd.connectionImpl().getName());
+ md.getRa().getOutboundRa().getConDefs().add(cdMeta);
return md;
}
@@ -474,6 +582,20 @@
ConfigProperty configProperty)
throws Exception
{
+ ConfigPropertyMetaData cfgMeta = new ConfigPropertyMetaData();
+ cfgMeta.setValue(configProperty.defaultValue());
+ cfgMeta.setType(configProperty.type().getName());
+ cfgMeta.setIgnore(configProperty.ignore());
+ if (cfgMeta.getDescriptions() == null)
+ {
+ DescriptionsImpl descsImpl = new DescriptionsImpl();
+ cfgMeta.setDescriptions(descsImpl);
+ }
+ DescriptionImpl descImpl = new DescriptionImpl();
+ descImpl.setDescription(configProperty.description());
+ ((DescriptionsImpl)cfgMeta.getDescriptions()).add(descImpl);
+
+ //TODO judge config belong to which object
return md;
}
@@ -545,6 +667,16 @@
credentialInterfaceClass = "javax.resource.spi.security.PasswordCredential";
}
ammd.setCredentialInterfaceClass(credentialInterfaceClass);
+
+ if (ammd.getDescriptions() == null)
+ {
+ DescriptionsImpl descsImpl = new DescriptionsImpl();
+ ammd.setDescriptions(descsImpl);
+ }
+ DescriptionImpl descImpl = new DescriptionImpl();
+ descImpl.setDescription(authenticationmechanism.description());
+ ((DescriptionsImpl)ammd.getDescriptions()).add(descImpl);
+
md.getRa().getOutboundRa().getAuthMechanisms().add(ammd);
return md;
@@ -653,7 +785,23 @@
{
md.getRa().setInboundRa(new InboundRaMetaData());
}
- //TODO
+ if (md.getRa().getInboundRa().getMessageAdapter() == null)
+ {
+ md.getRa().getInboundRa().setMessageAdapter(new MessageAdapterMetaData());
+ }
+ if (md.getRa().getInboundRa().getMessageAdapter().getMessageListeners() == null)
+ {
+ md.getRa().getInboundRa().getMessageAdapter().setMessageListeners(new ArrayList<MessageListenerMetaData>());
+ }
+ for (Class asClass : activation.messageListeners())
+ {
+ ActivationspecMetaData asMeta = new ActivationspecMetaData();
+ asMeta.setAsClass(asClass.getName());
+ MessageListenerMetaData mlMeta = new MessageListenerMetaData();
+ mlMeta.setActivationSpecType(asMeta);
+ //TODO miss type, which should be get from annotation parser
+ md.getRa().getInboundRa().getMessageAdapter().getMessageListeners().add(mlMeta);
+ }
return md;
}
}
More information about the jboss-cvs-commits
mailing list