### Eclipse Workspace Patch 1.0 #P org.eclipse.jst.ejb.ui Index: ejb_ui/org/eclipse/jst/ejb/ui/internal/wizard/AddMessageDrivenBeanWizardPage.java =================================================================== RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.ejb.ui/ejb_ui/org/eclipse/jst/ejb/ui/internal/wizard/AddMessageDrivenBeanWizardPage.java,v retrieving revision 1.9 diff -u -r1.9 AddMessageDrivenBeanWizardPage.java --- ejb_ui/org/eclipse/jst/ejb/ui/internal/wizard/AddMessageDrivenBeanWizardPage.java 28 May 2008 21:54:08 -0000 1.9 +++ ejb_ui/org/eclipse/jst/ejb/ui/internal/wizard/AddMessageDrivenBeanWizardPage.java 18 Jun 2008 12:40:39 -0000 @@ -202,7 +202,7 @@ @Override protected String[] getValidationPropertyNames() { - return new String[] { MESSAGE_LISTENER_INTERFACE }; + return new String[] { MESSAGE_LISTENER_INTERFACE , EJB_NAME}; } } #P org.eclipse.jst.j2ee.ejb Index: ejb/org/eclipse/jst/j2ee/ejb/internal/operations/CreateSessionBeanTemplateModel.java =================================================================== RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/ejb/org/eclipse/jst/j2ee/ejb/internal/operations/CreateSessionBeanTemplateModel.java,v retrieving revision 1.8 diff -u -r1.8 CreateSessionBeanTemplateModel.java --- ejb/org/eclipse/jst/j2ee/ejb/internal/operations/CreateSessionBeanTemplateModel.java 23 Apr 2008 14:52:05 -0000 1.8 +++ ejb/org/eclipse/jst/j2ee/ejb/internal/operations/CreateSessionBeanTemplateModel.java 18 Jun 2008 12:40:40 -0000 @@ -155,8 +155,8 @@ public Map getClassAnnotationParams() { Map result = new Hashtable(); - String dispName = getProperty(EJB_NAME); - if (!dispName.equals(getClassName())) + String dispName = getProperty(EJB_NAME).trim(); + if (!dispName.equals(getClassName()) && (dispName.length()>0)) result.put(ATT_NAME, dispName); String mappedName = getProperty(MAPPED_NAME).trim(); if (mappedName != null && mappedName.length() > 0) { Index: ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewEnterpriseBeanClassDataModelProvider.java =================================================================== RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewEnterpriseBeanClassDataModelProvider.java,v retrieving revision 1.3 diff -u -r1.3 NewEnterpriseBeanClassDataModelProvider.java --- ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewEnterpriseBeanClassDataModelProvider.java 21 Apr 2008 14:52:21 -0000 1.3 +++ ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewEnterpriseBeanClassDataModelProvider.java 18 Jun 2008 12:40:40 -0000 @@ -17,11 +17,20 @@ import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.JAVA_PACKAGE; import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.SUPERCLASS; +import java.util.List; import java.util.Set; +import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.jst.j2ee.ejb.internal.plugin.EjbPlugin; import org.eclipse.jst.j2ee.internal.common.operations.NewJavaClassDataModelProvider; import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBCreationResourceHandler; +import org.eclipse.jst.j2ee.model.IModelProvider; +import org.eclipse.jst.j2ee.model.ModelProviderManager; +import org.eclipse.jst.javaee.ejb.EJBJar; +import org.eclipse.jst.javaee.ejb.EnterpriseBeans; +import org.eclipse.jst.javaee.ejb.SessionBean; import org.eclipse.wst.common.frameworks.datamodel.DataModelPropertyDescriptor; import org.eclipse.wst.common.frameworks.datamodel.IDataModel; import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider; @@ -86,7 +95,16 @@ String msg = EJBCreationResourceHandler.Bean_Class_Cannot_Be_In_UI_; return WTPCommonPlugin.createErrorStatus(msg); } - } + } else if (EJB_NAME.equals(propertyName)){ + String value = getStringProperty(propertyName).trim(); + if (value == null || value.trim().length() == 0){ + return WTPCommonPlugin.createWarningStatus(EJBCreationResourceHandler.MESSAGE_BEAN_NAME_IS_EMPTY); + } + IStatus currentStatus = validateEjbName(); + if (!currentStatus.isOK()) { + return currentStatus; + } + } return super.validate(propertyName); } @@ -132,5 +150,25 @@ return super.getValidPropertyDescriptors(propertyName); } + + protected IStatus validateEjbName() { + String projectName = getStringProperty(PROJECT_NAME); + if (projectName != null && projectName.length() > 0) { + IModelProvider provider = ModelProviderManager.getModelProvider(ResourcesPlugin.getWorkspace().getRoot().getProject(projectName)); + EJBJar modelObject = (EJBJar) provider.getModelObject(); + EnterpriseBeans enterpriseBeans = modelObject.getEnterpriseBeans(); + if (enterpriseBeans != null) + { + List sessionBeans = enterpriseBeans.getSessionBeans(); + for (Object object : sessionBeans) { + SessionBean session = (SessionBean) object; + if (session.getEjbName().equals(getDataModel().getStringProperty(EJB_NAME).trim())){ + return new Status(IStatus.ERROR, EjbPlugin.PLUGIN_ID, EJBCreationResourceHandler.ERR_BEAN_ALREADY_EXISTS); + } + } + } + } + return Status.OK_STATUS; + } } Index: ejb/org/eclipse/jst/j2ee/ejb/internal/operations/CreateMessageDrivenBeanTemplateModel.java =================================================================== RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/ejb/org/eclipse/jst/j2ee/ejb/internal/operations/CreateMessageDrivenBeanTemplateModel.java,v retrieving revision 1.4 diff -u -r1.4 CreateMessageDrivenBeanTemplateModel.java --- ejb/org/eclipse/jst/j2ee/ejb/internal/operations/CreateMessageDrivenBeanTemplateModel.java 22 May 2008 15:06:54 -0000 1.4 +++ ejb/org/eclipse/jst/j2ee/ejb/internal/operations/CreateMessageDrivenBeanTemplateModel.java 18 Jun 2008 12:40:40 -0000 @@ -76,8 +76,8 @@ else throw new IllegalStateException("illegal destination type: " + destinationType); } - String dispName = getProperty(EJB_NAME); - if (!dispName.equals(getClassName())) + String dispName = getProperty(EJB_NAME).trim(); + if (!dispName.equals(getClassName()) && (dispName.length()>0)) result.put(ATT_NAME, QUOTATION_STRING + dispName + QUOTATION_STRING); String mappedName = getProperty(MAPPED_NAME).trim(); if (mappedName != null && mappedName.length() > 0) { Index: ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassDataModelProvider.java =================================================================== RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassDataModelProvider.java,v retrieving revision 1.9 diff -u -r1.9 NewSessionBeanClassDataModelProvider.java --- ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassDataModelProvider.java 12 May 2008 14:59:50 -0000 1.9 +++ ejb/org/eclipse/jst/j2ee/ejb/internal/operations/NewSessionBeanClassDataModelProvider.java 18 Jun 2008 12:40:40 -0000 @@ -10,7 +10,6 @@ *******************************************************************************/ package org.eclipse.jst.j2ee.ejb.internal.operations; -import static org.eclipse.jst.j2ee.ejb.internal.operations.INewEnterpriseBeanClassDataModelProperties.EJB_NAME; import static org.eclipse.jst.j2ee.ejb.internal.operations.INewSessionBeanClassDataModelProperties.BUSINESS_INTERFACES; import static org.eclipse.jst.j2ee.ejb.internal.operations.INewSessionBeanClassDataModelProperties.LOCAL; import static org.eclipse.jst.j2ee.ejb.internal.operations.INewSessionBeanClassDataModelProperties.LOCAL_BUSINESS_INTERFACE; @@ -47,11 +46,6 @@ import org.eclipse.jst.j2ee.internal.common.J2EECommonMessages; import org.eclipse.jst.j2ee.internal.common.operations.NewJavaClassDataModelProvider; import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBCreationResourceHandler; -import org.eclipse.jst.j2ee.model.IModelProvider; -import org.eclipse.jst.j2ee.model.ModelProviderManager; -import org.eclipse.jst.javaee.ejb.EJBJar; -import org.eclipse.jst.javaee.ejb.EnterpriseBeans; -import org.eclipse.jst.javaee.ejb.SessionBean; import org.eclipse.wst.common.frameworks.datamodel.DataModelPropertyDescriptor; import org.eclipse.wst.common.frameworks.datamodel.IDataModel; import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation; @@ -305,20 +299,15 @@ public IStatus validate(String propertyName) { IStatus currentStatus = null; + if (LOCAL_HOME_INTERFACE.equals(propertyName) || REMOTE_HOME_INTERFACE.equals(propertyName) || LOCAL_BUSINESS_INTERFACE.equals(propertyName) || REMOTE_BUSINESS_INTERFACE.equals(propertyName) - || LOCAL_COMPONENT_INTERFACE.equals(propertyName) || REMOTE_COMPONENT_INTERFACE.equals(propertyName) || EJB_NAME.equals(propertyName)) { + || LOCAL_COMPONENT_INTERFACE.equals(propertyName) || REMOTE_COMPONENT_INTERFACE.equals(propertyName)) { String value = getStringProperty(propertyName); currentStatus = validateJavaTypeName(value); if (!currentStatus.isOK()) { return currentStatus; } - if (EJB_NAME.equals(propertyName)){ - currentStatus = validateEjbName(); - if (!currentStatus.isOK()) { - return currentStatus; - } - } if (LOCAL_COMPONENT_INTERFACE.equals(propertyName) || REMOTE_COMPONENT_INTERFACE.equals(propertyName) || LOCAL_HOME_INTERFACE.equals(propertyName) || REMOTE_HOME_INTERFACE.equals(propertyName)){ currentStatus = validateComponentHomeInterfaces(); @@ -331,26 +320,6 @@ return super.validate(propertyName); } - private IStatus validateEjbName() { - String projectName = getStringProperty(PROJECT_NAME); - if (projectName != null && projectName.length() > 0) { - IModelProvider provider = ModelProviderManager.getModelProvider(ResourcesPlugin.getWorkspace().getRoot().getProject(projectName)); - EJBJar modelObject = (EJBJar) provider.getModelObject(); - EnterpriseBeans enterpriseBeans = modelObject.getEnterpriseBeans(); - if (enterpriseBeans != null) - { - List sessionBeans = enterpriseBeans.getSessionBeans(); - for (Object object : sessionBeans) { - SessionBean session = (SessionBean) object; - if (session.getEjbName().equals(getDataModel().getStringProperty(EJB_NAME))){ - return new Status(IStatus.ERROR, EjbPlugin.PLUGIN_ID, EJBCreationResourceHandler.ERR_BEAN_ALREADY_EXISTS); - } - } - } - } - return Status.OK_STATUS; - } - protected IStatus validateComponentHomeInterfaces() { IStatus result = Status.OK_STATUS; String projectName = getStringProperty(PROJECT_NAME); Index: property_files/ejbcreation.properties =================================================================== RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/property_files/ejbcreation.properties,v retrieving revision 1.10 diff -u -r1.10 ejbcreation.properties --- property_files/ejbcreation.properties 22 May 2008 15:06:55 -0000 1.10 +++ property_files/ejbcreation.properties 18 Jun 2008 12:40:41 -0000 @@ -146,4 +146,4 @@ ERR_REMOTE_COMPONENT_NOT_INTERFACE = The specified Remote Component interface is not valid. ERR_REMOTE_HOME_NOT_INTERFACE = The specified Remote Home interface is not valid. ERR_BEAN_ALREADY_EXISTS = Enterprise bean with the same Ejb Name already exists. - +MESSAGE_BEAN_NAME_IS_EMPTY = Bean name is empty, the containter will use the name of the bean class. Index: ejbcreation/org/eclipse/jst/j2ee/internal/ejb/project/operations/EJBCreationResourceHandler.java =================================================================== RCS file: /cvsroot/webtools/ejbtools/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/internal/ejb/project/operations/EJBCreationResourceHandler.java,v retrieving revision 1.9 diff -u -r1.9 EJBCreationResourceHandler.java --- ejbcreation/org/eclipse/jst/j2ee/internal/ejb/project/operations/EJBCreationResourceHandler.java 22 May 2008 15:06:55 -0000 1.9 +++ ejbcreation/org/eclipse/jst/j2ee/internal/ejb/project/operations/EJBCreationResourceHandler.java 18 Jun 2008 12:40:41 -0000 @@ -161,6 +161,7 @@ public static String ERR_REMOTE_COMPONENT_NOT_INTERFACE; public static String ERR_REMOTE_HOME_NOT_INTERFACE; public static String ERR_NO_MESSAGE_LISTENER_INTERFACE; + public static String MESSAGE_BEAN_NAME_IS_EMPTY; static {