Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordbranekov2010-03-08 12:02:16 +0000
committerdbranekov2010-03-08 12:02:16 +0000
commit47c8511b8634db39853035c7f3ef19bd016bd0a5 (patch)
tree33f88e0727cbdf00fb35299aad9457d1efb15692 /jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org
parenta819b7599e86409c2aa224b83f298b6a36e95e71 (diff)
downloadwebtools.webservices-47c8511b8634db39853035c7f3ef19bd016bd0a5.tar.gz
webtools.webservices-47c8511b8634db39853035c7f3ef19bd016bd0a5.tar.xz
webtools.webservices-47c8511b8634db39853035c7f3ef19bd016bd0a5.zip
Bug 304487, 304488, 304489
Adopt APT in JAX-WS model validation
Diffstat (limited to 'jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org')
-rwxr-xr-xjaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/WsdlNamesValidator.java87
-rwxr-xr-xjaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/clazz/ASTUtils.java30
-rwxr-xr-xjaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.java20
-rwxr-xr-xjaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.properties5
4 files changed, 24 insertions, 118 deletions
diff --git a/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/WsdlNamesValidator.java b/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/WsdlNamesValidator.java
deleted file mode 100755
index 2d46fd58d..000000000
--- a/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/WsdlNamesValidator.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 by SAP AG, Walldorf.
- * 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:
- * SAP AG - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.ws.jaxws.utils;
-
-import java.text.MessageFormat;
-
-import org.apache.axis.types.NCName;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.ws.jaxws.utils.internal.text.JaxWsUtilMessages;
-
-
-/**
- * Class that contains utility methods to validate names used in WSDL.
- *
- * @author Georgi Vachkov
- */
-public class WsdlNamesValidator
-{
- /**
- * Provides validation of NCName
- * @param title the title for the error message
- * @param name the checked name
- * @return error status in case the name is invalid otherwise {@link Status#OK_STATUS}.
- */
- public static IStatus validateNCName(final String title, final String name)
- {
- if (name.trim().length() == 0) {
- return StatusUtils.statusError(MessageFormat.format(JaxWsUtilMessages.WsdlNamesValidator_EmptyXmlName, title));
- }
-
- int errPos = checkNCName(name);
- if (errPos > -1) {
- return StatusUtils.statusError(MessageFormat.format(JaxWsUtilMessages.WsdlNamesValidator_InvalidNCName, name.charAt(errPos), title, name));
- }
-
- return Status.OK_STATUS;
- }
-
- /**
- * Validates <code>name</code> for NCName
- * @param name
- * @return -1 if the name is valid or > -1 which is the position of the wrong character.
- */
- public static IStatus validateNCName2(final String title, final String name)
- {
- if (name==null || name.trim().length() == 0) {
- return StatusUtils.statusError(MessageFormat.format(JaxWsUtilMessages.WsdlNamesValidator_EmptyXmlName2, title));
- }
-
- int errPos = checkNCName(name);
- if (errPos > -1) {
- return StatusUtils.statusError(MessageFormat.format(JaxWsUtilMessages.WsdlNamesValidator_InvalidNCName2, name.charAt(errPos), title));
- }
-
- return Status.OK_STATUS;
- }
-
- /**
- * Checks whether the name specified is a valid NCName
- * @param name the name to check
- * @return index of the first symbol which violates the NCName rules or -1 in case the name is a valid NCName
- * @see NCName#isValid(String)
- */
- private static int checkNCName(final String name)
- {
- final StringBuilder builder = new StringBuilder();
- for(int i = 0; i < name.length(); i++)
- {
- builder.append(name.charAt(i));
- if(!NCName.isValid(builder.toString()))
- {
- return i;
- }
- }
-
- return -1;
- }
-}
diff --git a/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/clazz/ASTUtils.java b/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/clazz/ASTUtils.java
index 14a7a2c9e..c77bc6285 100755
--- a/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/clazz/ASTUtils.java
+++ b/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/clazz/ASTUtils.java
@@ -14,6 +14,7 @@ import static org.eclipse.jst.ws.jaxws.utils.ContractChecker.nullCheckParam;
import java.io.File;
import java.io.IOException;
+import java.util.Arrays;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -144,19 +145,36 @@ public class ASTUtils
*/
public String getTypeSignature(final SingleVariableDeclaration svDecl)
{
- String typeName = Signature.createTypeSignature(svDecl.getType().toString(), false);
+ String typeName = createDimensionedTypeName(Signature.createTypeSignature(svDecl.getType().toString(), false), svDecl.getExtraDimensions());
- if (svDecl.getExtraDimensions() > 0 && typeName.indexOf('[') == -1)
+ // Varargs append another dimension
+ if (svDecl.isVarargs())
{
- for (int i = 0; i < svDecl.getExtraDimensions(); i++)
- {
- typeName = "[" + typeName;// $JL-STR_CONCAT$ //$NON-NLS-1$
- }
+ typeName = Signature.C_ARRAY + typeName;
}
return typeName;
}
+ private String createDimensionedTypeName(final String typeName, final int dimensions)
+ {
+ final StringBuilder result = new StringBuilder(typeName);
+ final String dimensionString = createDimensionString(dimensions);
+ while(!result.toString().startsWith(dimensionString))
+ {
+ result.insert(0, Signature.C_ARRAY);
+ }
+
+ return result.toString();
+ }
+
+ private String createDimensionString(final int dimensions)
+ {
+ final char[] dimensionChars = new char[dimensions];
+ Arrays.fill(dimensionChars, Signature.C_ARRAY);
+ return new String(dimensionChars);
+ }
+
/**
* Finds {@link MethodDeclaration} in {@link TypeDeclaration} having name <code>methodType.getElementName()</code>.
*
diff --git a/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.java b/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.java
index 164fc61e5..39f2c69f7 100755
--- a/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.java
+++ b/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.java
@@ -31,26 +31,6 @@ public class JaxWsUtilMessages extends NLS
public static String AnnotationUtils_ParamShouldNotBeNullMsg;
-//
-// public static String EngineDataProvider_UnableToDeterminePortOfDeployServerMsg;
-//
-// public static String EngineDataProvider_UnableToDetermineNameOfDeployServerMsg;
-//
-// public static String EngineDataProvider_UnableToDetermineSapSystemOfDeployServerMsg;
-//
-//
- /** message constant */
- public static String WsdlNamesValidator_EmptyXmlName;
-
- /** message constant */
- public static String WsdlNamesValidator_InvalidNCName;
-
- /** message constant */
- public static String WsdlNamesValidator_EmptyXmlName2;
-
- /** message constant */
- public static String WsdlNamesValidator_InvalidNCName2;
-
public static String EditResourcesManager_FILE_CONTENTS_CHANGE_FAILED_MSG;
public static String ProjectManagementUtils_ProjectHasNoMetaInfFolderMsg;
diff --git a/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.properties b/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.properties
index 0b12ad8aa..4ea06e295 100755
--- a/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.properties
+++ b/jaxws/bundles/org.eclipse.jst.ws.jaxws.utils/src/org/eclipse/jst/ws/jaxws/utils/internal/text/JaxWsUtilMessages.properties
@@ -14,10 +14,5 @@ InvalidTreeStateMsg = Invalid project tree state
AnnotationCannotBeStoredMsg = Annotation could not be stored, the file is not writable
AnnotationUtils_ParamShouldNotBeNullMsg = {0} should not be null
-WsdlNamesValidator_EmptyXmlName = Empty {0} name is not allowed. Please enter name.
-WsdlNamesValidator_InvalidNCName = The symbol {0} specified for {1} with name {2} is not allowed for NCName. Please change {1} name.
-WsdlNamesValidator_EmptyXmlName2 = Specified {0} should not be empty
-WsdlNamesValidator_InvalidNCName2 = The symbol \"{0}\" used in {1} is not allowed in NCName
-
EditResourcesManager_FILE_CONTENTS_CHANGE_FAILED_MSG = File contents could not be set
ProjectManagementUtils_ProjectHasNoMetaInfFolderMsg = project {0} does not have a META-INF folder

Back to the top