| /*************************************************************************************************** |
| * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the |
| * accompanying materials are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: IBM Corporation - initial API and implementation |
| **************************************************************************************************/ |
| |
| package org.eclipse.wst.web.internal.operation; |
| |
| import org.eclipse.core.resources.IProject; |
| import org.eclipse.core.runtime.IStatus; |
| import org.eclipse.wst.common.frameworks.internal.operations.ProjectCreationDataModel; |
| import org.eclipse.wst.common.frameworks.internal.operations.WTPOperation; |
| import org.eclipse.wst.web.internal.ISimpleWebNatureConstants; |
| |
| public class SimpleWebModuleCreationDataModel extends ProjectCreationDataModel |
| { |
| /* |
| * required (automatically set) for the Features page to determine which |
| * features to provide. Type "int" set to |
| * IWebNatureConstants.STATIC_WEB_PROJECT |
| */ |
| public SimpleWebModuleCreationDataModel createStaticWebProjectCreationDataModel( |
| String projectName) |
| { |
| SimpleWebModuleCreationDataModel model = (SimpleWebModuleCreationDataModel) super |
| .createProjectCreationDataModel(projectName); |
| model.addStaticWebNature(); |
| //setIntProperty(WebProjectFeaturesDataModel.WEB_PROJECT_TYPE, IWebNatureConstants.STATIC_WEB_PROJECT); |
| |
| return model; |
| } |
| |
| public SimpleWebModuleCreationDataModel() |
| { |
| super(); |
| addStaticWebNature(); |
| //setIntProperty(WebProjectFeaturesDataModel.WEB_PROJECT_TYPE,IWebNatureConstants.STATIC_WEB_PROJECT); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * |
| * @see org.eclipse.jem.util.operation.ProjectCreationDataModel#initValidBaseProperties() |
| */ |
| protected void initValidBaseProperties() |
| { |
| super.initValidBaseProperties(); |
| //addValidBaseProperty(WebProjectFeaturesDataModel.WEB_PROJECT_TYPE); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * |
| * @see org.eclipse.jem.util.operation.ProjectCreationDataModel#getDefaultOperation() |
| */ |
| public WTPOperation getDefaultOperation() |
| { |
| return new SimpleWebModuleCreationOperation(this); |
| } |
| |
| protected final void addStaticWebNature() |
| { |
| String[] natures = (String[]) getProperty(PROJECT_NATURES); |
| String[] newNatures; |
| |
| if( natures == null ) |
| { |
| newNatures = new String[1]; |
| newNatures[0] = ISimpleWebNatureConstants.STATIC_NATURE_ID; |
| } |
| else |
| { |
| newNatures = new String[natures.length + 1]; |
| System.arraycopy(natures, 0, newNatures, 0, natures.length); |
| newNatures[natures.length] = ISimpleWebNatureConstants.STATIC_NATURE_ID; |
| } |
| |
| setProperty(PROJECT_NATURES, newNatures); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * |
| * @see org.eclipse.jem.util.operation.ProjectCreationDataModel#doValidateProperty(java.lang.String) |
| */ |
| protected IStatus doValidateProperty(String propertyName) |
| { |
| /*if( propertyName.equals(WebProjectFeaturesDataModel.WEB_PROJECT_TYPE) ) |
| { |
| return OK_STATUS; |
| }*/ |
| return super.doValidateProperty(propertyName); |
| } |
| |
| /* |
| * (non-Javadoc) |
| * |
| * @see org.eclipse.jem.util.operation.WTPOperationDataModel#getTargetProject() |
| */ |
| public IProject getTargetProject() |
| { |
| return ProjectCreationDataModel.getProjectHandleFromProjectName(getStringProperty(PROJECT_NAME)); |
| } |
| } |