[jbosstools-dev] Fwd: [jbosstools-commits] JBoss Tools SVN: r4997 - in trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui: internal/project/facet and 1 other directory.

Max Rydahl Andersen max.andersen at redhat.com
Wed Nov 21 10:30:44 EST 2007


On Wed, 21 Nov 2007 16:16:55 +0100, Denis Golovin <dgolovin at exadel.com>  
wrote:

> Max,
>
> It is last one. Just need to make validation that selected runtime  
> supports ear/ejb because wizard does it only for Seam Dynamic web  
> project and there are no ejb and ear facets on facets selection page.  
> Validation checks possibility of creating Seam project in EAR deployment  
> configuration. It can be removed but then for example after creating  
> Seam Web Project with Tomcat Runtime in EAR configuration two errors  
> appear on Problems view that Tomcat runtime doesn't support EJB and EAR  
> facets.

ok - so we check it only in case of the EAR deployment scenario, right ?
if tomcat supports jsf and web 2.5 then WAR should work ...

/max

>
> Denis.
>
> Max Rydahl Andersen wrote:
>> Denis,
>>
>> It's great we now don't fixate the facet for our jboss runtime, but why  
>> do we have to do those additional validations ?
>> Isn't these done automatically by the facet framework ? (e.g. I would  
>> expect the validations agaisnt jst.jsf, jst.web and versions are still  
>> performed as normally by the facet framework)
>>
>> Or is it simply for pre-validating the facets needed for the possible  
>> ejb/ear projects?
>>
>> /max
>>
>> ------- Forwarded message -------
>> From: jbosstools-commits at lists.jboss.org
>> To: jbosstools-commits at lists.jboss.org
>> Cc:
>> Subject: [jbosstools-commits] JBoss Tools SVN: r4997 - in  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui:  
>> internal/project/facet and 1 other directory.
>> Date: Wed, 21 Nov 2007 03:40:40 +0100
>>
>> Author: dgolovin
>> Date: 2007-11-20 21:40:40 -0500 (Tue, 20 Nov 2007)
>> New Revision: 4997
>>
>> Modified:
>>     
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/SeamUIMessages.java  
>>     
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/internal/project/facet/SeamInstallWizardPage.java  
>>     
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties  
>> Log:
>> http://jira.jboss.org/jira/browse/JBIDE-1320
>>
>> lock to JBoss AS runtime is removed from plugin.xml,
>> werification for selected Deployment type is added. If selected runtime  
>> have  not supported EJB 3.0 and EAR 5.0 modules errori showed on seam  
>> facet wizard page title.
>>
>> It was verified on JBoss AS and Tomcat servers
>>
>> Modified:  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/SeamUIMessages.java  
>> ===================================================================
>> ---  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/SeamUIMessages.java     
>> 2007-11-21 01:01:12 UTC (rev 4996)
>> +++  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/SeamUIMessages.java     
>> 2007-11-21 02:40:40 UTC (rev 4997)
>> @@ -115,6 +115,8 @@
>>
>>      public static String SEAM_INSTALL_WIZARD_PAGE_ADD;
>>
>> +    public static String  
>> SEAM_INSTALL_WIZARD_PAGE_CANNOT_USE_SELECTED_DEPLOYMENT6;
>> +
>>      public static String SEAM_INSTALL_WIZARD_PAGE_CODE_GENERATION;
>>
>>      public static String  
>> SEAM_INSTALL_WIZARD_PAGE_CONFIGURE_SEAM_FACET_SETTINGS;
>>
>> Modified:  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/internal/project/facet/SeamInstallWizardPage.java  
>> ===================================================================
>> ---  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/internal/project/facet/SeamInstallWizardPage.java     
>> 2007-11-21 01:01:12 UTC (rev 4996)
>> +++  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/internal/project/facet/SeamInstallWizardPage.java     
>> 2007-11-21 02:40:40 UTC (rev 4997)
>> @@ -33,6 +33,7 @@
>>  import org.eclipse.jface.wizard.Wizard;
>>  import org.eclipse.jface.wizard.WizardDialog;
>>  import  
>> org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties;  
>> +import org.eclipse.osgi.util.NLS;
>>  import org.eclipse.swt.SWT;
>>  import org.eclipse.swt.layout.GridData;
>>  import org.eclipse.swt.layout.GridLayout;
>> @@ -41,10 +42,16 @@
>>  import org.eclipse.swt.widgets.Group;
>>  import org.eclipse.ui.internal.dialogs.PropertyDialog;
>>  import  
>> org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;  
>> +import  
>> org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
>>  import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
>>  import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
>>  import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
>>  import  
>> org.eclipse.wst.common.frameworks.internal.operations.ProjectCreationDataModelProviderNew;  
>> +import org.eclipse.wst.common.project.facet.core.IProjectFacet;
>> +import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
>> +import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
>> +import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
>> +import  
>> org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
>>  import org.eclipse.wst.common.project.facet.ui.AbstractFacetWizardPage;
>>  import org.eclipse.wst.common.project.facet.ui.IFacetWizardPage;
>>  import  
>> org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard;
>> @@ -382,6 +389,11 @@
>>                      IFacetDataModelProperties.FACET_PROJECT_NAME,
>>                      new ProjectNamesDuplicationValidator(
>>                               
>> IFacetDataModelProperties.FACET_PROJECT_NAME));
>> +            validatorDelegate.addValidatorForProperty(
>> +                    ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS,
>> +                    new DeploymentTypeValidator(
>> +                             
>> ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS,
>> +                             
>> ((NewProjectDataModelFacetWizard)getWizard()).getDataModel()));
>>          }
>>
>>          jBossHibernateDbTypeEditor
>> @@ -541,7 +553,7 @@
>>          if (visible) {
>>              ITaggedFieldEditor runtimesField =  
>> (ITaggedFieldEditor)((CompositeEditor)jBossSeamHomeEditor).getEditors().get(1);  
>>              Object oldValue = runtimesField.getValue();
>> -            Object newValue = "";
>> +            Object newValue = ""; //$NON-NLS-1$
>>              List<String> runtimes =  
>> getRuntimeNames(model.getProperty(IFacetDataModelProperties.FACET_VERSION_STR).toString());  
>>              if(oldValue==null || !runtimes.contains(oldValue)) {
>>                  Object defaultRnt = getSeamRuntimeDefaultValue();
>> @@ -612,12 +624,10 @@
>>           */
>>          public Map<String, String> validate(Object value, Object  
>> context) {
>>              final String projectName = (String)value;
>> -
>> -            IDataModel model = (IDataModel)context;
>>              final String deployAs = model.getStringProperty(
>>                      ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS);
>>
>> -            final String testProjectName = projectName + "-test";
>> +            final String testProjectName = projectName + "-test";  
>> //$NON-NLS-1$
>>              IStatus status =  
>> ProjectCreationDataModelProviderNew.validateName(testProjectName);
>>              if (!status.isOK())
>>                  return  
>> ValidatorFactory.createErrormessage(propertyName,
>> @@ -626,7 +636,7 @@
>>                               
>> SeamUIMessages.VALIDATOR_FACTORY_PROJECT_ALREADY_EXISTS);
>>
>>              if  
>> (ISeamFacetDataModelProperties.DEPLOY_AS_EAR.equals(deployAs)) {
>> -                final String earProjectName = projectName + "-ear";
>> +                final String earProjectName = projectName + "-ear";  
>> //$NON-NLS-1$
>>                  status =  
>> ProjectCreationDataModelProviderNew.validateName(earProjectName);
>>                  if (!status.isOK())
>>                      return  
>> ValidatorFactory.createErrormessage(propertyName,
>> @@ -634,7 +644,7 @@
>>                              earProjectName +
>>                               
>> SeamUIMessages.VALIDATOR_FACTORY_PROJECT_ALREADY_EXISTS);
>>
>> -                final String ejbProjectName = projectName + "-ejb";
>> +                final String ejbProjectName = projectName + "-ejb";  
>> //$NON-NLS-1$
>>                  status =  
>> ProjectCreationDataModelProviderNew.validateName(ejbProjectName);
>>                  if (!status.isOK())
>>                      return  
>> ValidatorFactory.createErrormessage(propertyName,
>> @@ -646,6 +656,46 @@
>>          }
>>      }
>>
>> +    static class DeploymentTypeValidator implements IValidator {
>> +       +        String propertyName;
>> +       +        IDataModel model;
>> +       +        static final IProjectFacet EJB_FACET =   
>> ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_EJB_MODULE);
>> +       +        static final IProjectFacetVersion EJB_30 =  
>> EJB_FACET.getVersion("3.0"); //$NON-NLS-1$
>> +
>> +        static final IProjectFacet EAR_FACET =   
>> ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_EAR_MODULE);
>> +       +        static final IProjectFacetVersion EAR_50 =  
>> EAR_FACET.getVersion("5.0"); //$NON-NLS-1$
>> +
>> +        /**
>> +         */
>> +        public DeploymentTypeValidator (String propertyName,  
>> IDataModel model) {
>> +            this.propertyName = propertyName;
>> +            this.model = model;
>> +        }
>> +
>> +        /**
>> +         * @see IValidator#validate(Object, Object)
>> +         */
>> +        public Map<String, String> validate(Object value, Object  
>> context) {
>> +           +            final String deploymentType = value.toString();
>> +             
>> if(!ISeamFacetDataModelProperties.DEPLOY_AS_WAR.equals(deploymentType))  
>> {
>> +                String runtimeName =  
>> model.getProperty(ISeamFacetDataModelProperties.JBOSS_AS_TARGET_RUNTIME).toString();  
>> +                IRuntime rt = RuntimeManager.getRuntime(runtimeName);
>> +                if(!rt.supports(EJB_30) || !rt.supports(EAR_50)) {
>> +                    return ValidatorFactory.createErrormessage(
>> +                        propertyName,
>> +                         
>> NLS.bind(SeamUIMessages.SEAM_INSTALL_WIZARD_PAGE_CANNOT_USE_SELECTED_DEPLOYMENT6  
>> , new String[]{deploymentType.toUpperCase(),runtimeName}));
>> +                }
>> +            }
>> +                return ValidatorFactory.NO_ERRORS;
>> +        }
>> +    }   +        public class NewSeamRuntimeAction extends
>>                                       
>> ButtonFieldEditor.ButtonPressedAction {
>>          /**
>>
>> Modified:  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties  
>> ===================================================================
>> ---  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties     
>> 2007-11-21 01:01:12 UTC (rev 4996)
>> +++  
>> trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/messages.properties     
>> 2007-11-21 02:40:40 UTC (rev 4997)
>> @@ -8,6 +8,7 @@
>>  GENERATE_SEAM_ENTITIES_WIZARD_REVERSE_ENGINEER_LABEL = Reverse  
>> engineer from database
>>  GENERATE_SEAM_ENTITIES_WIZARD_EXISTING_ENTITIES_LABEL = Use existing  
>> entities
>>  SEAM_INSTALL_WIZARD_PAGE_CONFIGURE_SEAM_FACET_SETTINGS=Configure Seam  
>> Facet Settings
>> +SEAM_INSTALL_WIZARD_PAGE_CANNOT_USE_SELECTED_DEPLOYMENT6=''{0}''  
>> deployment cannot be used, because selected Server Runtime ''{1}''  
>> doesn't support EJB 3.0 and EAR 5.0 modules
>>  SEAM_PROJECT_WIZARD_PAGE1_FILE_NAME_MUST_BE_SPECIFIED=File name must  
>> be specified
>>  SEAM_PROJECT_SELECTION_DIALOG_SELECT_SEAM_WEB_PROJECT=Select Seam Web  
>> Project
>>  SEAM_PROJECT_WIZARD_CREATE_STANDALONE_SEAM_WEB_PROJECT=Create  
>> standalone Seam Web Project
>>
>> _______________________________________________
>> jbosstools-commits mailing list
>> jbosstools-commits at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jbosstools-commits
>>
>>
>>
>



-- 
--
Max Rydahl Andersen
callto://max.rydahl.andersen

Hibernate
max at hibernate.org
http://hibernate.org

JBoss a division of Red Hat
max.andersen at jboss.com




More information about the jbosstools-dev mailing list