[jbosstools-commits] JBoss Tools SVN: r23932 - in trunk/vpe: plugins/org.jboss.tools.vpe.spring/src/org/jboss/tools/vpe/spring/template/util and 4 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Aug 5 03:53:04 EDT 2010


Author: yradtsevich
Date: 2010-08-05 03:53:03 -0400 (Thu, 05 Aug 2010)
New Revision: 23932

Added:
   trunk/vpe/plugins/org.jboss.tools.vpe.spring/src/org/jboss/tools/vpe/spring/template/SpringUrlTemplate.java
   trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/url.jsp
   trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/url.jsp.xml
Removed:
   trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringComponentTest.java
Modified:
   trunk/vpe/plugins/org.jboss.tools.vpe.spring/src/org/jboss/tools/vpe/spring/template/util/Spring.java
   trunk/vpe/plugins/org.jboss.tools.vpe.spring/templates/vpe-templates-spring.xml
   trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/form.jsp.xml
   trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/springapp-servlet.xml
   trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringAllTests.java
   trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringComponentContentTest.java
Log:
https://jira.jboss.org/browse/JBIDE-6711 :
Spring templates for VPE
- spring:url - template is updated, JUnit is created
- spring:form - JUnit is updated
- SpringComponentTest is removed

Added: trunk/vpe/plugins/org.jboss.tools.vpe.spring/src/org/jboss/tools/vpe/spring/template/SpringUrlTemplate.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.spring/src/org/jboss/tools/vpe/spring/template/SpringUrlTemplate.java	                        (rev 0)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.spring/src/org/jboss/tools/vpe/spring/template/SpringUrlTemplate.java	2010-08-05 07:53:03 UTC (rev 23932)
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2010 Red Hat, Inc. Distributed under license by
+ * Red Hat, Inc. All rights reserved. This program is 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 Contributor: Red Hat,
+ * Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.spring.template;
+
+import org.jboss.tools.vpe.editor.context.VpePageContext;
+import org.jboss.tools.vpe.editor.template.VpeAbstractTemplate;
+import org.jboss.tools.vpe.editor.template.VpeCreationData;
+import org.jboss.tools.vpe.editor.template.VpeTemplateManager;
+import org.jboss.tools.vpe.editor.util.VisualDomUtil;
+import org.jboss.tools.vpe.spring.template.util.Spring;
+import org.mozilla.interfaces.nsIDOMDocument;
+import org.mozilla.interfaces.nsIDOMElement;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Template class for spring:url and nested spring:param tags.
+ * 
+ * @author Yahor Radtsevich (yradtsevich)
+ */
+public class SpringUrlTemplate extends VpeAbstractTemplate {
+
+	/* (non-Javadoc)
+	 * @see org.jboss.tools.vpe.editor.template.VpeTemplate#create(org.jboss.tools.vpe.editor.context.VpePageContext, org.w3c.dom.Node, org.mozilla.interfaces.nsIDOMDocument)
+	 */
+	public VpeCreationData create(VpePageContext pageContext, Node sourceNode,
+			nsIDOMDocument visualDocument) {
+		Element sourceElement = (Element) sourceNode; 
+		nsIDOMElement urlContainer = VisualDomUtil.createBorderlessContainer(visualDocument);
+		if (sourceElement.hasAttribute(Spring.ATTR_VALUE) &&
+				!sourceElement.hasAttribute(Spring.ATTR_VAR)) {
+			String valueAttribute = sourceElement.getAttribute(Spring.ATTR_VALUE);
+			StringBuilder url = new StringBuilder(valueAttribute);
+			
+			boolean hasParams = valueAttribute.contains("?"); //$NON-NLS-1$
+			NodeList childNodes = sourceElement.getChildNodes();
+			for (int i = 0; i < childNodes.getLength(); i++) {
+				Node childNode = childNodes.item(i);
+				String childTemplateName = VpeTemplateManager.getInstance()
+						.getTemplateName(pageContext, childNode);
+				if (Spring.TAG_SPRING_PARAM.equals(childTemplateName)) {
+					url.append(hasParams ? '&' : '?');
+					hasParams = true;
+					appendParam(url, (Element) childNode);
+				}
+			}
+			urlContainer.appendChild(visualDocument.createTextNode(url.toString()));
+		}
+		return new VpeCreationData(urlContainer);
+	}
+
+	/**
+	 * @param paramElement
+	 */
+	private void appendParam(StringBuilder url, Element paramElement) {
+		if (paramElement.hasAttribute(Spring.ATTR_NAME)) {
+			url.append(paramElement.getAttribute(Spring.ATTR_NAME));
+			if (paramElement.hasAttribute(Spring.ATTR_VALUE)) {
+				url.append('=').append(paramElement.getAttribute(Spring.ATTR_VALUE));
+			}
+		}
+	}
+}

