diff options
Diffstat (limited to 'plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDataModelProvider.java')
-rw-r--r-- | plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDataModelProvider.java | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDataModelProvider.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDataModelProvider.java deleted file mode 100644 index c551407f2..000000000 --- a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDataModelProvider.java +++ /dev/null @@ -1,149 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2006 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.project.facet; - -import java.util.Set; - -import org.eclipse.core.internal.resources.ResourceStatus; -import org.eclipse.core.internal.utils.Messages; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceStatus; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.osgi.util.NLS; -import org.eclipse.wst.common.componentcore.datamodel.FacetInstallDataModelProvider; -import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; -import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages; -import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin; -import org.eclipse.wst.web.internal.ResourceHandler; - -import com.ibm.icu.text.UTF16; -import com.ibm.icu.util.StringTokenizer; - -public class SimpleWebFacetInstallDataModelProvider extends FacetInstallDataModelProvider implements ISimpleWebFacetInstallDataModelProperties { - - public SimpleWebFacetInstallDataModelProvider() { - super(); - } - - @Override - public Set getPropertyNames() { - Set names = super.getPropertyNames(); - names.add(CONTENT_DIR); - names.add(CONTEXT_ROOT); - return names; - } - - @Override - public Object getDefaultProperty(String propertyName) { - if (propertyName.equals(CONTENT_DIR)) { - return "WebContent"; //$NON-NLS-1$ - } else if (propertyName.equals(CONTEXT_ROOT)) { - return getStringProperty(FACET_PROJECT_NAME).replace(' ', '_'); - } else if (propertyName.equals(FACET_ID)) { - return IModuleConstants.WST_WEB_MODULE; - } - return super.getDefaultProperty(propertyName); - } - - @Override - public boolean propertySet(String propertyName, Object propertyValue) { - if (FACET_PROJECT_NAME.equals(propertyName)) { - model.notifyPropertyChange(CONTEXT_ROOT, IDataModel.VALID_VALUES_CHG); - } - return super.propertySet(propertyName, propertyValue); - } - - @Override - public IStatus validate(String name) { - if (name.equals(CONTEXT_ROOT)) { - return validateContextRoot(getStringProperty(CONTEXT_ROOT)); - } - else if (name.equals(CONTENT_DIR)) { - String folderName = model.getStringProperty(CONTENT_DIR); - if (folderName == null || folderName.length() == 0 || folderName.equals("/") || folderName.equals("\\")) { //$NON-NLS-1$ //$NON-NLS-2$ - // all folders which meet the criteria of "CONFIG_FOLDER" are required - String errorMessage = WTPCommonPlugin.getResourceString(WTPCommonMessages.WEBCONTENTFOLDER_EMPTY); - return WTPCommonPlugin.createErrorStatus(errorMessage); - } - IStatus status = validateFolderName(folderName); - if (status.isOK()) - { - if (folderName.indexOf('#') != -1) { - String message = NLS.bind(Messages.resources_invalidCharInName, "#", folderName); //$NON-NLS-1$ - status = new ResourceStatus(IResourceStatus.INVALID_VALUE, null, message); - } - } - return status; - } - - return super.validate(name); - } - - protected IStatus validateContextRoot(String contextRoot) { - if (contextRoot == null || contextRoot.length() == 0) { - return new ResourceStatus(IResourceStatus.INVALID_VALUE, null, ResourceHandler.Context_Root_cannot_be_empty_2); - } else if (contextRoot.trim().equals(contextRoot)) { - StringTokenizer stok = new StringTokenizer(contextRoot, "."); //$NON-NLS-1$ - while (stok.hasMoreTokens()) { - String token = stok.nextToken(); - int cp; - for (int i = 0; i < token.length(); i += UTF16.getCharCount(cp)) { - cp = UTF16.charAt(token, i); - if(token.charAt(i) == ' ') - { - return new ResourceStatus(IResourceStatus.INVALID_VALUE, null, ResourceHandler.Names_cannot_contain_whitespace); - } - else if (!(token.charAt(i) == '_') && !(token.charAt(i) == '-') && !(token.charAt(i) == '/') && Character.isLetterOrDigit(token.charAt(i)) == false) { - String invalidCharString = null; - if (UTF16.getCharCount(cp)>1) - { - invalidCharString = UTF16.valueOf(cp); - } - else - { - invalidCharString = (new Character(token.charAt(i))).toString(); - } - Object[] invalidChar = new Object[]{invalidCharString}; - String errorStatus = ResourceHandler.getString(ResourceHandler.The_character_is_invalid_in_a_context_root, invalidChar); - return new ResourceStatus(IResourceStatus.INVALID_VALUE, null, errorStatus); - } - } - } - } else - { - return new ResourceStatus(IResourceStatus.INVALID_VALUE, null, ResourceHandler.Names_cannot_contain_whitespace); - } - return OK_STATUS; - } - - protected IStatus validateFolderName(String folderName) { - // the directory is not required, but if the name is entered ensure that it - // contains only valid characters. - if (folderName == null || folderName.length() == 0) { - return OK_STATUS; - } - IWorkspace workspace = ResourcesPlugin.getWorkspace(); - IPath path = new Path(folderName); - for (int i = 0, max = path.segmentCount(); i < max; i++) { - IStatus status = workspace.validateName(path.segment(i), IResource.FOLDER); - if (! status.isOK()) - return status; - } - - // all of the potential segments of the folder have been verified - return OK_STATUS; - } -} |