}
gbeanData.setAttribute("persistenceUnitTransactionType", persistenceUnit.getTransactionType().toString());
if (persistenceUnit.isSetJtaDataSource()) {
String jtaDataSourceString = persistenceUnit.getJtaDataSource().trim();
try {
AbstractNameQuery jtaDataSourceNameQuery = new AbstractNameQuery(new URI(jtaDataSourceString + "#org.apache.geronimo.connector.outbound.ConnectionFactorySource"));
gbeanData.setReferencePattern("JtaDataSourceWrapper", jtaDataSourceNameQuery);
} catch (URISyntaxException e) {
throw new DeploymentException("Could not create jta-data-source AbstractNameQuery from string: " + jtaDataSourceString, e);
}
}
if (persistenceUnit.isSetNonJtaDataSource()) {
String nonJtaDataSourceString = persistenceUnit.getNonJtaDataSource().trim();
try {
AbstractNameQuery nonJtaDataSourceNameQuery = new AbstractNameQuery(new URI(nonJtaDataSourceString + "#org.apache.geronimo.connector.outbound.ConnectionFactorySource"));
gbeanData.setReferencePattern("NonJtaDataSourceWrapper", nonJtaDataSourceNameQuery);
} catch (URISyntaxException e) {
throw new DeploymentException("Could not create non-jta-data-source AbstractNameQuery from string: " + nonJtaDataSourceString, e);
}
}
List<String> mappingFileNames = new ArrayList<String>();
String[] mappingFileNameStrings = persistenceUnit.getMappingFileArray();
for (String mappingFileNameString : mappingFileNameStrings) {
mappingFileNames.add(mappingFileNameString.trim());
}
gbeanData.setAttribute("mappingFileNames", mappingFileNames);
List<URL> jarFileUrls = new ArrayList<URL>();
String[] jarFileUrlStrings = persistenceUnit.getJarFileArray();
for (String jarFileUrlString1 : jarFileUrlStrings) {
String jarFileUrlString = jarFileUrlString1.trim();
try {
URL jarFileUrl = new URL(jarFileUrlString);
jarFileUrls.add(jarFileUrl);
} catch (MalformedURLException e) {
throw new DeploymentException("could not create URL for jarFileURL", e);
}
}
gbeanData.setAttribute("jarFileUrls", jarFileUrls);
//TODO what is this from??
// URL persistenceUnitRootUrl = new URL(persistenceUnit.get)
// gbeanData.setAttribute("persistenceUnitRootUrl", persistenceUnitRootUrl);
String[] managedClassNameStrings = persistenceUnit.getClass1Array();
List<String> managedClassNames = new ArrayList<String>();
for (String managedClassNameString : managedClassNameStrings) {
managedClassNames.add(managedClassNameString.trim());
}
gbeanData.setAttribute("managedClassNames", managedClassNames);
if (persistenceUnit.isSetExcludeUnlistedClasses()) {
gbeanData.setAttribute("excludeUnlistedClasses", persistenceUnit.getExcludeUnlistedClasses());
} else {
gbeanData.setAttribute("excludeUnlistedClasses", false);
}
Properties properties = new Properties();
if (persistenceUnit.isSetProperties()) {
PersistenceDocument.Persistence.PersistenceUnit.Properties.Property[] propertyObjects = persistenceUnit.getProperties().getPropertyArray();
for (PersistenceDocument.Persistence.PersistenceUnit.Properties.Property propertyObject : propertyObjects)
{
String key = propertyObject.getName().trim();
String value = propertyObject.getValue().trim();
properties.setProperty(key, value);
}
}
gbeanData.setAttribute("properties", properties);
if (moduleContext instanceof EARContext) {
AbstractNameQuery transactionManagerName = ((EARContext) moduleContext).getTransactionManagerName();
gbeanData.setReferencePattern("TransactionManager", transactionManagerName);
}
}
}
}