Modified: trunk/vpe/plugins/org.jboss.tools.vpe.spring/src/org/jboss/tools/vpe/spring/template/util/Spring.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.spring/src/org/jboss/tools/vpe/spring/template/util/Spring.java	2010-08-05 07:38:56 UTC (rev 23931)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.spring/src/org/jboss/tools/vpe/spring/template/util/Spring.java	2010-08-05 07:53:03 UTC (rev 23932)
@@ -24,7 +24,12 @@
 	public static final String ATTR_ITEM_LABEL = "itemLabel"; //$NON-NLS-1$
 	public static final String ATTR_PATH = "path"; //$NON-NLS-1$
 	public static final String ATTR_MULTIPLE = "multiple";		//$NON-NLS-1$
+	public static final String ATTR_NAME = "name"; //$NON-NLS-1$
+	public static final String ATTR_VALUE = "value"; //$NON-NLS-1$
+	public static final String ATTR_VAR = "var"; //$NON-NLS-1$
 	
 	public static final String VALUE_TRUE = "true"; //$NON-NLS-1$
 	public static final String VALUE_FALSE = "false"; //$NON-NLS-1$
+	
+	public static final String TAG_SPRING_PARAM = "spring:param"; //$NON-NLS-1$
 }

Modified: trunk/vpe/plugins/org.jboss.tools.vpe.spring/templates/vpe-templates-spring.xml
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.spring/templates/vpe-templates-spring.xml	2010-08-05 07:38:56 UTC (rev 23931)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.spring/templates/vpe-templates-spring.xml	2010-08-05 07:53:03 UTC (rev 23932)
@@ -470,13 +470,8 @@
 	</vpe:tag>
 
 	<vpe:tag name="spring:url" case-sensitive="yes">
-		<vpe:if test="attrpresent('var')">
-			<vpe:template children="no" modify="yes" />
-		</vpe:if>
-		<vpe:template children="no" modify="yes">
-			<span class="vpe-text">
-				<vpe:value expr="{@value}" />
-			</span>
+		<vpe:template children="no" modify="yes"
+	       class="org.jboss.tools.vpe.spring.template.SpringUrlTemplate">
 		</vpe:template>
 	</vpe:tag>
 	

Modified: trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/form.jsp.xml
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/form.jsp.xml	2010-08-05 07:38:56 UTC (rev 23931)
+++ trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/form.jsp.xml	2010-08-05 07:53:03 UTC (rev 23932)
@@ -10,8 +10,7 @@
 		<FORM CLASS="yellow-text" ID="form2"
 			STYLE="background-color: black;">
 			<SPAN CLASS="vpe-text">
-				This is a form:form with style and class attributes. Yellow text on black
-				background.
+				This is a form:form with style and class attributes. Yellow text on black background.
 			</SPAN>
 		</FORM>
 	</test>

Added: trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/url.jsp
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/url.jsp	                        (rev 0)
+++ trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/url.jsp	2010-08-05 07:53:03 UTC (rev 23932)
@@ -0,0 +1,21 @@
+<%@ taglib prefix="security" uri="http://www.springframework.org/security/tags" %>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
+<html>
+<body>
+	<div id="url1">
+		<spring:url value="http://community.jboss.org/en/jbosstools?view=discussions"/>
+	</div>
+	<div id="url2">
+		<spring:url value="http://community.jboss.org/en/jbosstools">
+			<spring:param name="view" value="discussions" />
+			<spring:param name="emptyParam2"/>
+		</spring:url>
+	</div>
+	<div id="url3">
+		<spring:url value="http://community.jboss.org/en/jbosstools?view=discussions">
+			<spring:param name="emptyParam2"/>
+		</spring:url>
+	</div>
+</body>
+</html>
\ No newline at end of file

Added: trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/url.jsp.xml
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/url.jsp.xml	                        (rev 0)
+++ trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/jsp/url.jsp.xml	2010-08-05 07:53:03 UTC (rev 23932)
@@ -0,0 +1,23 @@
+<tests>
+	<test id="url1">
+		<DIV ID="url1">
+			<SPAN CLASS="vpe-text">
+				http://community.jboss.org/en/jbosstools?view=discussions
+			</SPAN>
+		</DIV>
+	</test>
+	<test id="url2">
+		<DIV ID="url2">
+			<SPAN CLASS="vpe-text">
+				http://community.jboss.org/en/jbosstools?view=discussions&amp;emptyParam2
+			</SPAN>
+		</DIV>
+	</test>
+	<test id="url3">
+		<DIV ID="url3">
+			<SPAN CLASS="vpe-text">
+				http://community.jboss.org/en/jbosstools?view=discussions&amp;emptyParam2
+			</SPAN>
+		</DIV>
+	</test>
+</tests>

Modified: trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/springapp-servlet.xml
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/springapp-servlet.xml	2010-08-05 07:38:56 UTC (rev 23931)
+++ trunk/vpe/tests/org.jboss.tools.vpe.spring.test/resources/SpringTest/src/main/webapp/WEB-INF/springapp-servlet.xml	2010-08-05 07:53:03 UTC (rev 23932)
@@ -29,6 +29,7 @@
     </bean>
     <bean name="/select.htm" class="org.jboss.tools.vpe.spring.test.springtest.FormController"/>
     <bean name="/escapeBody.htm" class="org.jboss.tools.vpe.spring.test.springtest.FormController"/>
