You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2010/06/24 20:06:33 UTC
svn commit: r957655 [7/15] - in /geronimo/server/trunk: ./
framework/configs/geronimo-gbean-deployer-bootstrap/src/main/history/
framework/configs/geronimo-gbean-deployer/src/main/history/
framework/configs/jsr88-cli/src/main/history/ framework/configs...
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/MergeHelper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/MergeHelper.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/MergeHelper.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/MergeHelper.java Thu Jun 24 18:06:24 2010
@@ -82,13 +82,11 @@ import org.apache.geronimo.web25.deploym
import org.apache.geronimo.web25.deployment.merge.webfragment.WebFragmentMergeHandler;
import org.apache.geronimo.web25.deployment.merge.webfragment.WelcomeFileListMergeHandler;
import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.AbsoluteOrderingType;
-import org.apache.geronimo.xbeans.javaee6.JavaIdentifierType;
-import org.apache.geronimo.xbeans.javaee6.OrderingOrderingType;
-import org.apache.geronimo.xbeans.javaee6.OrderingType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentDocument;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.AbsoluteOrdering;
+import org.apache.openejb.jee.OrderingOrdering;
+import org.apache.openejb.jee.Ordering;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
import org.apache.xbean.finder.BundleAnnotationFinder;
import org.apache.xbean.finder.BundleAssignableClassFinder;
import org.apache.xbean.osgi.bundle.util.BundleClassFinder;
@@ -136,69 +134,52 @@ public class MergeHelper {
* 2.2 No, Construct the EXCLUDED_JAR_URLS, which is required by many other components,
* even the Servlet Container for dynamic ServletRegistration/FilterRegistration
*/
- public static WebFragmentEntry[] absoluteOrderWebFragments(EARContext earContext, Module module, Bundle bundle, WebAppType webApp, Map<String, WebFragmentEntry> webFragmentEntryMap)
+ public static WebFragmentEntry[] absoluteOrderWebFragments(EARContext earContext, Module module, Bundle bundle, WebApp webApp, Map<String, WebFragmentEntry> webFragmentEntryMap)
throws DeploymentException {
- AbsoluteOrderingType absoluteOrdering = webApp.getAbsoluteOrderingArray()[0];
+ AbsoluteOrdering absoluteOrdering = webApp.getAbsoluteOrdering();
Set<String> expliciteConfiguredWebFragmentNames = new LinkedHashSet<String>();
List<WebFragmentEntry> orderedWebFragments = new LinkedList<WebFragmentEntry>();
- boolean othersConfigured = absoluteOrdering.getOthersArray().length != 0;
- if (othersConfigured) {
- /*
- * If the <others/> element appears directly within the <absolute-
- ordering> element, the runtime must ensure that any web-fragments not
- explicitly named in the <absolute-ordering> section are included at that
- point in the processing order.
- * Seems that in xmlbeans, there is no way to know the initial order of the elements
- * So using native operation of Node to iterator all the sub elements of absolute-ording
- */
- NodeList absoluteOrderingChildren = absoluteOrdering.getDomNode().getChildNodes();
- int iOthersIndex = -1;
- for (int i = 0; i < absoluteOrderingChildren.getLength(); i++) {
- Node node = absoluteOrderingChildren.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- if (node.getNodeName().equals("name")) {
- String webFragmentName = node.getChildNodes().item(0).getNodeValue();
- if (webFragmentEntryMap.containsKey(webFragmentName) && !expliciteConfiguredWebFragmentNames.contains(webFragmentName)) {
- expliciteConfiguredWebFragmentNames.add(webFragmentName);
- orderedWebFragments.add(webFragmentEntryMap.get(webFragmentName));
- }
- } else if (node.getNodeName().equals("others")) {
- iOthersIndex = expliciteConfiguredWebFragmentNames.size();
- }
- }
- }
- //Process left named web-fragment.xml files
- for (String webFragmentName : webFragmentEntryMap.keySet()) {
- if (!expliciteConfiguredWebFragmentNames.contains(webFragmentName)) {
- orderedWebFragments.add(iOthersIndex++, webFragmentEntryMap.get(webFragmentName));
- }
- }
- } else {
- for (JavaIdentifierType javaIdentifier : absoluteOrdering.getNameArray()) {
- String webFragmentName = javaIdentifier.getStringValue();
- // Only process the web-fragment.xml when it is present and it is not processed before
- if (webFragmentEntryMap.containsKey(webFragmentName) && !expliciteConfiguredWebFragmentNames.contains(webFragmentName)) {
- expliciteConfiguredWebFragmentNames.add(webFragmentName);
- orderedWebFragments.add(webFragmentEntryMap.get(webFragmentName));
- }
- }
- // EXCLUDED_JAR_URLS is required for TLD scanning, ServletContainerInitializer scanning and ServletContextListeners.
- // So does it mean that we always need to scan web-fragment.xml whatever meta-complete is set with true or false.
- Set<String> excludedURLs = AbstractWebModuleBuilder.EXCLUDED_JAR_URLS.get(earContext.getGeneralData());
- //Add left named web-fragment.xml file URLs to the EXCLUDED_JAR_URLS List
- for (String foundedWebFragementName : webFragmentEntryMap.keySet()) {
- if (!expliciteConfiguredWebFragmentNames.contains(foundedWebFragementName)) {
- excludedURLs.add(webFragmentEntryMap.get(foundedWebFragementName).getJarURL());
- }
+
+ Map<String, WebFragmentEntry> unusedWebFragmentEntryMap = new LinkedHashMap<String, WebFragmentEntry>(webFragmentEntryMap);
+ for (Object o: absoluteOrdering.getNameOrOthers()) {
+ if (o instanceof String) {
+ //web fragment name
+ String webFragmentName = (String) o;
+ unusedWebFragmentEntryMap.remove(webFragmentName);
+ }
+ }
+ for (Object o: absoluteOrdering.getNameOrOthers()) {
+ if (o instanceof String) {
+ //web fragment name
+ String webFragmentName = (String) o;
+ // Only process the web-fragment.xml when it is present and it is not processed before
+ if (webFragmentEntryMap.containsKey(webFragmentName) && !expliciteConfiguredWebFragmentNames.contains(webFragmentName)) {
+ expliciteConfiguredWebFragmentNames.add(webFragmentName);
+ orderedWebFragments.add(webFragmentEntryMap.get(webFragmentName));
+ }
+ } else {
+ //"other""
+ expliciteConfiguredWebFragmentNames.addAll(unusedWebFragmentEntryMap.keySet());
+ orderedWebFragments.addAll(unusedWebFragmentEntryMap.values());
+ unusedWebFragmentEntryMap.clear();
}
+
+ }
+ // EXCLUDED_JAR_URLS is required for TLD scanning, ServletContainerInitializer scanning and ServletContextListeners.
+ // So does it mean that we always need to scan web-fragment.xml whatever meta-complete is set with true or false.
+ Set<String> excludedURLs = AbstractWebModuleBuilder.EXCLUDED_JAR_URLS.get(earContext.getGeneralData());
+ //Add left named web-fragment.xml file URLs to the EXCLUDED_JAR_URLS List
+ for (WebFragmentEntry excludedFragment : unusedWebFragmentEntryMap.values()) {
+ excludedURLs.add(excludedFragment.getJarURL());
}
+
WebFragmentEntry[] webFragmentEntries = orderedWebFragments.toArray(new WebFragmentEntry[0]);
saveOrderedLibAttribute(earContext, webFragmentEntries);
return webFragmentEntries;
}
@SuppressWarnings("unchecked")
- public static void mergeAnnotations(Bundle bundle, WebAppType webApp, MergeContext mergeContext, final String prefix) throws DeploymentException {
+ public static void mergeAnnotations(Bundle bundle, WebApp webApp, MergeContext mergeContext, final String prefix) throws DeploymentException {
final boolean isJarFile = prefix.endsWith(".jar");
try {
BundleAnnotationFinder bundleAnnotationFinder = new BundleAnnotationFinder(null, bundle, new ResourceDiscoveryFilter() {
@@ -344,8 +325,8 @@ public class MergeHelper {
}
}
- public static void processWebFragmentsAndAnnotations(EARContext earContext, Module module, Bundle bundle, WebAppType webApp) throws DeploymentException {
- final Map<String, WebFragmentDocument> jarUrlWebFragmentDocumentMap = new LinkedHashMap<String, WebFragmentDocument>();
+ public static void processWebFragmentsAndAnnotations(EARContext earContext, Module module, Bundle bundle, WebApp webApp) throws DeploymentException {
+ final Map<String, WebFragment> jarUrlWebFragmentDocumentMap = new LinkedHashMap<String, WebFragment>();
//TODO Double check the name prefix once we have ear support
final String validJarNamePrefix = module.isStandAlone() ? "WEB-INF/lib" : module.getTargetPath() + "/WEB-INF/lib";
WebFragmentEntry[] webFragmentEntries = null;
@@ -356,14 +337,14 @@ public class MergeHelper {
if (!url.endsWith(".jar")) {
continue;
}
- WebFragmentDocument webFragmentDocument = null;
+ WebFragment webFragment = null;
ZipInputStream in = null;
try {
in = new ZipInputStream(bundle.getEntry(url).openStream());
ZipEntry entry;
while ((entry = in.getNextEntry()) != null) {
if (entry.getName().equals("META-INF/web-fragment.xml")) {
- webFragmentDocument = (WebFragmentDocument) XmlBeansUtil.parse(in);
+ webFragment = (WebFragment) XmlBeansUtil.parse(in);
break;
}
}
@@ -376,11 +357,10 @@ public class MergeHelper {
} finally {
IOUtils.close(in);
}
- if (webFragmentDocument == null) {
- webFragmentDocument = WebFragmentDocument.Factory.newInstance();
- webFragmentDocument.setWebFragment(WebFragmentType.Factory.newInstance());
+ if (webFragment == null) {
+ webFragment = new WebFragment();
}
- jarUrlWebFragmentDocumentMap.put(url, webFragmentDocument);
+ jarUrlWebFragmentDocumentMap.put(url, webFragment);
}
webFragmentEntries = sortWebFragments(earContext, module, bundle, webApp, jarUrlWebFragmentDocumentMap);
} else {
@@ -396,22 +376,22 @@ public class MergeHelper {
WEB_LISTENER_ANNOTATION_MERGE_HANDLER.preProcessWebXmlElement(webApp, mergeContext);
SERVLET_SECURITY_ANNOTATION_MERGE_HANDLER.preProcessWebXmlElement(webApp, mergeContext);
//Pre-process each web fragment
- for (WebFragmentMergeHandler<WebFragmentType, WebAppType> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
+ for (WebFragmentMergeHandler<WebFragment, WebApp> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
webFragmentMergeHandler.preProcessWebXmlElement(webApp, mergeContext);
}
//Merge the web fragment and annotations to web.xml
for (WebFragmentEntry webFragmentEntry : webFragmentEntries) {
mergeContext.setWebFragmentEntry(webFragmentEntry);
- WebFragmentType webFragment = webFragmentEntry.getWebFragment();
- for (WebFragmentMergeHandler<WebFragmentType, WebAppType> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
+ WebFragment webFragment = webFragmentEntry.getWebFragment();
+ for (WebFragmentMergeHandler<WebFragment, WebApp> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
webFragmentMergeHandler.merge(webFragment, webApp, mergeContext);
}
- if (!webFragment.getMetadataComplete()) {
+ if (!webFragment.isMetadataComplete()) {
mergeAnnotations(bundle, webApp, mergeContext, webFragmentEntry.getJarURL());
}
}
mergeContext.setWebFragmentEntry(null);
- for (WebFragmentMergeHandler<WebFragmentType, WebAppType> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
+ for (WebFragmentMergeHandler<WebFragment, WebApp> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
webFragmentMergeHandler.postProcessWebXmlElement(webApp, mergeContext);
}
//Merge the annotations found in WEB-INF/classes folder
@@ -424,7 +404,7 @@ public class MergeHelper {
mergeContext.clearup();
}
- public static WebFragmentEntry[] relativeOrderWebFragments(EARContext earContext, Module module, Bundle bundle, WebAppType webApp, Map<String, WebFragmentEntry> webFragmentEntryMap)
+ public static WebFragmentEntry[] relativeOrderWebFragments(EARContext earContext, Module module, Bundle bundle, WebApp webApp, Map<String, WebFragmentEntry> webFragmentEntryMap)
throws DeploymentException {
Map<String, WebFragmentOrderEntry> webFragmentOrderEntryMap = new LinkedHashMap<String, WebFragmentOrderEntry>();
//Step 1 : Create WebFragmentOrderEntry for sorting web fragments easily
@@ -432,20 +412,20 @@ public class MergeHelper {
for (String webFragmentName : webFragmentEntryMap.keySet()) {
WebFragmentEntry webFragmentEntry = webFragmentEntryMap.get(webFragmentName);
if (!relativeSortRequired) {
- relativeSortRequired = webFragmentEntry.getWebFragment().getOrderingArray().length > 0;
+ relativeSortRequired = webFragmentEntry.getWebFragment().getOrdering() != null;
}
webFragmentOrderEntryMap.put(webFragmentName, WebFragmentOrderEntry.create(webFragmentEntry));
}
//If none of the web-fragment.xml defines the order element, the order of jar files are unknown
if (!relativeSortRequired) {
- WebFragmentEntry[] webFragmentTypes = new WebFragmentEntry[webFragmentOrderEntryMap.size()];
+ WebFragmentEntry[] WebFragments = new WebFragmentEntry[webFragmentOrderEntryMap.size()];
int iIndex = 0;
for (WebFragmentOrderEntry webFragmentOrderEntry : webFragmentOrderEntryMap.values()) {
- webFragmentTypes[iIndex++] = webFragmentOrderEntry.webFragmentEntry;
+ WebFragments[iIndex++] = webFragmentOrderEntry.webFragmentEntry;
}
//TODO really not save?
- // saveOrderedLibAttribute(earContext, webFragmentTypes);
- return webFragmentTypes;
+ // saveOrderedLibAttribute(earContext, WebFragments);
+ return WebFragments;
}
LinkedList<WebFragmentOrderEntry> webFragmentOrderEntryList = null;
if (relativeSortRequired) {
@@ -477,25 +457,24 @@ public class MergeHelper {
}
}
}
- WebFragmentEntry[] webFragmentTypes = new WebFragmentEntry[webFragmentOrderEntryList.size()];
+ WebFragmentEntry[] WebFragments = new WebFragmentEntry[webFragmentOrderEntryList.size()];
int iIndex = 0;
for (WebFragmentOrderEntry webFragmentOrderEntry : webFragmentOrderEntryList) {
- webFragmentTypes[iIndex++] = webFragmentOrderEntry.webFragmentEntry;
+ WebFragments[iIndex++] = webFragmentOrderEntry.webFragmentEntry;
}
- saveOrderedLibAttribute(earContext, webFragmentTypes);
- return webFragmentTypes;
+ saveOrderedLibAttribute(earContext, WebFragments);
+ return WebFragments;
}
- public static WebFragmentEntry[] sortWebFragments(EARContext earContext, Module module, Bundle bundle, WebAppType webApp, Map<String, WebFragmentDocument> jarURLDocumentMap)
+ public static WebFragmentEntry[] sortWebFragments(EARContext earContext, Module module, Bundle bundle, WebApp webApp, Map<String, WebFragment> jarURLDocumentMap)
throws DeploymentException {
Map<String, WebFragmentEntry> webFragmentEntryMap = new HashMap<String, WebFragmentEntry>(jarURLDocumentMap.size());
- boolean absoluteOrderingConfigured = webApp.getAbsoluteOrderingArray().length != 0;
+ boolean absoluteOrderingConfigured = webApp.getAbsoluteOrdering() != null;
Set<String> usedWebFragmentNames = new HashSet<String>();
- Map<String, WebFragmentType> unnamedWebFragmentMap = new HashMap<String, WebFragmentType>();
+ Map<String, WebFragment> unnamedWebFragmentMap = new HashMap<String, WebFragment>();
for (String jarURL : jarURLDocumentMap.keySet()) {
- WebFragmentType webFragment = jarURLDocumentMap.get(jarURL).getWebFragment();
- JavaIdentifierType[] names = webFragment.getNameArray();
- String webFragmentName = names.length == 0 ? null : names[0].getStringValue();
+ WebFragment webFragment = jarURLDocumentMap.get(jarURL);
+ String webFragmentName = webFragment.getName();
if (webFragmentName != null) {
if (webFragmentEntryMap.containsKey(webFragmentName)) {
//TODO Please correct my understanding about how to handle the duplicate web-fragment name (spec 8.2.2)
@@ -518,17 +497,13 @@ public class MergeHelper {
unnamedWebFragmentMap.put(jarURL, webFragment);
}
//Add names configurations in before/after, so that we would not add an existing name for those unamed web fragment by sudden.
- if (webFragment.getOrderingArray().length > 0) {
- OrderingType order = webFragment.getOrderingArray()[0];
+ if (webFragment.getOrdering() != null) {
+ Ordering order = webFragment.getOrdering();
if (order.getBefore() != null) {
- for (JavaIdentifierType name : order.getBefore().getNameArray()) {
- usedWebFragmentNames.add(name.getStringValue());
- }
+ usedWebFragmentNames.addAll(order.getBefore().getName());
}
if (order.getAfter() != null) {
- for (JavaIdentifierType name : order.getAfter().getNameArray()) {
- usedWebFragmentNames.add(name.getStringValue());
- }
+ usedWebFragmentNames.addAll(order.getAfter().getName());
}
}
}
@@ -536,7 +511,7 @@ public class MergeHelper {
String tempNamePrefix = "geronimo-deployment";
int nameSubfix = 0;
for (String webFragmentURL : unnamedWebFragmentMap.keySet()) {
- WebFragmentType webFragment = unnamedWebFragmentMap.get(webFragmentURL);
+ WebFragment webFragment = unnamedWebFragmentMap.get(webFragmentURL);
String tempWebFragmentName = tempNamePrefix + nameSubfix++;
while (usedWebFragmentNames.contains(tempWebFragmentName)) {
tempWebFragmentName = tempNamePrefix + nameSubfix++;
@@ -623,32 +598,24 @@ public class MergeHelper {
public static WebFragmentOrderEntry create(WebFragmentEntry webFragmentEntry) throws DeploymentException {
WebFragmentOrderEntry webFragmentOrderEntry = new WebFragmentOrderEntry();
- WebFragmentType webFragment = webFragmentEntry.getWebFragment();
- if (webFragment.getOrderingArray().length > 0) {
- OrderingType ordering = webFragment.getOrderingArray()[0];
- OrderingOrderingType after = ordering.getAfter();
+ WebFragment webFragment = webFragmentEntry.getWebFragment();
+ if (webFragment.getOrdering() != null) {
+ Ordering ordering = webFragment.getOrdering();
+ OrderingOrdering after = ordering.getAfter();
if (after == null) {
webFragmentOrderEntry.afterDefined = false;
} else {
webFragmentOrderEntry.afterDefined = true;
webFragmentOrderEntry.afterOthers = (after.getOthers() != null);
- for (JavaIdentifierType afterEntryName : after.getNameArray()) {
- if (afterEntryName.getStringValue().length() > 0) {
- webFragmentOrderEntry.afterEntryNames.add(afterEntryName.getStringValue());
- }
- }
+ webFragmentOrderEntry.afterEntryNames.addAll(after.getName());
}
- OrderingOrderingType before = ordering.getBefore();
+ OrderingOrdering before = ordering.getBefore();
if (before == null) {
webFragmentOrderEntry.beforeDefined = false;
} else {
webFragmentOrderEntry.beforeDefined = true;
webFragmentOrderEntry.beforeOthers = (before.getOthers() != null);
- for (JavaIdentifierType beforeEntryName : before.getNameArray()) {
- if (beforeEntryName.getStringValue().length() > 0) {
- webFragmentOrderEntry.beforeEntryNames.add(beforeEntryName.getStringValue());
- }
- }
+ webFragmentOrderEntry.beforeEntryNames.addAll(before.getName());
}
}
if (webFragmentOrderEntry.beforeOthers && webFragmentOrderEntry.afterOthers) {
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/AnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/AnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/AnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/AnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -19,16 +19,16 @@ package org.apache.geronimo.web25.deploy
import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.web25.deployment.merge.MergeContext;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.openejb.jee.WebApp;
/**
* @version $Rev$ $Date$
*/
public interface AnnotationMergeHandler {
- public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException;
+ public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException;
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException;
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException;
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException;
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException;
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/ServletSecurityAnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/ServletSecurityAnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/ServletSecurityAnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/ServletSecurityAnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -25,8 +25,8 @@ import javax.servlet.annotation.ServletS
import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.web25.deployment.merge.MergeContext;
import org.apache.geronimo.web25.deployment.utils.WebDeploymentValidationUtils;
-import org.apache.geronimo.xbeans.javaee6.ServletType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+//import org.apache.openejb.jee.Servlet;
+import org.apache.openejb.jee.WebApp;
import org.osgi.framework.Bundle;
/**
@@ -37,18 +37,18 @@ import org.osgi.framework.Bundle;
public class ServletSecurityAnnotationMergeHandler implements AnnotationMergeHandler {
@Override
- public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
}
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
try {
Bundle bundle = mergeContext.getBundle();
- for (ServletType servlet : webApp.getServletArray()) {
- if (servlet.getServletClass() == null || servlet.getServletClass().getStringValue().isEmpty()) {
+ for (org.apache.openejb.jee.Servlet servlet : webApp.getServlet()) {
+ if (servlet.getServletClass() == null || servlet.getServletClass().isEmpty()) {
continue;
}
- String servletClassName = servlet.getServletClass().getStringValue();
+ String servletClassName = servlet.getServletClass();
Class<?> cls = bundle.loadClass(servletClassName);
if (!Servlet.class.isAssignableFrom(cls)) {
continue;
@@ -81,6 +81,6 @@ public class ServletSecurityAnnotationMe
}
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
}
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebFilterAnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebFilterAnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebFilterAnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebFilterAnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -28,11 +28,12 @@ import org.apache.geronimo.web25.deploym
import org.apache.geronimo.web25.deployment.merge.webfragment.FilterInitParamMergeHandler;
import org.apache.geronimo.web25.deployment.merge.webfragment.FilterMappingMergeHandler;
import org.apache.geronimo.web25.deployment.merge.webfragment.FilterMergeHandler;
-import org.apache.geronimo.xbeans.javaee6.FilterMappingType;
-import org.apache.geronimo.xbeans.javaee6.FilterType;
-import org.apache.geronimo.xbeans.javaee6.IconType;
-import org.apache.geronimo.xbeans.javaee6.ParamValueType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.openejb.jee.Dispatcher;
+import org.apache.openejb.jee.FilterMapping;
+import org.apache.openejb.jee.Icon;
+import org.apache.openejb.jee.ParamValue;
+import org.apache.openejb.jee.Text;
+import org.apache.openejb.jee.WebApp;
/**
* @version $Rev$ $Date$
@@ -40,7 +41,7 @@ import org.apache.geronimo.xbeans.javaee
public class WebFilterAnnotationMergeHandler implements AnnotationMergeHandler {
@Override
- public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
for (Class<?> cls : classes) {
if (!Filter.class.isAssignableFrom(cls)) {
throw new DeploymentException("The class " + cls.getName() + " with WebFilter annotation must implement javax.servlet.Filter");
@@ -59,62 +60,60 @@ public class WebFilterAnnotationMergeHan
String[] urlPatterns = valueAttributeConfigured ? webFilter.value() : webFilter.urlPatterns();
if (FilterMergeHandler.isFilterConfigured(filterName, mergeContext)) {
//merge the filter annotation configuration to current web.xml
- FilterType targetFilter = FilterMergeHandler.getFilter(filterName, mergeContext);
+ org.apache.openejb.jee.Filter targetFilter = FilterMergeHandler.getFilter(filterName, mergeContext);
//merge init-param
for (WebInitParam webInitParam : webFilter.initParams()) {
String paramName = webInitParam.name();
if (FilterInitParamMergeHandler.isFilterInitParamConfigured(filterName, paramName, mergeContext)) {
continue;
}
- ParamValueType newParamValue = targetFilter.addNewInitParam();
- newParamValue.addNewDescription().setStringValue(webInitParam.description());
- newParamValue.addNewParamName().setStringValue(webInitParam.name());
- newParamValue.addNewParamValue().setStringValue(webInitParam.value());
+ ParamValue newParamValue = newParamValue(webInitParam);
+ targetFilter.getInitParam().add(newParamValue);
FilterInitParamMergeHandler.addFilterInitParam(filterName, newParamValue, ElementSource.ANNOTATION, mergeContext.getCurrentJarUrl(), mergeContext);
}
} else {
//Create filter element
- FilterType newFilter = webApp.addNewFilter();
- newFilter.addNewFilterName().setStringValue(filterName);
- newFilter.addNewAsyncSupported().setBooleanValue(webFilter.asyncSupported());
+ org.apache.openejb.jee.Filter newFilter = new org.apache.openejb.jee.Filter();
+ webApp.getFilter().add(newFilter);
+ newFilter.setFilterName(filterName);
+ newFilter.setAsyncSupported(webFilter.asyncSupported());
if (!webFilter.description().isEmpty()) {
- newFilter.addNewDescription().setStringValue(webFilter.description());
+ newFilter.addDescription(new Text(null, webFilter.description()));
}
if (!webFilter.displayName().isEmpty()) {
- newFilter.addNewDisplayName().setStringValue(webFilter.displayName());
+ newFilter.addDisplayName(new Text(null, webFilter.displayName()));
}
- newFilter.addNewFilterClass().setStringValue(cls.getName());
+ newFilter.setFilterClass(cls.getName());
for (WebInitParam webInitParam : webFilter.initParams()) {
- ParamValueType paramValue = newFilter.addNewInitParam();
- paramValue.addNewDescription().setStringValue(webInitParam.description());
- paramValue.addNewParamName().setStringValue(webInitParam.name());
- paramValue.addNewParamValue().setStringValue(webInitParam.value());
+ newFilter.getInitParam().add(newParamValue(webInitParam));
}
if (!webFilter.smallIcon().isEmpty() || !webFilter.largeIcon().isEmpty()) {
- IconType iconType = newFilter.addNewIcon();
+ Icon icon = new Icon();
if (!webFilter.smallIcon().isEmpty()) {
- iconType.addNewSmallIcon().setStringValue(webFilter.smallIcon());
+ icon.setSmallIcon(webFilter.smallIcon());
}
if (!webFilter.largeIcon().isEmpty()) {
- iconType.addNewLargeIcon().setStringValue(webFilter.largeIcon());
+ icon.setLargeIcon(webFilter.largeIcon());
}
+ newFilter.getIconMap().put(null, icon);
}
FilterMergeHandler.addFilter(newFilter, mergeContext);
}
//filter-mapping configured in web.xml and web-fragment.xml will override the configurations from annotation
if (!FilterMappingMergeHandler.isFilterMappingConfigured(filterName, mergeContext)) {
//create filter-mapping element
- FilterMappingType filterMapping = webApp.addNewFilterMapping();
- filterMapping.addNewFilterName().setStringValue(filterName);
+ FilterMapping filterMapping = new FilterMapping();
+ filterMapping.setFilterName(filterName);
for (String servletName : webFilter.servletNames()) {
- filterMapping.addNewServletName().setStringValue(servletName);
+ filterMapping.getServletName().add(servletName);
}
for (DispatcherType dispatcherType : webFilter.dispatcherTypes()) {
- filterMapping.addNewDispatcher().setStringValue(dispatcherType.name());
+ filterMapping.getDispatcher().add(Dispatcher.fromValue(dispatcherType.name()));
}
for (String urlPattern : urlPatterns) {
- filterMapping.addNewUrlPattern().setStringValue(urlPattern);
+ filterMapping.getUrlPattern().add(urlPattern);
}
+ webApp.getFilterMapping().add(filterMapping);
FilterMappingMergeHandler.addFilterMapping(filterMapping, mergeContext);
//Set this tag, so that if any following web-fragment.xml has defined the url-patterns explicitly, it could drop the configurations from annotation
mergeContext.setAttribute(FilterMappingMergeHandler.createFilterMappingSourceKey(filterName), ElementSource.ANNOTATION);
@@ -122,11 +121,19 @@ public class WebFilterAnnotationMergeHan
}
}
+ public static ParamValue newParamValue(WebInitParam webInitParam) {
+ ParamValue newParamValue = new ParamValue();
+ newParamValue.addDescription(new Text(null,webInitParam.description()));
+ newParamValue.setParamName(webInitParam.name());
+ newParamValue.setParamValue(webInitParam.value());
+ return newParamValue;
+ }
+
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
}
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
}
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebListenerAnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebListenerAnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebListenerAnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebListenerAnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -30,8 +30,9 @@ import javax.servlet.http.HttpSessionLis
import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.web25.deployment.merge.MergeContext;
import org.apache.geronimo.web25.deployment.merge.webfragment.ListenerMergeHandler;
-import org.apache.geronimo.xbeans.javaee6.ListenerType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.openejb.jee.Listener;
+import org.apache.openejb.jee.Text;
+import org.apache.openejb.jee.WebApp;
/**
* @version $Rev$ $Date$
@@ -42,7 +43,7 @@ public class WebListenerAnnotationMergeH
ServletRequestAttributeListener.class, HttpSessionListener.class, HttpSessionAttributeListener.class, javax.servlet.AsyncListener.class };
@Override
- public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
for (Class<?> cls : classes) {
//Check whether any supported web listener interface is implemented
Class<?> implementedWebListenerInterface = null;
@@ -60,29 +61,30 @@ public class WebListenerAnnotationMergeH
if (ListenerMergeHandler.isListenerConfigured(cls.getName(), mergeContext)) {
return;
}
- ListenerType newListener = webApp.addNewListener();
+ Listener newListener = new Listener();
if (!webListener.value().isEmpty()) {
- newListener.addNewDescription().setStringValue(webListener.value());
+ newListener.addDescription(new Text(null, webListener.value()));
}
- newListener.addNewListenerClass().setStringValue(cls.getName());
+ newListener.setListenerClass(cls.getName());
+ webApp.getListener().add(newListener);
//
ListenerMergeHandler.addListener(newListener, mergeContext);
}
}
/* (non-Javadoc)
- * @see org.apache.geronimo.web25.deployment.merge.annotation.AnnotationMergeHandler#postProcessWebXmlElement(org.apache.geronimo.xbeans.javaee6.WebAppType, org.apache.geronimo.web25.deployment.merge.MergeContext)
+ * @see org.apache.geronimo.web25.deployment.merge.annotation.AnnotationMergeHandler#postProcessWebXmlElement(org.apache.openejb.jee.WebApp, org.apache.geronimo.web25.deployment.merge.MergeContext)
*/
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
- * @see org.apache.geronimo.web25.deployment.merge.annotation.AnnotationMergeHandler#preProcessWebXmlElement(org.apache.geronimo.xbeans.javaee6.WebAppType, org.apache.geronimo.web25.deployment.merge.MergeContext)
+ * @see org.apache.geronimo.web25.deployment.merge.annotation.AnnotationMergeHandler#preProcessWebXmlElement(org.apache.openejb.jee.WebApp, org.apache.geronimo.web25.deployment.merge.MergeContext)
*/
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
// TODO Auto-generated method stub
}
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebServletAnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebServletAnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebServletAnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebServletAnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -28,11 +28,12 @@ import org.apache.geronimo.web25.deploym
import org.apache.geronimo.web25.deployment.merge.webfragment.ServletInitParamMergeHandler;
import org.apache.geronimo.web25.deployment.merge.webfragment.ServletMappingMergeHandler;
import org.apache.geronimo.web25.deployment.merge.webfragment.ServletMergeHandler;
-import org.apache.geronimo.xbeans.javaee6.IconType;
-import org.apache.geronimo.xbeans.javaee6.ParamValueType;
-import org.apache.geronimo.xbeans.javaee6.ServletMappingType;
-import org.apache.geronimo.xbeans.javaee6.ServletType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.openejb.jee.Icon;
+import org.apache.openejb.jee.ParamValue;
+import org.apache.openejb.jee.ServletMapping;
+import org.apache.openejb.jee.Servlet;
+import org.apache.openejb.jee.Text;
+import org.apache.openejb.jee.WebApp;
/**
* @version $Rev$ $Date$
@@ -40,7 +41,7 @@ import org.apache.geronimo.xbeans.javaee
public class WebServletAnnotationMergeHandler implements AnnotationMergeHandler {
@Override
- public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
for (Class<?> cls : classes) {
if (!HttpServlet.class.isAssignableFrom(cls)) {
throw new DeploymentException("The class " + cls.getName() + " with WebServlet annotation must extend javax.servlet.HttpServlet");
@@ -57,65 +58,63 @@ public class WebServletAnnotationMergeHa
String servletName = webServlet.name().length() == 0 ? cls.getName() : webServlet.name();
String[] urlPatterns = valueAttributeConfigured ? webServlet.value() : webServlet.urlPatterns();
if (ServletMergeHandler.isServletConfigured(servletName, mergeContext)) {
- ServletType targetServlet = ServletMergeHandler.getServlet(servletName, mergeContext);
+ Servlet targetServlet = ServletMergeHandler.getServlet(servletName, mergeContext);
//merge init-params, we only merge those init-param that are not explicitly configured in the web.xml or web-fragment.xml
for (WebInitParam webInitParam : webServlet.initParams()) {
String paramName = webInitParam.name();
if (ServletInitParamMergeHandler.isServletInitParamConfigured(servletName, paramName, mergeContext)) {
continue;
}
- ParamValueType newParamValue = targetServlet.addNewInitParam();
- newParamValue.addNewDescription().setStringValue(webInitParam.description());
- newParamValue.addNewParamName().setStringValue(webInitParam.name());
- newParamValue.addNewParamValue().setStringValue(webInitParam.value());
+ ParamValue newParamValue = WebFilterAnnotationMergeHandler.newParamValue(webInitParam);
+ targetServlet.getInitParam().add(newParamValue);
ServletInitParamMergeHandler.addServletInitParam(servletName, newParamValue, ElementSource.ANNOTATION, mergeContext.getCurrentJarUrl(), mergeContext);
}
} else {
//Add a new Servlet
//create servlet element
- ServletType newServlet = webApp.addNewServlet();
+ Servlet newServlet = new Servlet();
if (!webServlet.displayName().isEmpty()) {
- newServlet.addNewDisplayName().setStringValue(webServlet.displayName());
+ newServlet.addDisplayName(new Text(null, webServlet.displayName()));
}
- newServlet.addNewServletClass().setStringValue(cls.getName());
- newServlet.addNewServletName().setStringValue(servletName);
- newServlet.addNewAsyncSupported().setBooleanValue(webServlet.asyncSupported());
+ newServlet.setServletClass(cls.getName());
+ newServlet.setServletName(servletName);
+ newServlet.setAsyncSupported(webServlet.asyncSupported());
if (!webServlet.description().isEmpty()) {
- newServlet.addNewDescription().setStringValue(webServlet.description());
+ newServlet.addDescription(new Text(null, webServlet.description()));
}
if (webServlet.loadOnStartup() != -1) {
newServlet.setLoadOnStartup(webServlet.loadOnStartup());
}
for (WebInitParam webInitParam : webServlet.initParams()) {
- ParamValueType paramValue = newServlet.addNewInitParam();
- paramValue.addNewDescription().setStringValue(webInitParam.description());
- paramValue.addNewParamName().setStringValue(webInitParam.name());
- paramValue.addNewParamValue().setStringValue(webInitParam.value());
+ newServlet.getInitParam().add(WebFilterAnnotationMergeHandler.newParamValue(webInitParam));
}
if (!webServlet.smallIcon().isEmpty() || !webServlet.largeIcon().isEmpty()) {
- IconType iconType = newServlet.addNewIcon();
+ Icon icon = new Icon();
if (!webServlet.smallIcon().isEmpty()) {
- iconType.addNewSmallIcon().setStringValue(webServlet.smallIcon());
+ icon.setSmallIcon(webServlet.smallIcon());
}
if (!webServlet.largeIcon().isEmpty()) {
- iconType.addNewLargeIcon().setStringValue(webServlet.largeIcon());
+ icon.setLargeIcon(webServlet.largeIcon());
}
+ newServlet.getIconMap().put(null, icon);
}
//TODO Figure out how to handle MultipartConfig annotation
MultipartConfig multipartConfig = cls.getAnnotation(MultipartConfig.class);
if (multipartConfig != null) {
}
+ webApp.getServlet().add(newServlet);
ServletMergeHandler.addServlet(newServlet, mergeContext);
}
if (!ServletMappingMergeHandler.isServletMappingConfigured(servletName, mergeContext)) {
//merge url-patterns, spec 8.1.n.vi. url-patterns, when specified in a descriptor for a given servlet name overrides the url patterns specified via the annotation.
//FIXME To my understanding of the spec, once there are url-patterns configured in the descriptors, those configurations from the annotations are ignored
- ServletMappingType newServletMapping = webApp.addNewServletMapping();
+ ServletMapping newServletMapping = new ServletMapping();
//create servlet-mapping element
- newServletMapping.addNewServletName().setStringValue(servletName);
+ newServletMapping.setServletName(servletName);
for (String urlPattern : urlPatterns) {
- newServletMapping.addNewUrlPattern().setStringValue(urlPattern);
+ newServletMapping.getUrlPattern().add(urlPattern);
}
+ webApp.getServletMapping().add(newServletMapping);
ServletMappingMergeHandler.addServletMapping(newServletMapping, mergeContext);
//Set this tag, so that if any following web-fragment.xml has defined the url-patterns explicitly, it could drop the configurations from annotation
mergeContext.setAttribute(ServletMappingMergeHandler.createServletMappingSourceKey(servletName), ElementSource.ANNOTATION);
@@ -124,11 +123,11 @@ public class WebServletAnnotationMergeHa
}
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
//TODO double check whether there are annotations are missed due to they are from excluded jars
}
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
}
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/ContextParamMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/ContextParamMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/ContextParamMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/ContextParamMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,44 +22,44 @@ import org.apache.geronimo.web25.deploym
import org.apache.geronimo.web25.deployment.merge.MergeContext;
import org.apache.geronimo.web25.deployment.merge.MergeItem;
import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.ParamValueType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.ParamValue;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
/**
* @version $Rev$ $Date$
*/
-public class ContextParamMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class ContextParamMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
public static final String QUALIFIED_CONTEXT_PARAM_NAME_PREFIX = "context-param.param-name.";
@Override
- public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
String jarUrl = mergeContext.getCurrentJarUrl();
- for (ParamValueType paramValue : webFragment.getContextParamArray()) {
- String qualifiedContextParamName = QUALIFIED_CONTEXT_PARAM_NAME_PREFIX + paramValue.getParamName().getStringValue();
+ for (ParamValue paramValue : webFragment.getContextParam()) {
+ String qualifiedContextParamName = QUALIFIED_CONTEXT_PARAM_NAME_PREFIX + paramValue.getParamName();
if (mergeContext.containsAttribute(qualifiedContextParamName)) {
continue;
}
MergeItem existedContextParamValue = (MergeItem) mergeContext.getAttribute(qualifiedContextParamName);
if (existedContextParamValue == null) {
- webApp.addNewContextParam().set(paramValue);
- mergeContext.setAttribute(qualifiedContextParamName, new MergeItem(paramValue.getParamValue().getStringValue(), jarUrl, ElementSource.WEB_FRAGMENT));
- } else if (!existedContextParamValue.getValue().equals(paramValue.getParamValue().getStringValue())) {
- throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateKeyValueMessage("context-param", "param-name", paramValue.getParamName().getStringValue(), "param-value",
- existedContextParamValue.getValue().toString(), existedContextParamValue.getBelongedURL(), paramValue.getParamValue().getStringValue(), jarUrl));
+ webApp.getContextParam().add(paramValue);
+ mergeContext.setAttribute(qualifiedContextParamName, new MergeItem(paramValue.getParamValue(), jarUrl, ElementSource.WEB_FRAGMENT));
+ } else if (!existedContextParamValue.getValue().equals(paramValue.getParamValue())) {
+ throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateKeyValueMessage("context-param", "param-name", paramValue.getParamName(), "param-value",
+ existedContextParamValue.getValue().toString(), existedContextParamValue.getBelongedURL(), paramValue.getParamValue(), jarUrl));
}
}
}
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
}
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
- for (ParamValueType paramValue : webApp.getContextParamArray()) {
- context.setAttribute(QUALIFIED_CONTEXT_PARAM_NAME_PREFIX + paramValue.getParamName().getStringValue(), paramValue.getParamName().getStringValue());
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
+ for (ParamValue paramValue : webApp.getContextParam()) {
+ context.setAttribute(QUALIFIED_CONTEXT_PARAM_NAME_PREFIX + paramValue.getParamName(), paramValue.getParamName());
}
}
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DataSourceMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DataSourceMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DataSourceMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DataSourceMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,41 +22,41 @@ import org.apache.geronimo.web25.deploym
import org.apache.geronimo.web25.deployment.merge.MergeContext;
import org.apache.geronimo.web25.deployment.merge.MergeItem;
import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.DataSourceType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.DataSource;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
/**
* @version $Rev$ $Date$
*/
-public class DataSourceMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class DataSourceMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
@Override
- public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
- for (DataSourceType srcDataSource : webFragment.getDataSourceArray()) {
+ public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+ for (DataSource srcDataSource : webFragment.getDataSource()) {
String dataSourceKey = createDataSourceKey(srcDataSource, mergeContext);
MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(dataSourceKey);
if (mergeItem != null && mergeItem.isFromWebFragment()) {
- throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("data-source", srcDataSource.getName().getStringValue(), mergeContext.getCurrentJarUrl(), mergeItem
+ throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("data-source", srcDataSource.getName(), mergeContext.getCurrentJarUrl(), mergeItem
.getBelongedURL()));
}
- DataSourceType targetDataSource = (DataSourceType) webApp.addNewDataSource().set(srcDataSource);
- mergeContext.setAttribute(dataSourceKey, new MergeItem(targetDataSource, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
+ webApp.getDataSource().add(srcDataSource);
+ mergeContext.setAttribute(dataSourceKey, new MergeItem(srcDataSource, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
}
}
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
}
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
- for (DataSourceType dataSource : webApp.getDataSourceArray()) {
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+ for (DataSource dataSource : webApp.getDataSource()) {
mergeContext.setAttribute(createDataSourceKey(dataSource, mergeContext), new MergeItem(dataSource, null, ElementSource.WEB_XML));
}
}
- public static String createDataSourceKey(DataSourceType dataSource, MergeContext mergeContext) {
- return "data-source.name." + dataSource.getName().getStringValue();
+ public static String createDataSourceKey(DataSource dataSource, MergeContext mergeContext) {
+ return "data-source.name." + dataSource.getName();
}
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DistributableMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DistributableMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DistributableMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DistributableMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -19,43 +19,44 @@ package org.apache.geronimo.web25.deploy
import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.web25.deployment.merge.MergeContext;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.Empty;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
/**
* @version $Rev$ $Date$
*/
-public class DistributableMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class DistributableMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
public static final String CURRENT_MERGED_DISTRIBUTABLE_VALUE = "CURRENT_MERGED_DISTRIBUTABLE_VALUE";
@Override
- public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
boolean currentMergedDistributableValue = (Boolean) mergeContext.getAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE);
if (currentMergedDistributableValue) {
- mergeContext.setAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE, webFragment.getDistributableArray().length > 0);
+ mergeContext.setAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE, webFragment.getDistributable().size() > 0);
}
}
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
boolean currentMergedDistributableValue = (Boolean) mergeContext.getAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE);
- boolean distributableInWebXml = webApp.getDistributableArray().length > 0;
+ boolean distributableInWebXml = webApp.getDistributable().size() > 0;
if (currentMergedDistributableValue) {
if (!distributableInWebXml) {
- webApp.addNewDistributable();
+ webApp.getDistributable().add(new Empty());
}
} else {
if (distributableInWebXml) {
- for (int i = 0, iLoopSize = webApp.getDistributableArray().length; i < iLoopSize; i++) {
- webApp.removeDistributable(0);
+ for (int i = 0, iLoopSize = webApp.getDistributable().size(); i < iLoopSize; i++) {
+ webApp.getDistributable().clear();
}
}
}
}
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
context.setAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE, Boolean.TRUE);
}
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbLocalRefMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbLocalRefMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbLocalRefMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbLocalRefMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,15 +22,15 @@ import org.apache.geronimo.web25.deploym
import org.apache.geronimo.web25.deployment.merge.MergeContext;
import org.apache.geronimo.web25.deployment.merge.MergeItem;
import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.EjbLocalRefType;
-import org.apache.geronimo.xbeans.javaee6.InjectionTargetType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.EjbLocalRef;
+import org.apache.openejb.jee.InjectionTarget;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
/**
* @version $Rev$ $Date$
*/
-public class EjbLocalRefMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class EjbLocalRefMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
public static final String EJB_LOCAL_REF_NAME_PREFIX = "ejb-local-ref.ejb-ref-name.";
@@ -42,9 +42,9 @@ public class EjbLocalRefMergeHandler imp
* b. web.xml file should inherit it from the web-fragment.xml file
*/
@Override
- public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
- for (EjbLocalRefType srcEjbLocalRef : webFragment.getEjbLocalRefArray()) {
- String ejbLocalRefName = srcEjbLocalRef.getEjbRefName().getStringValue();
+ public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+ for (EjbLocalRef srcEjbLocalRef : webFragment.getEjbLocalRef()) {
+ String ejbLocalRefName = srcEjbLocalRef.getEjbRefName();
String ejbLocalRefKey = createEjbLocalRefKey(ejbLocalRefName);
MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(ejbLocalRefKey);
if (mergeItem != null) {
@@ -52,43 +52,43 @@ public class EjbLocalRefMergeHandler imp
throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("ejb-local-ref", ejbLocalRefName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
} else if (mergeItem.isFromWebXml() && !isEjbLocalRefInjectTargetsConfiguredInInitialWebXML(ejbLocalRefName, mergeContext)) {
//Merge InjectTarget
- EjbLocalRefType ejbLocalRef = (EjbLocalRefType) mergeItem.getValue();
- for (InjectionTargetType injectTarget : srcEjbLocalRef.getInjectionTargetArray()) {
- String ejbLocalRefInjectTargetKey = createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectTarget.getInjectionTargetClass().getStringValue(), injectTarget
- .getInjectionTargetName().getStringValue());
+ EjbLocalRef ejbLocalRef = (EjbLocalRef) mergeItem.getValue();
+ for (InjectionTarget injectTarget : srcEjbLocalRef.getInjectionTarget()) {
+ String ejbLocalRefInjectTargetKey = createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectTarget.getInjectionTargetClass(), injectTarget
+ .getInjectionTargetName());
if (!mergeContext.containsAttribute(ejbLocalRefInjectTargetKey)) {
- ejbLocalRef.addNewInjectionTarget().set(injectTarget);
+ ejbLocalRef.getInjectionTarget().add(injectTarget);
mergeContext.setAttribute(ejbLocalRefInjectTargetKey, Boolean.TRUE);
}
}
}
} else {
- EjbLocalRefType targetEjbLocalRef = (EjbLocalRefType) webApp.addNewEjbLocalRef().set(srcEjbLocalRef);
- mergeContext.setAttribute(ejbLocalRefKey, new MergeItem(targetEjbLocalRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
- for (InjectionTargetType injectionTarget : targetEjbLocalRef.getInjectionTargetArray()) {
- mergeContext.setAttribute(createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
- .getStringValue()), Boolean.TRUE);
+ webApp.getEjbLocalRef().add(srcEjbLocalRef);
+ mergeContext.setAttribute(ejbLocalRefKey, new MergeItem(srcEjbLocalRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
+ for (InjectionTarget injectionTarget : srcEjbLocalRef.getInjectionTarget()) {
+ mergeContext.setAttribute(createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+ ), Boolean.TRUE);
}
}
}
}
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
}
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
- for (EjbLocalRefType ejbLocalRef : webApp.getEjbLocalRefArray()) {
- String ejbLocalRefName = ejbLocalRef.getEjbRefName().getStringValue();
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+ for (EjbLocalRef ejbLocalRef : webApp.getEjbLocalRef()) {
+ String ejbLocalRefName = ejbLocalRef.getEjbRefName();
mergeContext.setAttribute(createEjbLocalRefKey(ejbLocalRefName), new MergeItem(ejbLocalRef, null, ElementSource.WEB_XML));
//Create an attribute tag to indicate whether injectTarget is configured in web.xml file
- if (ejbLocalRef.getInjectionTargetArray().length > 0) {
+ if (ejbLocalRef.getInjectionTarget().size() > 0) {
mergeContext.setAttribute(createEjbLocalRefInjectTargetConfiguredInWebXMLKey(ejbLocalRefName), Boolean.TRUE);
}
- for (InjectionTargetType injectionTarget : ejbLocalRef.getInjectionTargetArray()) {
- mergeContext.setAttribute(createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
- .getStringValue()), Boolean.TRUE);
+ for (InjectionTarget injectionTarget : ejbLocalRef.getInjectionTarget()) {
+ mergeContext.setAttribute(createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+ ), Boolean.TRUE);
}
}
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbRefMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbRefMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbRefMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbRefMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,15 +22,15 @@ import org.apache.geronimo.web25.deploym
import org.apache.geronimo.web25.deployment.merge.MergeContext;
import org.apache.geronimo.web25.deployment.merge.MergeItem;
import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.EjbRefType;
-import org.apache.geronimo.xbeans.javaee6.InjectionTargetType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.EjbRef;
+import org.apache.openejb.jee.InjectionTarget;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
/**
* @version $Rev$ $Date$
*/
-public class EjbRefMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class EjbRefMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
public static final String EJB_REF_NAME_PREFIX = "ejb-ref.ejb-ref-name.";
@@ -42,9 +42,9 @@ public class EjbRefMergeHandler implemen
* b. web.xml file should inherit it from the web-fragment.xml file
*/
@Override
- public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
- for (EjbRefType srcEjbRef : webFragment.getEjbRefArray()) {
- String ejbRefName = srcEjbRef.getEjbRefName().getStringValue();
+ public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+ for (EjbRef srcEjbRef : webFragment.getEjbRef()) {
+ String ejbRefName = srcEjbRef.getEjbRefName();
String ejbRefKey = createEjbRefKey(ejbRefName);
MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(ejbRefKey);
if (mergeItem != null) {
@@ -52,43 +52,43 @@ public class EjbRefMergeHandler implemen
throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("ejb-ref", ejbRefName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
} else if (mergeItem.isFromWebXml() && !isEjbRefInjectTargetsConfiguredInInitialWebXML(ejbRefName, mergeContext)) {
//Merge InjectTarget
- EjbRefType ejbRef = (EjbRefType) mergeItem.getValue();
- for (InjectionTargetType injectTarget : srcEjbRef.getInjectionTargetArray()) {
- String ejbRefInjectTargetKey = createEjbRefInjectTargetKey(ejbRefName, injectTarget.getInjectionTargetClass().getStringValue(), injectTarget
- .getInjectionTargetName().getStringValue());
+ EjbRef ejbRef = (EjbRef) mergeItem.getValue();
+ for (InjectionTarget injectTarget : srcEjbRef.getInjectionTarget()) {
+ String ejbRefInjectTargetKey = createEjbRefInjectTargetKey(ejbRefName, injectTarget.getInjectionTargetClass(), injectTarget
+ .getInjectionTargetName());
if (!mergeContext.containsAttribute(ejbRefInjectTargetKey)) {
- ejbRef.addNewInjectionTarget().set(injectTarget);
+ ejbRef.getInjectionTarget().add(injectTarget);
mergeContext.setAttribute(ejbRefInjectTargetKey, Boolean.TRUE);
}
}
}
} else {
- EjbRefType targetEjbRef = (EjbRefType) webApp.addNewEjbRef().set(srcEjbRef);
- mergeContext.setAttribute(ejbRefKey, new MergeItem(targetEjbRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
- for (InjectionTargetType injectionTarget : targetEjbRef.getInjectionTargetArray()) {
- mergeContext.setAttribute(createEjbRefInjectTargetKey(ejbRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
- .getStringValue()), Boolean.TRUE);
+ webApp.getEjbRef().add(srcEjbRef);
+ mergeContext.setAttribute(ejbRefKey, new MergeItem(srcEjbRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
+ for (InjectionTarget injectionTarget : srcEjbRef.getInjectionTarget()) {
+ mergeContext.setAttribute(createEjbRefInjectTargetKey(ejbRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+ ), Boolean.TRUE);
}
}
}
}
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
}
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
- for (EjbRefType ejbRef : webApp.getEjbRefArray()) {
- String ejbRefName = ejbRef.getEjbRefName().getStringValue();
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+ for (EjbRef ejbRef : webApp.getEjbRef()) {
+ String ejbRefName = ejbRef.getEjbRefName();
mergeContext.setAttribute(createEjbRefKey(ejbRefName), new MergeItem(ejbRef, null, ElementSource.WEB_XML));
//Create an attribute tag to indicate whether injectTarget is configured in web.xml file
- if (ejbRef.getInjectionTargetArray().length > 0) {
+ if (ejbRef.getInjectionTarget().size() > 0) {
mergeContext.setAttribute(createEjbRefInjectTargetConfiguredInWebXMLKey(ejbRefName), Boolean.TRUE);
}
- for (InjectionTargetType injectionTarget : ejbRef.getInjectionTargetArray()) {
- mergeContext.setAttribute(createEjbRefInjectTargetKey(ejbRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
- .getStringValue()), Boolean.TRUE);
+ for (InjectionTarget injectionTarget : ejbRef.getInjectionTarget()) {
+ mergeContext.setAttribute(createEjbRefInjectTargetKey(ejbRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+ ), Boolean.TRUE);
}
}
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EnvEntryMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EnvEntryMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EnvEntryMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EnvEntryMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,15 +22,15 @@ import org.apache.geronimo.web25.deploym
import org.apache.geronimo.web25.deployment.merge.MergeContext;
import org.apache.geronimo.web25.deployment.merge.MergeItem;
import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.EnvEntryType;
-import org.apache.geronimo.xbeans.javaee6.InjectionTargetType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.EnvEntry;
+import org.apache.openejb.jee.InjectionTarget;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
/**
* @version $Rev$ $Date$
*/
-public class EnvEntryMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class EnvEntryMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
public static final String ENV_ENTRY_NAME_PREFIX = "env-entry.env-entry-name.";
@@ -42,9 +42,9 @@ public class EnvEntryMergeHandler implem
* b. web.xml file should inherit it from the web-fragment.xml file
*/
@Override
- public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
- for (EnvEntryType srcEnvEntry : webFragment.getEnvEntryArray()) {
- String envEntryName = srcEnvEntry.getEnvEntryName().getStringValue();
+ public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+ for (EnvEntry srcEnvEntry : webFragment.getEnvEntry()) {
+ String envEntryName = srcEnvEntry.getEnvEntryName();
String envEntryKey = createEnvEntryKey(envEntryName);
MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(envEntryKey);
if (mergeItem != null) {
@@ -52,43 +52,43 @@ public class EnvEntryMergeHandler implem
throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("env-entry", envEntryName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
} else if (mergeItem.isFromWebXml() && !isEnvEntryInjectTargetsConfiguredInInitialWebXML(envEntryName, mergeContext)) {
//Merge InjectTarget
- EnvEntryType envEntry = (EnvEntryType) mergeItem.getValue();
- for (InjectionTargetType injectTarget : srcEnvEntry.getInjectionTargetArray()) {
- String envEntryInjectTargetKey = createEnvEntryInjectTargetKey(envEntryName, injectTarget.getInjectionTargetClass().getStringValue(), injectTarget
- .getInjectionTargetName().getStringValue());
+ EnvEntry envEntry = (EnvEntry) mergeItem.getValue();
+ for (InjectionTarget injectTarget : srcEnvEntry.getInjectionTarget()) {
+ String envEntryInjectTargetKey = createEnvEntryInjectTargetKey(envEntryName, injectTarget.getInjectionTargetClass(), injectTarget
+ .getInjectionTargetName());
if (!mergeContext.containsAttribute(envEntryInjectTargetKey)) {
- envEntry.addNewInjectionTarget().set(injectTarget);
+ envEntry.getInjectionTarget().add(injectTarget);
mergeContext.setAttribute(envEntryInjectTargetKey, Boolean.TRUE);
}
}
}
} else {
- EnvEntryType targetEnvEntry = (EnvEntryType) webApp.addNewEnvEntry().set(srcEnvEntry);
- mergeContext.setAttribute(envEntryKey, new MergeItem(targetEnvEntry, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
- for (InjectionTargetType injectionTarget : targetEnvEntry.getInjectionTargetArray()) {
- mergeContext.setAttribute(createEnvEntryInjectTargetKey(envEntryName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
- .getStringValue()), Boolean.TRUE);
+ webApp.getEnvEntry().add(srcEnvEntry);
+ mergeContext.setAttribute(envEntryKey, new MergeItem(srcEnvEntry, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
+ for (InjectionTarget injectionTarget : srcEnvEntry.getInjectionTarget()) {
+ mergeContext.setAttribute(createEnvEntryInjectTargetKey(envEntryName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+ ), Boolean.TRUE);
}
}
}
}
@Override
- public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+ public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
}
@Override
- public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
- for (EnvEntryType envEntry : webApp.getEnvEntryArray()) {
- String envEntryName = envEntry.getEnvEntryName().getStringValue();
+ public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+ for (EnvEntry envEntry : webApp.getEnvEntry()) {
+ String envEntryName = envEntry.getEnvEntryName();
mergeContext.setAttribute(createEnvEntryKey(envEntryName), new MergeItem(envEntry, null, ElementSource.WEB_XML));
//Create an attribute tag to indicate whether injectTarget is configured in web.xml file
- if (envEntry.getInjectionTargetArray().length > 0) {
+ if (envEntry.getInjectionTarget().size() > 0) {
mergeContext.setAttribute(createEnvEntryInjectTargetConfiguredInWebXMLKey(envEntryName), Boolean.TRUE);
}
- for (InjectionTargetType injectionTarget : envEntry.getInjectionTargetArray()) {
- mergeContext.setAttribute(createEnvEntryInjectTargetKey(envEntryName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
- .getStringValue()), Boolean.TRUE);
+ for (InjectionTarget injectionTarget : envEntry.getInjectionTarget()) {
+ mergeContext.setAttribute(createEnvEntryInjectTargetKey(envEntryName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+ ), Boolean.TRUE);
}
}
}