+    <bean name="/url.htm" class="org.jboss.tools.vpe.spring.test.springtest.FormController"/>
     <bean id="userValidator" class="org.jboss.tools.vpe.spring.test.springtest.validator.UserValidator"/>
     <bean id="beanValidator" class="org.jboss.tools.vpe.spring.test.springtest.validator.BeanValidator"/>
     

Modified: trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringAllTests.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringAllTests.java	2010-08-05 07:38:56 UTC (rev 23931)
+++ trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringAllTests.java	2010-08-05 07:53:03 UTC (rev 23932)
@@ -32,7 +32,6 @@
 	public static Test suite() {
 		TestSuite suite = new TestSuite("Tests for Vpe Spring components"); //$NON-NLS-1$
 		// $JUnit-BEGIN$
-		suite.addTestSuite(SpringComponentTest.class);
 		suite.addTestSuite(SpringComponentContentTest.class);
 		//cleanUpTests();
 		// $JUnit-END$

Modified: trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringComponentContentTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringComponentContentTest.java	2010-08-05 07:38:56 UTC (rev 23931)
+++ trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringComponentContentTest.java	2010-08-05 07:53:03 UTC (rev 23932)
@@ -105,10 +105,18 @@
 		performContentTestByFullPath("src/main/webapp/WEB-INF/jsp/escapeBody.jsp"); //$NON-NLS-1$
 	}
 	
+	public void testForm() throws Throwable {
+		performContentTestByFullPath("src/main/webapp/WEB-INF/jsp/form.jsp"); //$NON-NLS-1$
+	}
+	
 	public void testEval() throws Throwable {
 		performContentTestByFullPath("src/main/webapp/WEB-INF/jsp/eval.jsp"); //$NON-NLS-1$
 	}
-	
+
+	public void testUrl() throws Throwable {
+		performContentTestByFullPath("src/main/webapp/WEB-INF/jsp/url.jsp"); //$NON-NLS-1$
+	}
+
 	@Override
 	protected String getTestProjectName() {
 		return SpringAllTests.IMPORT_PROJECT_NAME;

Deleted: trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringComponentTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringComponentTest.java	2010-08-05 07:38:56 UTC (rev 23931)
+++ trunk/vpe/tests/org.jboss.tools.vpe.spring.test/src/org/jboss/tools/vpe/spring/test/SpringComponentTest.java	2010-08-05 07:53:03 UTC (rev 23932)
@@ -1,61 +0,0 @@
-/*******************************************************************************
-  * Copyright (c) 2007-2010 Red Hat, Inc.
-  * Distributed under license by Red Hat, Inc. All rights reserved.
-  * This program is 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
-  *
-  * Contributor:
-  *     Red Hat, Inc. - initial API and implementation
-  ******************************************************************************/
-package org.jboss.tools.vpe.spring.test;
-
-import org.eclipse.core.resources.IFile;
-import org.jboss.tools.vpe.ui.test.TestUtil;
-import org.jboss.tools.vpe.ui.test.VpeTest;
-
-/**
- * Class for testing form spring components
- * 
- * @author Yahor Radtsevich (yradtsevich)
- * 
- */
-public class SpringComponentTest extends VpeTest {
-
-	public SpringComponentTest(String name) {
-		super(name);
-	}
-
-	/*
-	 * Spring Form test cases
-	 */
-	public void testCheckbox() throws Throwable {
-		performTestForVpeComponent((IFile)TestUtil.getResource(
-				"src/main/webapp/WEB-INF/jsp/checkbox.jsp", SpringAllTests.IMPORT_PROJECT_NAME)); //$NON-NLS-1$
-	}
-	
-	public void testCheckboxes() throws Throwable {
-		performTestForVpeComponent((IFile)TestUtil.getResource(
-				"src/main/webapp/WEB-INF/jsp/checkboxes.jsp", SpringAllTests.IMPORT_PROJECT_NAME)); //$NON-NLS-1$
-	}
-	
-	public void testRadiobutton() throws Throwable {
-		performTestForVpeComponent((IFile)TestUtil.getResource(
-				"src/main/webapp/WEB-INF/jsp/radiobutton.jsp", SpringAllTests.IMPORT_PROJECT_NAME)); //$NON-NLS-1$
-	}
-	
-	public void testRadiobuttons() throws Throwable {
-		performTestForVpeComponent((IFile)TestUtil.getResource(
-				"src/main/webapp/WEB-INF/jsp/radiobuttons.jsp", SpringAllTests.IMPORT_PROJECT_NAME)); //$NON-NLS-1$
-	}
-
-	public void testForm() throws Throwable {
-		performTestForVpeComponent((IFile)TestUtil.getResource(
-				"src/main/webapp/WEB-INF/jsp/form.jsp", SpringAllTests.IMPORT_PROJECT_NAME)); //$NON-NLS-1$
-	}
-
-	public void testErrors() throws Throwable {
-		performTestForVpeComponent((IFile)TestUtil.getResource(
-				"src/main/webapp/WEB-INF/jsp/errors.jsp", SpringAllTests.IMPORT_PROJECT_NAME)); //$NON-NLS-1$
-	}
-}



More information about the jbosstools-commits mailing list