JBoss Tools SVN: r19910 - in trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui: editors/webapp/form and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-01-25 10:28:36 -0500 (Mon, 25 Jan 2010)
New Revision: 19910
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/Messages.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFoldersFormLayoutData.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFormLayoutData.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/messages.properties
Log:
https://jira.jboss.org/jira/browse/JBIDE-5712
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/Messages.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/Messages.java 2010-01-25 15:15:35 UTC (rev 19909)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/Messages.java 2010-01-25 15:28:36 UTC (rev 19910)
@@ -66,8 +66,11 @@
public static String WebAppFoldersFormLayoutData_ServletMappings;
public static String WebAppFoldersFormLayoutData_Servlets;
public static String WebAppFoldersFormLayoutData_WebAppMimeMapping;
+ public static String WebAppFoldersFormLayoutData_LifecycleCallbacks;
+ public static String WebAppFoldersFormLayoutData_Persistence;
public static String WebCompoundEditor_WebXMLEditor;
public static String XActionProvider_CompanyName;
+
static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFoldersFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFoldersFormLayoutData.java 2010-01-25 15:15:35 UTC (rev 19909)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFoldersFormLayoutData.java 2010-01-25 15:28:36 UTC (rev 19910)
@@ -20,6 +20,8 @@
static String CONTEXT_PARAM_ENTITY = WebAppHelper.CONTEXT_PARAM_ENTITY;
static String FILTER_FOLDER_ENTITY = "WebAppFolderFilters"; //$NON-NLS-1$
static String FILTER_FOLDER_24_ENTITY = "WebAppFolderFilters24"; //$NON-NLS-1$
+ static String LIFECYCLE_FOLDER_24_ENTITY = "WebAppFolderLifecycles25"; //$NON-NLS-1$
+ static String PERSISTENCE_FOLDER_24_ENTITY = "WebAppFolderPersistence25"; //$NON-NLS-1$
static String LISTENER_FOLDER_ENTITY = "WebAppFolderListeners"; //$NON-NLS-1$
static String LISTENER_FOLDER_24_ENTITY = "WebAppFolderListeners24"; //$NON-NLS-1$
static String SERVLET_FOLDER_ENTITY = "WebAppFolderServlets"; //$NON-NLS-1$
@@ -63,6 +65,22 @@
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateFilterMapping") //$NON-NLS-1$
);
+ static IFormData LIFECYCLE_LIST_DEFINITION = new FormData(
+ Messages.WebAppFoldersFormLayoutData_LifecycleCallbacks,
+ EMPTY_DESCRIPTION,
+ new FormAttributeData[]{new FormAttributeData("lifecycle-callback-method", 100)}, //$NON-NLS-1$
+ new String[]{"WebAppPostConstruct25", "WebAppPreDestroy25"}, //$NON-NLS-1$ //$NON-NLS-2$
+ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddAnyCallback") //$NON-NLS-1$
+ );
+
+ static IFormData PERSISTENCE_LIST_DEFINITION = new FormData(
+ Messages.WebAppFoldersFormLayoutData_Persistence,
+ EMPTY_DESCRIPTION,
+ new FormAttributeData[]{new FormAttributeData("ref-name", 50), new FormAttributeData("unit-name", 50)}, //$NON-NLS-1$ //$NON-NLS-2$
+ new String[]{"WebAppPersistenceContextRef25", "WebAppPersistenceUnitRef25"}, //$NON-NLS-1$ //$NON-NLS-2$
+ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddAnyRef") //$NON-NLS-1$
+ );
+
static IFormData FILTER_MAPPING_24_LIST_DEFINITION = new FormData(
Messages.WebAppFoldersFormLayoutData_FilterMappings,
EMPTY_DESCRIPTION,
@@ -81,6 +99,14 @@
FILTER_MAPPING_24_LIST_DEFINITION
};
+ static IFormData[] LIFECYCLE_FOLDER_24_DEFINITIONS = new IFormData[]{
+ LIFECYCLE_LIST_DEFINITION,
+ };
+
+ static IFormData[] PERSISTENCE_FOLDER_24_DEFINITIONS = new IFormData[]{
+ PERSISTENCE_LIST_DEFINITION,
+ };
+
static IFormData LISTENER_LIST_DEFINITION = new FormData(
Messages.WebAppFoldersFormLayoutData_Listeners,
EMPTY_DESCRIPTION,
@@ -275,6 +301,12 @@
final static IFormData FILTER_FOLDER_24_DEFINITION = new FormData(
FILTER_FOLDER_24_ENTITY, new String[]{null}, FILTER_FOLDER_24_DEFINITIONS);
+ final static IFormData LIFECYCLE_FOLDER_24_DEFINITION = new FormData(
+ LIFECYCLE_FOLDER_24_ENTITY, new String[]{null}, LIFECYCLE_FOLDER_24_DEFINITIONS);
+
+ final static IFormData PERSISTENCE_FOLDER_24_DEFINITION = new FormData(
+ PERSISTENCE_FOLDER_24_ENTITY, new String[]{null}, PERSISTENCE_FOLDER_24_DEFINITIONS);
+
final static IFormData LISTENER_FOLDER_DEFINITION = new FormData(
LISTENER_FOLDER_ENTITY, new String[]{null}, LISTENER_FOLDER_DEFINITIONS);
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFormLayoutData.java 2010-01-25 15:15:35 UTC (rev 19909)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFormLayoutData.java 2010-01-25 15:28:36 UTC (rev 19910)
@@ -33,6 +33,8 @@
WebAppFoldersFormLayoutData.FILTER_FOLDER_24_DEFINITION,
WebAppFoldersFormLayoutData.LISTENER_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.LISTENER_FOLDER_24_DEFINITION,
+ WebAppFoldersFormLayoutData.LIFECYCLE_FOLDER_24_DEFINITION,
+ WebAppFoldersFormLayoutData.PERSISTENCE_FOLDER_24_DEFINITION,
WebAppFoldersFormLayoutData.SERVLET_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.MIME_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.ERROR_FOLDER_DEFINITION,
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/messages.properties
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/messages.properties 2010-01-25 15:15:35 UTC (rev 19909)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/messages.properties 2010-01-25 15:28:36 UTC (rev 19910)
@@ -42,6 +42,8 @@
WebAppFileFormLayoutData_WebDesc25=Web Descriptor 2.5
WebAppFoldersFormLayoutData_ContextParams=Context Params
WebAppFoldersFormLayoutData_Filters=Filters
+WebAppFoldersFormLayoutData_LifecycleCallbacks=Lifecycle Callbacks
+WebAppFoldersFormLayoutData_Persistence=Persistence
WebAppFoldersFormLayoutData_ErrorPages=Error Pages
WebAppFoldersFormLayoutData_WebAppErrorPage=WebAppErrorPage
WebAppFoldersFormLayoutData_ResourceEnvRefs=Resource Env Refs
16 years, 2 months
JBoss Tools SVN: r19908 - in trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test: resources/jsf2test/WebContent and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: dmaliarevich
Date: 2010-01-25 10:14:10 -0500 (Mon, 25 Jan 2010)
New Revision: 19908
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/changeLocaleAndRefresh.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/localeAttribute.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/severalFViews.xhtml
Removed:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/changeLocaleAndRefresh.jsp
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/localeAttribute.jsp
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/severalFViews.jsp
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/JavaSource/demo/Messages.properties
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/WEB-INF/faces-config.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/index.html
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/TestFViewLocaleAttribute_JBIDE5218.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5218, JUnits were updated.
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/JavaSource/demo/Messages.properties
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/JavaSource/demo/Messages.properties 2010-01-25 13:33:29 UTC (rev 19907)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/JavaSource/demo/Messages.properties 2010-01-25 15:14:10 UTC (rev 19908)
@@ -1,3 +1,3 @@
-header=Hello!
-prompt_message=Name:
-hello_message=Hello
+header=Hello! (Default)
+prompt_message=Name: (Default)
+hello_message=Hello (Default)
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/WEB-INF/faces-config.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/WEB-INF/faces-config.xml 2010-01-25 13:33:29 UTC (rev 19907)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/WEB-INF/faces-config.xml 2010-01-25 15:14:10 UTC (rev 19908)
@@ -11,6 +11,12 @@
</locale-config>
<message-bundle>messages_ru</message-bundle>
<message-bundle>messages_en</message-bundle>
- <message-bundle>messages_en_US</message-bundle>
+ <message-bundle>messages_en_US </message-bundle>
+
+ <resource-bundle>
+ <base-name>demo.Messages</base-name>
+ <var>Message</var>
+ </resource-bundle>
+
</application>
</faces-config>
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/index.html
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/index.html 2010-01-25 13:33:29 UTC (rev 19907)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/index.html 2010-01-25 15:14:10 UTC (rev 19908)
@@ -13,5 +13,8 @@
<a href="pages/JBIDE/2550/jbide2550.jsf">Resource Test Page</a><br>
<a href="pages/JBIDE/5352/jbide5352.jsf">Test Page with template name resolving for default tags</a><br>
<a href="pages/JBIDE/localization_versioning/resource-handling-1.jsf">Resource localization and versioning</a><br>
+ <a href="pages/JBIDE/5218/localeAttribute.jsf">(Locale: 1) Test locale attribute for f:view</a><br>
+ <a href="pages/JBIDE/5218/severalFViews.jsf">(Locale: 2) Test locale for several f:views</a><br>
+ <a href="pages/JBIDE/5218/changeLocaleAndRefresh.jsf">(Locale: 3) Test change locale and refresh</a><br>
</body>
</html>
Deleted: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/changeLocaleAndRefresh.jsp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/changeLocaleAndRefresh.jsp 2010-01-25 13:33:29 UTC (rev 19907)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/changeLocaleAndRefresh.jsp 2010-01-25 15:14:10 UTC (rev 19908)
@@ -1,17 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
-<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
-
-<f:loadBundle var="Message" basename="demo.Messages"/>
-
-<html>
-<head>
-
-</head>
-
-<body>
-<f:view locale="de" id="fviewid">
-<div id="localeText">#{Message.hello_message}</div>
-</f:view>
-</body>
-
-</html>
Copied: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/changeLocaleAndRefresh.xhtml (from rev 19898, trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/changeLocaleAndRefresh.jsp)
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/changeLocaleAndRefresh.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/changeLocaleAndRefresh.xhtml 2010-01-25 15:14:10 UTC (rev 19908)
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html">
+<h:head>
+ <title>(Locale: 3) Test change locale and refresh</title>
+</h:head>
+<h:body>
+ <f:view locale="de" id="fviewid">
+ <div id="localeText">#{Message.hello_message}</div>
+ </f:view>
+</h:body>
+</html>
Deleted: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/localeAttribute.jsp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/localeAttribute.jsp 2010-01-25 13:33:29 UTC (rev 19907)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/localeAttribute.jsp 2010-01-25 15:14:10 UTC (rev 19908)
@@ -1,17 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
-<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
-
-<f:loadBundle var="Message" basename="demo.Messages"/>
-
-<html>
-<head>
-
-</head>
-
-<body>
-<f:view locale="de">
-<div id="localeText">#{Message.hello_message}</div>
-</f:view>
-</body>
-
-</html>
Copied: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/localeAttribute.xhtml (from rev 19898, trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/localeAttribute.jsp)
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/localeAttribute.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/localeAttribute.xhtml 2010-01-25 15:14:10 UTC (rev 19908)
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html">
+<h:head>
+ <title>(Locale: 1) Test locale attribute for f:view</title>
+</h:head>
+<h:body>
+ <f:view locale="de">
+ <div id="localeText">#{Message.hello_message}</div>
+ </f:view>
+</h:body>
+</html>
\ No newline at end of file
Deleted: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/severalFViews.jsp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/severalFViews.jsp 2010-01-25 13:33:29 UTC (rev 19907)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/severalFViews.jsp 2010-01-25 15:14:10 UTC (rev 19908)
@@ -1,23 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
-<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
-
-<f:loadBundle var="Message" basename="demo.Messages"/>
-
-<html>
-<head>
-
-</head>
-
-<body>
-<f:view locale="de">
-<div id="localeText1">#{Message.hello_message}</div>
-</f:view>
-<f:view>
-<div id="localeText2">#{Message.hello_message}</div>
-</f:view>
-<f:view locale="en_US">
-<div id="localeText">#{Message.hello_message}</div>
-</f:view>
-</body>
-
-</html>
Copied: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/severalFViews.xhtml (from rev 19898, trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/severalFViews.jsp)
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/severalFViews.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/jsf2test/WebContent/pages/JBIDE/5218/severalFViews.xhtml 2010-01-25 15:14:10 UTC (rev 19908)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html">
+<h:head>
+ <title>(Locale: 2) Test locale for several f:views</title>
+</h:head>
+<h:body>
+ <f:view locale="en">
+ <div id="localeText0">#{Message.hello_message}</div>
+ </f:view>
+ <f:view locale="de">
+ <div id="localeText1">#{Message.hello_message}</div>
+ </f:view>
+ <f:view>
+ <div id="localeText2">#{Message.hello_message}</div>
+ </f:view>
+ <f:view locale="en_GB">
+ <div id="localeText">#{Message.hello_message}</div>
+ </f:view>
+</h:body>
+</html>
\ No newline at end of file
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/TestFViewLocaleAttribute_JBIDE5218.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/TestFViewLocaleAttribute_JBIDE5218.java 2010-01-25 13:33:29 UTC (rev 19907)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/jbide/TestFViewLocaleAttribute_JBIDE5218.java 2010-01-25 15:14:10 UTC (rev 19908)
@@ -27,18 +27,19 @@
public class TestFViewLocaleAttribute_JBIDE5218 extends VpeTest {
private static final String DEFAULT_LOCALE_PAGE = "defaultLocale.jsp"; //$NON-NLS-1$
- private static final String LOCALE_ATTRIBUTE_PAGE = "JBIDE/5218/localeAttribute.jsp"; //$NON-NLS-1$
private static final String LOCALE_ATTRIBUTE_WITH_DEFAULT_LOCALE_PAGE = "localeAndDefault.jsp"; //$NON-NLS-1$
- private static final String SEVERAL_FVIEWS_PAGE = "JBIDE/5218/severalFViews.jsp"; //$NON-NLS-1$
- private static final String CHANGE_LOCALE_AND_REFRESH_PAGE = "JBIDE/5218/changeLocaleAndRefresh.jsp"; //$NON-NLS-1$
+ private static final String LOCALE_ATTRIBUTE_PAGE = "JBIDE/5218/localeAttribute.xhtml"; //$NON-NLS-1$
+ private static final String SEVERAL_FVIEWS_PAGE = "JBIDE/5218/severalFViews.xhtml"; //$NON-NLS-1$
+ private static final String CHANGE_LOCALE_AND_REFRESH_PAGE = "JBIDE/5218/changeLocaleAndRefresh.xhtml"; //$NON-NLS-1$
private static final String HELLO_DE = "Guten Tag!"; //$NON-NLS-1$
private static final String HELLO2_DE = "German Hello"; //$NON-NLS-1$
- private static final String HELLO_EN = "Hello"; //$NON-NLS-1$
+ private static final String HELLO_EN = "Hello (Default)"; //$NON-NLS-1$
private static final String HELLO_EN_US = "US Hello"; //$NON-NLS-1$
private static final String HELLO_EN_GB = "Great Britain Hello"; //$NON-NLS-1$
private static final String LOCALE_TEXT_ID = "localeText"; //$NON-NLS-1$
+ private static final String LOCALE_TEXT0_ID = "localeText0"; //$NON-NLS-1$
private static final String LOCALE_TEXT1_ID = "localeText1"; //$NON-NLS-1$
private static final String LOCALE_TEXT2_ID = "localeText2"; //$NON-NLS-1$
private static final String FVIEW_ID = "fviewid"; //$NON-NLS-1$
@@ -60,42 +61,43 @@
nsIDOMDocument doc = controller.getXulRunnerEditor().getDOMDocument();
nsIDOMElement localeText = doc.getElementById(LOCALE_TEXT_ID);
String localizedText = getLocalizedText(localeText);
- assertTrue("Text is '"+localizedText+"', but should be in Deutch", HELLO_DE.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Text is '"+localizedText+"', but should be in 'de' locale", HELLO_DE.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
closeEditors();
}
+
/**
- * f:view has a locale attribute defined,
- * which should be applied.
- * Default locale is empty in this case.
+ * The default locale is defined,
+ * f:view has a locale attribute defined also,
+ * The default locale in this case should take an advantage.
*
* @throws Throwable
*/
- public void testLocaleAttribute() throws Throwable {
+ public void testLocaleAttributeWithDefaultLocale() throws Throwable {
VpeController controller = openInVpe(
- JsfAllTests.IMPORT_JSF_20_PROJECT_NAME, LOCALE_ATTRIBUTE_PAGE);
+ JsfAllTests.IMPORT_I18N_PROJECT_NAME,
+ LOCALE_ATTRIBUTE_WITH_DEFAULT_LOCALE_PAGE);
nsIDOMDocument doc = controller.getXulRunnerEditor().getDOMDocument();
nsIDOMElement localeText = doc.getElementById(LOCALE_TEXT_ID);
String localizedText = getLocalizedText(localeText);
- assertTrue("Text is '"+localizedText+"', but should be should be in German", HELLO2_DE.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Text is '"+localizedText+"', but should be in 'de' locale", HELLO_DE.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
closeEditors();
}
/**
- * The default locale is defined,
- * f:view has a locale attribute defined also,
- * The default locale in this case should take an advantage.
+ * f:view has a locale attribute defined,
+ * which should be applied.
+ * Default locale is empty in this case.
*
* @throws Throwable
*/
- public void testLocaleAttributeWithDefaultLocale() throws Throwable {
+ public void testLocaleAttribute() throws Throwable {
VpeController controller = openInVpe(
- JsfAllTests.IMPORT_I18N_PROJECT_NAME,
- LOCALE_ATTRIBUTE_WITH_DEFAULT_LOCALE_PAGE);
+ JsfAllTests.IMPORT_JSF_20_PROJECT_NAME, LOCALE_ATTRIBUTE_PAGE);
nsIDOMDocument doc = controller.getXulRunnerEditor().getDOMDocument();
nsIDOMElement localeText = doc.getElementById(LOCALE_TEXT_ID);
String localizedText = getLocalizedText(localeText);
- assertTrue("Text is '"+localizedText+"', but should be in Deutch", HELLO_DE.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Text is '"+localizedText+"', but should be should be in 'de' locale", HELLO_EN_US.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
closeEditors();
}
@@ -110,17 +112,23 @@
VpeController controller = openInVpe(
JsfAllTests.IMPORT_JSF_20_PROJECT_NAME, SEVERAL_FVIEWS_PAGE);
nsIDOMDocument doc = controller.getXulRunnerEditor().getDOMDocument();
- nsIDOMElement localeText = doc.getElementById(LOCALE_TEXT1_ID);
+
+ nsIDOMElement localeText = doc.getElementById(LOCALE_TEXT0_ID);
String localizedText = getLocalizedText(localeText);
- assertTrue("Text is '"+localizedText+"', but should be in 'de' locale", HELLO2_DE.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Text is '"+localizedText+"', but should be in 'de' locale", HELLO_EN_GB.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+
+ localeText = doc.getElementById(LOCALE_TEXT1_ID);
+ localizedText = getLocalizedText(localeText);
+ assertTrue("Text is '"+localizedText+"', but should be in 'de' locale", HELLO_EN_GB.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
localeText = doc.getElementById(LOCALE_TEXT2_ID);
localizedText = getLocalizedText(localeText);
- assertTrue("Text is '"+localizedText+"', but should be in default locale", HELLO_EN.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Text is '"+localizedText+"', but should be in default locale", HELLO_EN_GB.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
localeText = doc.getElementById(LOCALE_TEXT_ID);
localizedText = getLocalizedText(localeText);
- assertTrue("Text is '"+localizedText+"', but should be in 'en_US' locale", HELLO_EN_US.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Text is '"+localizedText+"', but should be in 'en_US' locale", HELLO_EN_GB.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+
closeEditors();
}
@@ -138,7 +146,7 @@
nsIDOMDocument doc = controller.getXulRunnerEditor().getDOMDocument();
nsIDOMElement localeText = doc.getElementById(LOCALE_TEXT_ID);
String localizedText = getLocalizedText(localeText);
- assertTrue("Text is '"+localizedText+"', but should be in German", HELLO2_DE.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Text is '"+localizedText+"', but should be in 'de' locale", HELLO2_DE.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
/*
* Change the locale
*/
@@ -156,7 +164,7 @@
/*
* Check the new localized message.
*/
- assertTrue("Text is '"+localizedText+"', but should be in en_GB", HELLO_EN_GB.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Text is '"+localizedText+"', but should be in 'en_GB' locale", HELLO_EN_GB.equalsIgnoreCase(localizedText)); //$NON-NLS-1$ //$NON-NLS-2$
closeEditors();
}
16 years, 2 months
JBoss Tools SVN: r19907 - in trunk/smooks: plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/csv and 12 other directories.
by jbosstools-commits@lists.jboss.org
Author: tfennelly
Date: 2010-01-25 08:33:29 -0500 (Mon, 25 Jan 2010)
New Revision: 19907
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/ValueMapping.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/CollectionMapping.java
trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/Mapping.java
trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/TemplateBuilder.java
trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/csv/CSVFreeMarkerTemplateBuilder.java
trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/util/FreeMarkerUtil.java
trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/xml/XMLFreeMarkerTemplateBuilder.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/models/EDIMappingNodeGraphModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/model/AbstractSmooksGraphicalModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeConnection.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceConfigChildNodeGraphModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceConfigGraphModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerAttrModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateNodeGraphicalModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateXMLModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/javamapping/JavaBeanChildGraphModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/xsl/XSLNodeGraphicalModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateConnectionModelFactory.java
trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/csv/CSVFreeMarkerTemplateBuilderTest.java
trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-01.xml
trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-02.xml
trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-03.xml
trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/order-status-expected-01.xml
trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/order-status-expected-02.xml
Log:
https://jira.jboss.org/jira/browse/JBIDE-5293
Need way to control FreeMarker template variable formatting
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/CollectionMapping.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/CollectionMapping.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/CollectionMapping.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -23,7 +23,7 @@
import org.eclipse.core.runtime.Assert;
/**
- * Collection {@link Mapping}.
+ * Collection {@link ValueMapping}.
*
* @author <a href="mailto:tom.fennelly@jboss.com">tom.fennelly(a)jboss.com</a>
*/
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/Mapping.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/Mapping.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/Mapping.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -1,75 +1,76 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.tools.smooks.templating.template;
-
-import org.w3c.dom.Node;
-import org.eclipse.core.runtime.Assert;
-
-import java.util.List;
-import java.util.ArrayList;
-
-/**
- * Model template mapping.
- * <p/>
- * Represents a successful mapping. It also tells if the mapping requires
- * other model nodes to be hidden in the Editor view, so as to restrict mappings to these nodes.
- *
- * @author <a href="mailto:tom.fennelly@jboss.com">tom.fennelly(a)jboss.com</a>
- */
-public class Mapping {
-
- private String srcPath;
- private Node mappingNode;
- private List<Node> hideNodes;
-
- /**
- * Public constructor.
- * @param srcPath Source path.
- * @param mappingNode The mapping node.
- */
- public Mapping(String srcPath, Node mappingNode) {
- Assert.isNotNull(srcPath, "srcPath"); //$NON-NLS-1$
- Assert.isNotNull(mappingNode, "mappingNode"); //$NON-NLS-1$
- this.srcPath = srcPath;
- this.mappingNode = mappingNode;
- }
-
- public String getSrcPath() {
- return srcPath;
- }
-
- public Node getMappingNode() {
- return mappingNode;
- }
-
- public List<Node> getHideNodes() {
- return hideNodes;
- }
-
- public void addHideNode(Node node) {
- Assert.isNotNull(node, "node"); //$NON-NLS-1$
-
- if(hideNodes == null) {
- hideNodes = new ArrayList<Node>();
- }
-
- hideNodes.add(node);
- }
-}
+/**
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2009, JBoss Inc.
+ */
+package org.jboss.tools.smooks.templating.template;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.Assert;
+import org.w3c.dom.Node;
+
+/**
+ * Abstract Mapping.
+ * <p/>
+ * Represents a successful mapping. It also tells if the mapping requires
+ * other model nodes to be hidden in the Editor view, so as to restrict mappings to these nodes.
+ *
+ * @author <a href="mailto:tom.fennelly@jboss.com">tom.fennelly(a)jboss.com</a>
+ */
+public abstract class Mapping {
+
+ private String srcPath;
+ private Node mappingNode;
+ private List<Node> hideNodes;
+
+ /**
+ * Public constructor.
+ * @param srcPath Source path.
+ * @param mappingNode The mapping node.
+ */
+ public Mapping(String srcPath, Node mappingNode) {
+ Assert.isNotNull(srcPath, "srcPath"); //$NON-NLS-1$
+ Assert.isNotNull(mappingNode, "mappingNode"); //$NON-NLS-1$
+ this.srcPath = srcPath;
+ this.mappingNode = mappingNode;
+ }
+
+ public String getSrcPath() {
+ return srcPath;
+ }
+
+ public Node getMappingNode() {
+ return mappingNode;
+ }
+
+ public List<Node> getHideNodes() {
+ return hideNodes;
+ }
+
+ public void addHideNode(Node node) {
+ Assert.isNotNull(node, "node"); //$NON-NLS-1$
+
+ if(hideNodes == null) {
+ hideNodes = new ArrayList<Node>();
+ }
+
+ hideNodes.add(node);
+ }
+
+}
\ No newline at end of file
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/TemplateBuilder.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/TemplateBuilder.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/TemplateBuilder.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -40,6 +40,7 @@
import org.jboss.tools.smooks.templating.template.exception.InvalidMappingException;
import org.jboss.tools.smooks.templating.template.exception.TemplateBuilderException;
import org.jboss.tools.smooks.templating.template.exception.UnmappedCollectionNodeException;
+import org.jboss.tools.smooks.templating.template.util.FreeMarkerUtil;
import org.milyn.xml.DomUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -49,9 +50,7 @@
/**
* Abstract Template Builder.
* <p/>
- * See <a
- * href="http://www.jboss.org/community/wiki/SmooksEditorTemplateGeneration"
- * >Wiki Docs</a>.
+ * See <a href="http://www.jboss.org/community/wiki/SmooksEditorTemplateGeneration">Wiki Docs</a>.
*
* @author <a href="mailto:tom.fennelly@jboss.com">tom.fennelly(a)jboss.com</a>
*/
@@ -136,11 +135,11 @@
* @throws InvalidMappingException
* Invalid mapping.
*/
- public Mapping addValueMapping(String srcPath, Node modelPath) throws InvalidMappingException {
+ public ValueMapping addValueMapping(String srcPath, Node modelPath) throws InvalidMappingException {
asserValidMappingNode(modelPath);
assertCollectionsMapped(modelPath);
- Mapping mapping = new Mapping(srcPath, modelPath);
+ ValueMapping mapping = new ValueMapping(srcPath, modelPath);
mappings.add(mapping);
addHideNodes(modelPath, mapping);
@@ -160,12 +159,12 @@
* @throws InvalidMappingException
* Invalid mapping.
*/
- public Mapping addCollectionMapping(String srcCollectionPath, Element modelCollectionPath, String collectionItemName)
+ public CollectionMapping addCollectionMapping(String srcCollectionPath, Element modelCollectionPath, String collectionItemName)
throws InvalidMappingException {
asserValidMappingNode(modelCollectionPath);
assertCollectionsMapped(modelCollectionPath.getParentNode());
- Mapping mapping = new CollectionMapping(srcCollectionPath, modelCollectionPath, collectionItemName);
+ CollectionMapping mapping = new CollectionMapping(srcCollectionPath, modelCollectionPath, collectionItemName);
mappings.add(mapping);
addHideNodes(modelCollectionPath, mapping);
@@ -418,9 +417,25 @@
"Unexpected Exception. Invalid <smk:list> collection node. Has no child elements!");
}
+ protected void addValueMapping(Node modelNode, ModelNodeResolver modelNodeResolver, String dollarVariable) throws TemplateBuilderException, InvalidMappingException {
+ Node targetModelNode = modelNodeResolver.resolveNodeMapping(modelNode);
+ addValueMapping(targetModelNode, dollarVariable);
+ }
+
+ protected void addValueMapping(Node modelNode, String dollarVariable) throws TemplateBuilderException, InvalidMappingException {
+ String srcPath = FreeMarkerUtil.extractJavaPath(dollarVariable);
+ String rawFormatting = FreeMarkerUtil.extractRawFormatting(dollarVariable);
+
+ ValueMapping mapping = addValueMapping(srcPath, modelNode);
+ if(rawFormatting != null) {
+ Properties encodeProperties = new Properties();
+ encodeProperties.setProperty(ValueMapping.RAW_FORMATING_KEY, rawFormatting);
+ mapping.setEncodeProperties(encodeProperties);
+ }
+ }
+
public static void writeListStart(StringWriter writer, String srcPath, String collectionItemName) {
- writer
- .write("<smk:list smk:srcPath=\"" + srcPath + "\" smk:collectionItemName=\"" + collectionItemName + "\" xmlns:smk=\"" + ModelBuilder.NAMESPACE + "\">"); //$NON-NLS-1$
+ writer.write("<smk:list smk:srcPath=\"" + srcPath + "\" smk:collectionItemName=\"" + collectionItemName + "\" xmlns:smk=\"" + ModelBuilder.NAMESPACE + "\">"); //$NON-NLS-1$
}
public static void writeListEnd(StringWriter writer) {
Copied: trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/ValueMapping.java (from rev 19883, trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/Mapping.java)
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/ValueMapping.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/ValueMapping.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.tools.smooks.templating.template;
+
+import java.util.Properties;
+
+import org.w3c.dom.Node;
+
+/**
+ * Model template value mapping.
+ *
+ * @author <a href="mailto:tom.fennelly@jboss.com">tom.fennelly(a)jboss.com</a>
+ */
+public class ValueMapping extends Mapping {
+
+ public static final String RAW_FORMATING_KEY = ValueMapping.class.getName() + "#RAW_FORMATING_KEY";
+
+ private Class<?> valueType;
+ private Properties encodeProperties;
+
+ /**
+ * Public constructor.
+ * @param srcPath Source path.
+ * @param mappingNode The mapping node.
+ */
+ public ValueMapping(String srcPath, Node mappingNode) {
+ super(srcPath, mappingNode);
+ }
+
+ /**
+ * Get the data type associated with the mapping value.
+ * @return The mapping value type, or null if not defined.
+ */
+ public Class<?> getValueType() {
+ return valueType;
+ }
+
+ /**
+ * Set the data type associated with the mapping value.
+ * @param valueType The mapping value type.
+ */
+ public void setValueType(Class<?> valueType) {
+ this.valueType = valueType;
+ }
+
+ /**
+ * Get the data value templating encoding properties.
+ * @return The data value templating encoding properties, or null if not defined.
+ */
+ public Properties getEncodeProperties() {
+ return encodeProperties;
+ }
+
+ /**
+ * Set the data value templating encoding properties.
+ * @param encodeProperties The data value templating encoding properties.
+ */
+ public void setEncodeProperties(Properties encodeProperties) {
+ this.encodeProperties = encodeProperties;
+ }
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/ValueMapping.java
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/csv/CSVFreeMarkerTemplateBuilder.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/csv/CSVFreeMarkerTemplateBuilder.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/csv/CSVFreeMarkerTemplateBuilder.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -158,7 +158,7 @@
}
if(FreeMarkerUtil.isDollarVariable(fields[fieldIndex])) {
- addValueMapping(FreeMarkerUtil.extractJavaPath(fields[fieldIndex]), node);
+ addValueMapping(node, fields[fieldIndex]);
}
fieldIndex++;
}
@@ -209,7 +209,7 @@
if(fieldMapping != null) {
template.append(quoteChar);
- template.append("${" + fieldMapping.getSrcPath() + "?string}"); //$NON-NLS-1$
+ template.append(FreeMarkerUtil.toFreeMarkerVariable((ValueMapping) fieldMapping)); //$NON-NLS-1$
template.append(quoteChar);
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/util/FreeMarkerUtil.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/util/FreeMarkerUtil.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/util/FreeMarkerUtil.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -19,7 +19,11 @@
*/
package org.jboss.tools.smooks.templating.template.util;
+import java.util.Properties;
+
+import org.jboss.tools.smooks.templating.template.ValueMapping;
import org.jboss.tools.smooks.templating.template.exception.TemplateBuilderException;
+import org.milyn.javabean.decoders.DateDecoder;
/**
* FreeMarker utility methods.
@@ -29,6 +33,16 @@
public class FreeMarkerUtil {
public static String extractJavaPath(String dollarVariable) throws TemplateBuilderException {
+ return splitDollarVariable(dollarVariable)[0];
+ }
+
+ public static String extractRawFormatting(String dollarVariable) throws TemplateBuilderException {
+ return splitDollarVariable(dollarVariable)[1];
+ }
+
+ public static String[] splitDollarVariable(String dollarVariable) throws TemplateBuilderException {
+ String[] splitTokens = new String[2];
+
dollarVariable = dollarVariable.trim();
if(isDollarVariable(dollarVariable)) {
@@ -36,16 +50,65 @@
int questionMarkIdx = withoutDollarBrace.indexOf('?'); //$NON-NLS-1$
if(questionMarkIdx != -1) {
- return withoutDollarBrace.substring(0, questionMarkIdx);
+ splitTokens[0] = withoutDollarBrace.substring(0, questionMarkIdx);
+ splitTokens[1] = withoutDollarBrace.substring(questionMarkIdx + 1); // the raw formatting
} else {
- return withoutDollarBrace;
+ splitTokens[0] = withoutDollarBrace;
+ splitTokens[1] = null; // no formatting
}
+
+ if(splitTokens[0].endsWith("!")) { //$NON-NLS-1$
+ splitTokens[0] = splitTokens[0].substring(0, splitTokens[0].length() - 1);
+ }
} else {
throw new TemplateBuilderException("Unsupported FreeMarker variable syntax '" + dollarVariable + "'."); //$NON-NLS-1$
}
+
+ return splitTokens;
}
public static boolean isDollarVariable(String variable) {
return (variable.startsWith("${") && variable.endsWith("}")); //$NON-NLS-1$
}
+
+ public static String toFreeMarkerVariable(ValueMapping mapping) {
+ StringBuilder builder = new StringBuilder();
+ Properties encodeProperties = mapping.getEncodeProperties();
+ String rawFormatting;
+
+ if(encodeProperties == null) {
+ encodeProperties = new Properties();
+ }
+
+ builder.append("${" + mapping.getSrcPath() + "!?");
+
+ rawFormatting = encodeProperties.getProperty(ValueMapping.RAW_FORMATING_KEY);
+ if(rawFormatting != null) {
+ builder.append(rawFormatting);
+ builder.append("}");
+ } else {
+ Class<?> valueType = mapping.getValueType();
+ if(valueType != null) {
+
+ if(valueType == java.util.Date.class) {
+ String format = encodeProperties.getProperty(DateDecoder.FORMAT);
+ if(format != null) {
+ builder.append("string('" + format + "')}");
+ } else {
+ builder.append("string.medium}");
+ }
+ } else if(Number.class.isAssignableFrom(valueType)) {
+ builder.append("c}");
+ } else if(valueType == Double.TYPE || valueType == Float.TYPE || valueType == Integer.TYPE || valueType == Long.TYPE || valueType == Short.TYPE) {
+ builder.append("c}");
+ } else {
+ builder.append("string}");
+ }
+ } else {
+ builder.append("string}");
+ }
+ }
+
+ return builder.toString();
+ }
}
\ No newline at end of file
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/xml/XMLFreeMarkerTemplateBuilder.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/xml/XMLFreeMarkerTemplateBuilder.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.templating/src/org/jboss/tools/smooks/templating/template/xml/XMLFreeMarkerTemplateBuilder.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -39,6 +39,7 @@
import org.jboss.tools.smooks.templating.model.ModelBuilder.ElementType;
import org.jboss.tools.smooks.templating.model.xml.XSDModelBuilder;
import org.jboss.tools.smooks.templating.template.*;
+import org.jboss.tools.smooks.templating.template.exception.InvalidMappingException;
import org.jboss.tools.smooks.templating.template.exception.TemplateBuilderException;
import org.jboss.tools.smooks.templating.template.util.FreeMarkerUtil;
import org.milyn.xml.DomUtils;
@@ -79,7 +80,7 @@
* existing FreeMarker template.
*
* @param modelBuilder The {@link ModelBuilder} instance that describes the XML model (e.g. {@link XSDModelBuilder}).
- * @param ftlTemplate FreeMarker template from which to extract existing {@link Mapping mappings}.
+ * @param ftlTemplate FreeMarker template from which to extract existing {@link ValueMapping mappings}.
* @throws ModelBuilderException Invalid {@link ModelBuilder} instance.
* @throws TemplateBuilderException Error processing FreeMarker template.
*/
@@ -174,7 +175,7 @@
Mapping mapping = getMapping(attribute);
if(mapping != null) {
- writeAttribute(attribute.getNodeName(), "${" + mapping.getSrcPath() + "?string}", templateWriter); //$NON-NLS-1$
+ writeAttribute(attribute.getNodeName(), FreeMarkerUtil.toFreeMarkerVariable((ValueMapping)mapping), templateWriter); //$NON-NLS-1$
} else if(ModelBuilder.isRequired(attribute)) {
writeAttribute(attribute.getNodeName(), attribute.getValue(), templateWriter);
}
@@ -196,11 +197,13 @@
}
private void writeAttribute(String name, String value, Writer templateWriter) throws IOException {
+ char quoteChar = (value.indexOf('\"') != -1) ? '\'' : '\"';
+
templateWriter.write(' '); //$NON-NLS-1$
templateWriter.write(name);
- templateWriter.write("=\""); //$NON-NLS-1$
+ templateWriter.write("=" + quoteChar); //$NON-NLS-1$
templateWriter.write(value);
- templateWriter.write("\""); //$NON-NLS-1$
+ templateWriter.write(quoteChar); //$NON-NLS-1$
}
private int writeElementChildren(Element element, int indent, Writer templateWriter) throws IOException {
@@ -213,7 +216,7 @@
if(ModelBuilder.getElementType(element) == ElementType.simple) {
templateWriter.write(">"); //$NON-NLS-1$
if(mapping != null) {
- templateWriter.write("${" + mapping.getSrcPath() + "?string}"); //$NON-NLS-1$
+ templateWriter.write(FreeMarkerUtil.toFreeMarkerVariable((ValueMapping)mapping));
} else {
templateWriter.write(ModelBuilder.REQUIRED);
}
@@ -297,10 +300,7 @@
// Handle the element itself...
if(FreeMarkerUtil.isDollarVariable(elementText)) {
- String srcPath = FreeMarkerUtil.extractJavaPath(elementText);
- Node targetModelNode = modelNodeResolver.resolveNodeMapping(element);
-
- addValueMapping(srcPath, targetModelNode);
+ addValueMapping(element, modelNodeResolver, elementText);
}
// Add mappings for the attributes...
@@ -313,10 +313,7 @@
String attrValue = attribute.getValue();
if(FreeMarkerUtil.isDollarVariable(attrValue)) {
- String srcPath = FreeMarkerUtil.extractJavaPath(attrValue);
- Node targetModelNode = modelNodeResolver.resolveNodeMapping(attribute);
-
- addValueMapping(srcPath, targetModelNode);
+ addValueMapping(attribute, modelNodeResolver, attrValue);
}
}
}
@@ -361,7 +358,11 @@
rewriteTemplateElement(children.nextElement(), templateRewriteBuffer);
}
} else {
- templateRewriteBuffer.append(element.getCanonicalForm());
+ if(element.getClass().getSimpleName().equals("DollarVariable")) {
+ templateRewriteBuffer.append(element.toString());
+ } else {
+ templateRewriteBuffer.append(element.getCanonicalForm());
+ }
}
}
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/models/EDIMappingNodeGraphModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/models/EDIMappingNodeGraphModel.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/models/EDIMappingNodeGraphModel.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -138,8 +138,8 @@
* (org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection)
*/
@Override
- public void addTargetConnection(TreeNodeConnection connection) {
- super.addTargetConnection(connection);
+ public void addTargetConnection(TreeNodeConnection connection, AbstractSmooksGraphicalModel sourceNode) {
+ super.addTargetConnection(connection, sourceNode);
}
/*
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/model/AbstractSmooksGraphicalModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/model/AbstractSmooksGraphicalModel.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/model/AbstractSmooksGraphicalModel.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -258,7 +258,7 @@
}
}
- public void addTargetConnection(TreeNodeConnection connection) {
+ public void addTargetConnection(TreeNodeConnection connection, AbstractSmooksGraphicalModel sourceNode) {
if (this.targetConnections.indexOf(connection) == -1) {
this.targetConnections.add(connection);
support.firePropertyChange(PRO_ADD_TARGET_CONNECTION, null, connection);
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeConnection.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeConnection.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeConnection.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -60,7 +60,7 @@
}
public void connectTarget() {
- targetNode.addTargetConnection(this);
+ targetNode.addTargetConnection(this, sourceNode);
}
public void disconnectSource() {
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceConfigChildNodeGraphModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceConfigChildNodeGraphModel.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceConfigChildNodeGraphModel.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -23,6 +23,7 @@
import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+import org.jboss.tools.smooks.templating.template.ValueMapping;
/**
* @author Dart
@@ -141,8 +142,8 @@
}
@Override
- public void addTargetConnection(TreeNodeConnection connection) {
- super.addTargetConnection(connection);
+ public void addTargetConnection(TreeNodeConnection connection, AbstractSmooksGraphicalModel sourceNode) {
+ super.addTargetConnection(connection, sourceNode);
Object model = getData();
model = AdapterFactoryEditingDomain.unwrap(model);
if (model instanceof EObject) {
@@ -176,4 +177,12 @@
domainProvider.getEditingDomain().getCommandStack().execute(command);
}
}
+
+ /**
+ * Add the resource type info to Value Mapping instance.
+ * @param mapping The Value Mapping instance.
+ */
+ public void addMappingTypeInfo(ValueMapping mapping) {
+ // Override in implementation to add typing info associated with implementation type.
+ }
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceConfigGraphModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceConfigGraphModel.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceConfigGraphModel.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -23,6 +23,7 @@
import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+import org.jboss.tools.smooks.templating.template.ValueMapping;
/**
* @author Dart
@@ -57,8 +58,8 @@
ILabelProvider labelProvider);
@Override
- public void addTargetConnection(TreeNodeConnection connection) {
- super.addTargetConnection(connection);
+ public void addTargetConnection(TreeNodeConnection connection, AbstractSmooksGraphicalModel sourceNode) {
+ super.addTargetConnection(connection, sourceNode);
Object model = getData();
if (model instanceof EObject) {
EStructuralFeature feature = null;
@@ -141,5 +142,4 @@
// }
}
}
-
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerAttrModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerAttrModel.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerAttrModel.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -17,6 +17,7 @@
import org.jboss.tools.smooks.configuration.editors.xml.TagPropertyObject;
import org.jboss.tools.smooks.templating.model.ModelBuilder;
import org.jboss.tools.smooks.templating.template.Mapping;
+import org.jboss.tools.smooks.templating.template.ValueMapping;
import org.jboss.tools.smooks.templating.template.TemplateBuilder;
import org.w3c.dom.Attr;
import org.w3c.dom.Node;
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateNodeGraphicalModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateNodeGraphicalModel.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateNodeGraphicalModel.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -24,12 +24,15 @@
import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+import org.jboss.tools.smooks.graphical.editors.model.AbstractResourceConfigChildNodeGraphModel;
+import org.jboss.tools.smooks.graphical.editors.model.AbstractResourceConfigGraphModel;
import org.jboss.tools.smooks.graphical.editors.model.javamapping.JavaBeanGraphModel;
import org.jboss.tools.smooks.model.freemarker.Freemarker;
import org.jboss.tools.smooks.model.freemarker.Template;
import org.jboss.tools.smooks.model.javabean12.BeanType;
import org.jboss.tools.smooks.model.javabean12.ValueType;
import org.jboss.tools.smooks.templating.template.Mapping;
+import org.jboss.tools.smooks.templating.template.ValueMapping;
import org.jboss.tools.smooks.templating.template.TemplateBuilder;
import org.jboss.tools.smooks.templating.template.exception.InvalidMappingException;
import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
@@ -109,7 +112,7 @@
* (org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection)
*/
@Override
- public void addTargetConnection(TreeNodeConnection connection) {
+ public void addTargetConnection(TreeNodeConnection connection, AbstractSmooksGraphicalModel sourceNode) {
TemplateBuilder builder = getTemplateBuilder();
Object obj = this.getData();
Node node = null;
@@ -165,11 +168,16 @@
mappingString = FreemarkerCSVContentGenerator.generateJavaSourcePathWithoutRootNode(
mappingSourceNode, collectionJavaBean);
}
- Mapping mapping = builder.addValueMapping(mappingString, node);
+
+ ValueMapping mapping = builder.addValueMapping(mappingString, node);
+ if(sourceNode instanceof AbstractResourceConfigChildNodeGraphModel) {
+ ((AbstractResourceConfigChildNodeGraphModel)sourceNode).addMappingTypeInfo(mapping);
+ }
+
connection.setData(mapping);
}
changeFreemarkerContents();
- super.addTargetConnection(connection);
+ super.addTargetConnection(connection, sourceNode);
} catch (InvalidMappingException e) {
e.printStackTrace();
}
@@ -267,7 +275,7 @@
Object mapping = connection.getData();
if (builder == null || mapping == null)
return;
- if (mapping instanceof Mapping) {
+ if (mapping instanceof ValueMapping) {
builder.removeMapping((Mapping) mapping);
changeFreemarkerContents();
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateXMLModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateXMLModel.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/freemarker/FreemarkerTemplateXMLModel.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -19,6 +19,7 @@
import org.jboss.tools.smooks.configuration.editors.xml.TagPropertyObject;
import org.jboss.tools.smooks.templating.model.ModelBuilder;
import org.jboss.tools.smooks.templating.template.Mapping;
+import org.jboss.tools.smooks.templating.template.ValueMapping;
import org.jboss.tools.smooks.templating.template.TemplateBuilder;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/javamapping/JavaBeanChildGraphModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/javamapping/JavaBeanChildGraphModel.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/javamapping/JavaBeanChildGraphModel.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -10,34 +10,33 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors.model.javamapping;
-import java.lang.reflect.Field;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URI;
-import java.net.URL;
-import java.nio.charset.Charset;
+import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.Calendar;
import java.util.Collections;
-import java.util.Date;
import java.util.Iterator;
import java.util.List;
+import java.util.Properties;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.command.CompoundCommand;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl.ContainmentUpdatingFeatureMapEntry;
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.command.DeleteCommand;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.edit.provider.WrapperItemProvider;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.swt.graphics.Image;
import org.jboss.tools.smooks.configuration.SmooksConfigurationActivator;
import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
+import org.jboss.tools.smooks.configuration.editors.uitls.ProjectClassLoader;
import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
-import org.jboss.tools.smooks.configuration.editors.uitls.ProjectClassLoader;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
@@ -55,6 +54,7 @@
import org.jboss.tools.smooks.model.javabean12.ValueType;
import org.jboss.tools.smooks.templating.model.ModelBuilder;
import org.jboss.tools.smooks.templating.template.TemplateBuilder;
+import org.jboss.tools.smooks.templating.template.ValueMapping;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -249,7 +249,7 @@
* .smooks.gef.tree.model.TreeNodeConnection)
*/
@Override
- public void addTargetConnection(TreeNodeConnection connection) {
+ public void addTargetConnection(TreeNodeConnection connection, AbstractSmooksGraphicalModel sourceNode) {
Object model = getData();
model = AdapterFactoryEditingDomain.unwrap(model);
if (model instanceof ValueType) {
@@ -294,7 +294,7 @@
}
}
} else {
- super.addTargetConnection(connection);
+ super.addTargetConnection(connection, sourceNode);
}
}
@@ -399,4 +399,62 @@
}
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.graphical.editors.model.AbstractResourceConfigGraphModel#addMappingTypeInfo(org.jboss.tools.smooks.templating.template.ValueMapping)
+ */
+ @Override
+ public void addMappingTypeInfo(ValueMapping mapping) {
+ if(getData() instanceof WrapperItemProvider) {
+ WrapperItemProvider sourceData = (WrapperItemProvider) getData();
+ BeanType bean = (BeanType) sourceData.getOwner();
+ ValueType valueBinding = (ValueType) ((ContainmentUpdatingFeatureMapEntry)sourceData.getValue()).getValue();
+
+ mapping.setValueType(getPropertyType(bean, valueBinding));
+ if(mapping.getEncodeProperties() == null) {
+ mapping.setEncodeProperties(getDecoderParams(valueBinding));
+ }
+ }
+ }
+
+ private Class<?> getPropertyType(BeanType bean, ValueType valueBinding) {
+ try {
+ IJavaProject project = SmooksUIUtils.getJavaProject(bean);
+ ProjectClassLoader classLoader = new ProjectClassLoader(project);
+ Class<?> beanClass = classLoader.loadClass(bean.getClass_());
+ String targetProperty = valueBinding.getProperty();
+
+ if(targetProperty != null && !targetProperty.trim().equals("")) {
+ StringBuilder getterNameBuilder = new StringBuilder();
+
+ getterNameBuilder.append(targetProperty);
+ getterNameBuilder.setCharAt(0, Character.toUpperCase(targetProperty.charAt(0)));
+ getterNameBuilder.insert(0, "get");
+
+ try {
+ Method getterMethod = beanClass.getMethod(getterNameBuilder.toString(), new Class[] {});
+ return getterMethod.getReturnType();
+ } catch (SecurityException e) {
+ e.printStackTrace();
+ } catch (NoSuchMethodException e) {
+ }
+ }
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ } catch (JavaModelException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ private Properties getDecoderParams(ValueType valueBinding) {
+ Properties decodeParams = new Properties();
+ EList decodeParamsList = valueBinding.getDecodeParam();
+
+ for(int i = 0; i < decodeParamsList.size(); i++) {
+ DecodeParamType decodeParamObj = (DecodeParamType) decodeParamsList.get(i);
+ decodeParams.setProperty(decodeParamObj.getName(), decodeParamObj.getValue());
+ }
+
+ return decodeParams;
+ }
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/xsl/XSLNodeGraphicalModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/xsl/XSLNodeGraphicalModel.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/xsl/XSLNodeGraphicalModel.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -197,7 +197,7 @@
* (org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection)
*/
@Override
- public void addTargetConnection(TreeNodeConnection connection) {
+ public void addTargetConnection(TreeNodeConnection connection, AbstractSmooksGraphicalModel sourceNode) {
AbstractSmooksGraphicalModel sourceModel = connection.getSourceNode();
Object source = sourceModel.getData();
String selectorString = null;
@@ -242,7 +242,7 @@
}
}
- super.addTargetConnection(connection);
+ super.addTargetConnection(connection, sourceNode);
setXSLContents(getXSLContents());
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateConnectionModelFactory.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateConnectionModelFactory.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateConnectionModelFactory.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -29,6 +29,7 @@
import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
import org.jboss.tools.smooks.graphical.editors.ConnectionModelFactoryImpl;
import org.jboss.tools.smooks.graphical.editors.editparts.SmooksGraphUtil;
+import org.jboss.tools.smooks.graphical.editors.model.AbstractResourceConfigChildNodeGraphModel;
import org.jboss.tools.smooks.graphical.editors.model.freemarker.FreemarkerTemplateConnection;
import org.jboss.tools.smooks.graphical.editors.model.freemarker.FreemarkerTemplateGraphicalModel;
import org.jboss.tools.smooks.graphical.editors.model.freemarker.FreemarkerTemplateNodeGraphicalModel;
@@ -37,6 +38,7 @@
import org.jboss.tools.smooks.model.javabean12.BeanType;
import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
import org.jboss.tools.smooks.templating.template.Mapping;
+import org.jboss.tools.smooks.templating.template.ValueMapping;
import org.jboss.tools.smooks.templating.template.TemplateBuilder;
import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
import org.w3c.dom.Node;
@@ -159,6 +161,11 @@
targetNode.fireConnectionChanged();
collections.add(connection);
connection.setData(mapping);
+
+ if(sourceNode instanceof AbstractResourceConfigChildNodeGraphModel && mapping instanceof ValueMapping) {
+ ((AbstractResourceConfigChildNodeGraphModel)sourceNode).addMappingTypeInfo((ValueMapping) mapping);
+ }
+
break;
}
}
Modified: trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/csv/CSVFreeMarkerTemplateBuilderTest.java
===================================================================
--- trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/csv/CSVFreeMarkerTemplateBuilderTest.java 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/csv/CSVFreeMarkerTemplateBuilderTest.java 2010-01-25 13:33:29 UTC (rev 19907)
@@ -47,17 +47,17 @@
builder1.addValueMapping("person.address.country", getFieldElement(builder1.getModel(), "country"));
String template = builder1.buildTemplate();
- //System.out.println(template);
+ System.out.println(template);
assertEquals("<#list people as person>\n" +
- "\"${person.fname?string}\",\"${person.lname?string}\",\"${person.address.country?string}\"\n" +
+ "\"${person.fname!?string}\",\"${person.lname!?string}\",\"${person.address.country!?string}\"\n" +
"</#list>",
template);
CSVFreeMarkerTemplateBuilder builder2 = new CSVFreeMarkerTemplateBuilder(modelBuilder, ',', '\"', false, template);
template = builder2.buildTemplate();
- //System.out.println(template);
+ System.out.println(template);
assertEquals("<#list people as person>\n" +
- "\"${person.fname?string}\",\"${person.lname?string}\",\"${person.address.country?string}\"\n" +
+ "\"${person.fname!?string}\",\"${person.lname!?string}\",\"${person.address.country!?string}\"\n" +
"</#list>",
template);
}
@@ -77,7 +77,7 @@
//System.out.println(template);
assertEquals("\"firstname\",\"lastname\",\"country\"\n" +
"<#list people as person>\n" +
- "\"${person.fname?string}\",\"${person.lname?string}\",\"${person.address.country?string}\"\n" +
+ "\"${person.fname!?string}\",\"${person.lname!?string}\",\"${person.address.country!?string}\"\n" +
"</#list>",
template);
@@ -86,7 +86,7 @@
//System.out.println(template);
assertEquals("\"firstname\",\"lastname\",\"country\"\n" +
"<#list people as person>\n" +
- "\"${person.fname?string}\",\"${person.lname?string}\",\"${person.address.country?string}\"\n" +
+ "\"${person.fname!?string}\",\"${person.lname!?string}\",\"${person.address.country!?string}\"\n" +
"</#list>",
template);
}
@@ -107,7 +107,7 @@
String template = builder1.buildTemplate();
//System.out.println(template);
assertEquals("<#list people as person>\n" +
- "'${person.fname?string}'|'${person.lname?string}'|'${person.address.country?string}'\n" +
+ "'${person.fname!?string}'|'${person.lname!?string}'|'${person.address.country!?string}'\n" +
"</#list>",
template);
@@ -115,7 +115,7 @@
template = builder2.buildTemplate();
//System.out.println(template);
assertEquals("<#list people as person>\n" +
- "'${person.fname?string}'|'${person.lname?string}'|'${person.address.country?string}'\n" +
+ "'${person.fname!?string}'|'${person.lname!?string}'|'${person.address.country!?string}'\n" +
"</#list>",
template);
}
@@ -133,7 +133,7 @@
String template = builder.buildTemplate();
//System.out.println(template);
assertEquals("<#list people as person>\n" +
- "\"${person.fname?string}\",,\"${person.address.country?string}\"\n" +
+ "\"${person.fname!?string}\",,\"${person.address.country!?string}\"\n" +
"</#list>",
template);
@@ -141,7 +141,7 @@
template = builder2.buildTemplate();
//System.out.println(template);
assertEquals("<#list people as person>\n" +
- "\"${person.fname?string}\",,\"${person.address.country?string}\"\n" +
+ "\"${person.fname!?string}\",,\"${person.address.country!?string}\"\n" +
"</#list>",
template);
Modified: trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-01.xml
===================================================================
--- trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-01.xml 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-01.xml 2010-01-25 13:33:29 UTC (rev 19907)
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ns0:creature xmlns:ns0="http://www.example.org/creature/">
- <dog name="${dog?string}" />
+ <dog name="${dog!?string}" />
</ns0:creature>
Modified: trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-02.xml
===================================================================
--- trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-02.xml 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-02.xml 2010-01-25 13:33:29 UTC (rev 19907)
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ns0:creature xmlns:ns0="http://www.example.org/creature/">
- <cat>${cat?string}</cat>
+ <cat>${cat!?string}</cat>
</ns0:creature>
\ No newline at end of file
Modified: trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-03.xml
===================================================================
--- trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-03.xml 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/creature-03.xml 2010-01-25 13:33:29 UTC (rev 19907)
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<ns0:creature xmlns:ns0="http://www.example.org/creature/">
<person>
- <name first="${firstName?string}" last="${lastName?string}">
- <male>${male?string}</male>
+ <name first="${firstName!?string}" last="${lastName!?string}">
+ <male>${male!?string}</male>
</name>
- <address>${address?string}</address>
- <age>${age?string}</age>
+ <address>${address!?string}</address>
+ <age>${age!?string}</age>
</person>
</ns0:creature>
\ No newline at end of file
Modified: trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/order-status-expected-01.xml
===================================================================
--- trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/order-status-expected-01.xml 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/order-status-expected-01.xml 2010-01-25 13:33:29 UTC (rev 19907)
@@ -3,7 +3,7 @@
<ns0:OrderStatusResultHeader>
<ns0:BuyerParty>
<ns1:PartyID xmlns:ns1="rrn:org.xcbl:schemas/xcbl/v4_0/core/core.xsd">
- <ns1:Ident>${order.status.id?string}</ns1:Ident>
+ <ns1:Ident>${order.status.id!?string}</ns1:Ident>
</ns1:PartyID>
</ns0:BuyerParty>
</ns0:OrderStatusResultHeader>
Modified: trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/order-status-expected-02.xml
===================================================================
--- trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/order-status-expected-02.xml 2010-01-25 13:14:36 UTC (rev 19906)
+++ trunk/smooks/tests/org.jboss.tools.smooks.templating.test/src/org/jboss/tools/smooks/templating/template/xml/expected/order-status-expected-02.xml 2010-01-25 13:33:29 UTC (rev 19907)
@@ -3,7 +3,7 @@
<ns0:OrderStatusResultHeader>
<ns0:BuyerParty>
<ns1:PartyID xmlns:ns1="rrn:org.xcbl:schemas/xcbl/v4_0/core/core.xsd">
- <ns1:Ident>${order.status.id?string}</ns1:Ident>
+ <ns1:Ident>${order.status.id!?string}</ns1:Ident>
</ns1:PartyID>
</ns0:BuyerParty>
</ns0:OrderStatusResultHeader>
@@ -11,7 +11,7 @@
<#list order.orderItemsStatusList as itemStatus>
<ns0:OrderStatusResultDetail>
<ns0:OrderStatusResultReference>
- <ns0:BuyerReferenceNumber>${itemStatus.buyerRefNumber?string}</ns0:BuyerReferenceNumber>
+ <ns0:BuyerReferenceNumber>${itemStatus.buyerRefNumber!?string}</ns0:BuyerReferenceNumber>
</ns0:OrderStatusResultReference>
</ns0:OrderStatusResultDetail>
</#list>
16 years, 2 months
JBoss Tools SVN: r19906 - in trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext: hyperlink and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2010-01-25 08:14:36 -0500 (Mon, 25 Jan 2010)
New Revision: 19906
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsPlugin.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlinkDetector.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-3125
Added: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java 2010-01-25 13:14:36 UTC (rev 19906)
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.text.ext;
+
+import org.eclipse.osgi.util.NLS;
+
+public class CDIExtensionsMessages extends NLS {
+ private static final String BUNDLE_NAME = "org.jboss.tools.cdi.text.ext.messages"; //$NON-NLS-1$
+
+ static {
+ NLS.initializeMessages(BUNDLE_NAME, CDIExtensionsMessages.class);
+ }
+
+ public static String CDI_EXT_PLUGIN_NO_MESSAGE;
+ public static String CDI_INJECTED_POINT_HYPERLINK_OPEN_BEAN;
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsPlugin.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsPlugin.java 2010-01-25 12:50:52 UTC (rev 19905)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsPlugin.java 2010-01-25 13:14:36 UTC (rev 19906)
@@ -80,7 +80,7 @@
CDIExtensionsPlugin.getDefault().getLog().log(new Status(Status.ERROR, CDIExtensionsPlugin.PLUGIN_ID, Status.OK, message, exception));
}
static public void log(Exception ex) {
- CDIExtensionsPlugin.getDefault().getLog().log(new Status(Status.ERROR, CDIExtensionsPlugin.PLUGIN_ID, Status.OK, "No message", ex));
+ CDIExtensionsPlugin.getDefault().getLog().log(new Status(Status.ERROR, CDIExtensionsPlugin.PLUGIN_ID, Status.OK, CDIExtensionsMessages.CDI_EXT_PLUGIN_NO_MESSAGE, ex));
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlink.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlink.java 2010-01-25 12:50:52 UTC (rev 19905)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlink.java 2010-01-25 13:14:36 UTC (rev 19906)
@@ -13,10 +13,12 @@
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.ui.JavaUI;
+import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.PartInitException;
import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.text.ext.CDIExtensionsMessages;
import org.jboss.tools.cdi.text.ext.CDIExtensionsPlugin;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
@@ -24,9 +26,10 @@
IBean bean;
IRegion region;
- public InjectedPointHyperlink(IRegion region, IBean bean){
+ public InjectedPointHyperlink(IRegion region, IBean bean, IDocument document){
this.bean = bean;
this.region = region;
+ setDocument(document);
}
@@ -56,7 +59,7 @@
@Override
public String getHyperlinkText() {
- String text = "Open Bean ";
+ String text = CDIExtensionsMessages.CDI_INJECTED_POINT_HYPERLINK_OPEN_BEAN+" ";
if(bean != null)
text += bean.getBeanClass().getElementName();
return text;
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlinkDetector.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlinkDetector.java 2010-01-25 12:50:52 UTC (rev 19905)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlinkDetector.java 2010-01-25 13:14:36 UTC (rev 19906)
@@ -111,7 +111,7 @@
List<IBean> resultBeanList = sortBeans(resultBeanSet);
for(IBean bean : resultBeanList){
if(bean != null)
- hyperlinks.add(new InjectedPointHyperlink(wordRegion, bean));
+ hyperlinks.add(new InjectedPointHyperlink(wordRegion, bean, document));
}
}
}
Added: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties 2010-01-25 13:14:36 UTC (rev 19906)
@@ -0,0 +1,2 @@
+CDI_EXT_PLUGIN_NO_MESSAGE=No message
+CDI_INJECTED_POINT_HYPERLINK_OPEN_BEAN=Open Bean
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 2 months
JBoss Tools SVN: r19905 - trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/model/helpers.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-01-25 07:50:52 -0500 (Mon, 25 Jan 2010)
New Revision: 19905
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/model/helpers/InnerModelHelper.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5587
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/model/helpers/InnerModelHelper.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/model/helpers/InnerModelHelper.java 2010-01-25 11:38:47 UTC (rev 19904)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/model/helpers/InnerModelHelper.java 2010-01-25 12:50:52 UTC (rev 19905)
@@ -36,7 +36,9 @@
IModelNature n = EclipseResourceUtil.getModelNature(project.getProject());
if(n != null) return n.getModel();
- XModel model = EclipseResourceUtil.createObjectForResource(project.getProject()).getModel();
+ XModelObject o = EclipseResourceUtil.createObjectForResource(project.getProject());
+ if(o == null) return null;
+ XModel model = o.getModel();
XModelObject webinf = model.getByPath("FileSystems/WEB-INF"); //$NON-NLS-1$
if(webinf != null) return model;
16 years, 2 months
JBoss Tools SVN: r19904 - trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/editor/form.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-01-25 06:38:47 -0500 (Mon, 25 Jan 2010)
New Revision: 19904
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/editor/form/JSFFormLayoutData.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5471
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/editor/form/JSFFormLayoutData.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/editor/form/JSFFormLayoutData.java 2010-01-25 11:38:10 UTC (rev 19903)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/editor/form/JSFFormLayoutData.java 2010-01-25 11:38:47 UTC (rev 19904)
@@ -86,7 +86,15 @@
new String[]{"JSFFacet11"}, //$NON-NLS-1$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateFacet") //$NON-NLS-1$
);
-
+
+ private final static IFormData VIEW_PARAM_LIST = new FormData(
+ "View Params",
+ "", //$NON-NLS-1$
+ new FormAttributeData[]{new FormAttributeData("name", 30), new FormAttributeData("value", 70)}, //$NON-NLS-1$ //$NON-NLS-2$
+ new String[]{"JSFViewParam"}, //$NON-NLS-1$
+ createDefaultFormActionData("CreateActions.CreateViewParam") //$NON-NLS-1$
+ );
+
/**
*
* @param name (translatable)
@@ -275,6 +283,22 @@
/**
*
+ * @param entity (non-translatable)
+ * @param facets
+ * @return
+ */
+ private final static IFormData createBehaviorFormDefinitions(String entity) {
+ IFormData behavior = new FormData(
+ "Behavior",
+ "", //$NON-NLS-1$
+ new FormAttributeData[]{new FormAttributeData("behavior-id"), new FormAttributeData("behavior-class", null, STBFE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ );
+ IFormData[] definitions = new IFormData[] {behavior, ATTRIBUTES_FORM_DEFINITIONS, PROPERTIES_FORM_DEFINITIONS};
+ return new FormData(entity, new String[]{null}, definitions);
+ }
+
+ /**
+ *
* @param parentEntity (non-translatable)
* @param childEntity (non-translatable)
* @return
@@ -297,38 +321,46 @@
* @return
*/
private final static IFormData createRenderKitFormDefinitions(String parentEntity, String childEntity) {
- int size = 3;
- boolean is12 = parentEntity.endsWith(JSFConstants.SUFF_12) || parentEntity.endsWith(JSFConstants.SUFF_20);
- if(is12) size++;
- IFormData[] result = new IFormData[size];
- result[0] = new FormData(
+ boolean is12 = parentEntity.endsWith(JSFConstants.SUFF_12);
+ boolean is20 = parentEntity.endsWith(JSFConstants.SUFF_20);
+ List<IFormData> result = new ArrayList<IFormData>();
+ result.add( new FormData(
"Render Kit",
"", //$NON-NLS-1$
new FormAttributeData[]{new FormAttributeData("render-kit-id"), new FormAttributeData("render-kit-class", null, STBFE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- );
- result[1] = new FormData(
+ ) );
+ result.add( new FormData(
"Renderers",
"", //$NON-NLS-1$
new FormAttributeData[]{new FormAttributeData("renderer-class", 70, "class"), new FormAttributeData("renderer-type", 30, "type")}, //$NON-NLS-1$ //$NON-NLS-3$
new String[]{childEntity},
createDefaultFormActionData("CreateActions.CreateRenderer") //$NON-NLS-1$
- );
- if(is12) {
- result[2] = new FormData(
+ ) );
+ if(is20) {
+ result.add( new FormData(
+ "Client Behavior Renderers",
+ "", //$NON-NLS-1$
+ new FormAttributeData[]{new FormAttributeData("renderer-class", 70, "class"), new FormAttributeData("renderer-type", 30, "type")}, //$NON-NLS-1$ //$NON-NLS-3$
+ new String[]{"JSFClientBehaviorRenderer20"},
+ createDefaultFormActionData("CreateActions.CreateClientBehaviorRenderer") //$NON-NLS-1$
+ ) );
+ }
+ if(is12 || is20) {
+ result.add( new FormData(
"Extensions",
"", //$NON-NLS-1$
new FormAttributeData[]{new FormAttributeData("element type", 100, "element"), }, //$NON-NLS-1$
new String[]{"JSFRenderKitExtension"}, //$NON-NLS-1$
createDefaultFormActionData("CreateActions.CreateExtension") //$NON-NLS-1$
- );
+ ) );
}
- result[size - 1] = new FormData(
+ result.add( new FormData(
"Advanced",
"", //$NON-NLS-1$
new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- );
+ ) );
- return new FormData(parentEntity, new String[]{null}, result);
+ return new FormData(parentEntity, new String[]{null}, result.toArray(new IFormData[0]));
}
/**
@@ -373,13 +405,18 @@
new FormData("FacesConfig11", new String[]{null}, FACES_CONFIG_DEFINITIONS), //$NON-NLS-1$
new FormData("FacesConfig12", new String[]{null}, FACES_CONFIG_DEFINITIONS), //$NON-NLS-1$
new FormData("FacesConfig20", new String[]{null}, FACES_CONFIG_20_DEFINITIONS), //$NON-NLS-1$
+
APPLICATION_DEFINITION,
APPLICATION_12_DEFINITION,
APPLICATION_20_DEFINITION,
+
createComponentsFormDefinitions("JSFComponents", "JSFComponent"), //$NON-NLS-1$ //$NON-NLS-2$
createComponentsFormDefinitions("JSFComponents11", "JSFComponent11"), //$NON-NLS-1$ //$NON-NLS-2$
createComponentFormDefinitions("JSFComponent", false), //$NON-NLS-1$
createComponentFormDefinitions("JSFComponent11", true), //$NON-NLS-1$
+
+ createBehaviorFormDefinitions("JSFBehavior20"), //$NON-NLS-1$
+
new FormData(
"JSFFacet11", //$NON-NLS-1$
new String[]{null},
@@ -604,7 +641,35 @@
)
}
),
+
new FormData(
+ "JSFNavigationRule20", //$NON-NLS-1$
+ new String[]{null},
+ new IFormData[] {
+ // Navigation Rule Form
+ new FormData(
+ "Navigation Rule",
+ "", //$NON-NLS-1$
+ new FormAttributeData[]{new FormAttributeData("from-view-id", null, SBFEE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$
+ ),
+ // Navigation Cases Form
+ new FormData(
+ "Navigation Cases",
+ "", //$NON-NLS-1$
+ new FormAttributeData[]{new FormAttributeData("from-outcome", 30), new FormAttributeData("from-action", 30), new FormAttributeData("to-view-id", 40)}, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ new String[]{"JSFNavigationCase20"}, //$NON-NLS-1$
+ createDefaultFormActionData("CreateActions.CreateCase") //$NON-NLS-1$
+ ),
+ // Advanced Navigation Rule Form
+ new FormData(
+ "Advanced",
+ "", //$NON-NLS-1$
+ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ )
+ }
+ ),
+
+ new FormData(
"JSFNavigationCase", //$NON-NLS-1$
new String[]{null},
new IFormData[] {
@@ -622,6 +687,26 @@
)
}
),
+
+ new FormData(
+ "JSFNavigationCase20", //$NON-NLS-1$
+ new String[]{null},
+ new IFormData[] {
+ // Navigation Case Form
+ new FormData(
+ "Navigation Case",
+ "", //$NON-NLS-1$
+ new FormAttributeData[]{new FormAttributeData("from-outcome"), new FormAttributeData("from-action"), new FormAttributeData("to-view-id", null, SBFEE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ ),
+ // Advanced Navigation Case Form
+ new FormData(
+ "Advanced",
+ "", //$NON-NLS-1$
+ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ )
+ }
+ ),
+
// Referenced Beans Form
new FormData(
"Referenced Beans",
@@ -649,16 +734,19 @@
)
}
),
+
// Render Kits Form
createRenderKitsFormDefinitions("JSFRenderKits", "JSFRenderKit"), //$NON-NLS-1$ //$NON-NLS-2$
createRenderKitsFormDefinitions("JSFRenderKits11", "JSFRenderKit11"), //$NON-NLS-1$ //$NON-NLS-2$
createRenderKitsFormDefinitions("JSFRenderKits12", "JSFRenderKit12"), //$NON-NLS-1$ //$NON-NLS-2$
+ createRenderKitsFormDefinitions("JSFRenderKits20", "JSFRenderKit20"), //$NON-NLS-1$ //$NON-NLS-2$
createRenderKitFormDefinitions("JSFRenderKit", "JSFRenderer"), //$NON-NLS-1$ //$NON-NLS-2$
createRenderKitFormDefinitions("JSFRenderKit11", "JSFRenderer11"), //$NON-NLS-1$ //$NON-NLS-2$
createRenderKitFormDefinitions("JSFRenderKit12", "JSFRenderer11"), //$NON-NLS-1$ //$NON-NLS-2$
createRenderKitFormDefinitions("JSFRenderKit20", "JSFRenderer11"), //$NON-NLS-1$ //$NON-NLS-2$
createRendererFormDefinitions("JSFRenderer", false), //$NON-NLS-1$
createRendererFormDefinitions("JSFRenderer11", true), //$NON-NLS-1$
+
// Supported Component Type Form
new FormData(
"Supported Component Type",
@@ -799,6 +887,9 @@
if(g != null) list.add(g);
//add lists here
+ if(entity.getChild("JSFViewParam") != null) {
+ list.add(VIEW_PARAM_LIST);
+ }
IFormData a = ModelFormLayoutData.createAdvancedFormData(entityName);
if(a != null) list.add(a);
16 years, 2 months
JBoss Tools SVN: r19903 - in trunk/jsf/plugins/org.jboss.tools.jsf: src/org/jboss/tools/jsf/model and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-01-25 06:38:10 -0500 (Mon, 25 Jan 2010)
New Revision: 19903
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/jsf2.meta
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/FacesConfigLoader.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFConstants.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5471
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/jsf2.meta
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/jsf2.meta 2010-01-25 10:46:56 UTC (rev 19902)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/jsf2.meta 2010-01-25 11:38:10 UTC (rev 19903)
@@ -21,6 +21,7 @@
<XChildEntity maxCount="1" name="JSFApplication20" required="yes"/>
<XChildEntity maxCount="1" name="JSFFactory20" required="yes"/>
<XChildEntity maxCount="1" name="JSFLifecycle" required="yes"/>
+ <XChildEntity maxCount="1" name="JSFBehaviors20" required="yes"/>
<XChildEntity maxCount="1" name="JSFComponents11" required="yes"/>
<XChildEntity maxCount="1" name="JSFConverters" required="yes"/>
<XChildEntity maxCount="1" name="JSFManagedBeans20" required="yes"/>
@@ -145,6 +146,9 @@
PROPERTIES="validator.add=true;sourcepath=Navigation Rules;actionpath=CreateActions/AddRule"
WizardClassName="%Default%" displayName="Rule..." kind="action" name="AddRule"/>
<XActionItem HandlerClassName="%Redirect%" ICON="action.empty"
+ PROPERTIES="validator.add=true;sourcepath=Components;actionpath=CreateActions/AddBehavior"
+ WizardClassName="%Default%" displayName="Behavior..." kind="action" name="AddBehavior"/>
+ <XActionItem HandlerClassName="%Redirect%" ICON="action.empty"
PROPERTIES="validator.add=true;sourcepath=Components;actionpath=CreateActions/AddComponent"
WizardClassName="%Default%" displayName="Component..."
kind="action" name="AddComponent"/>
@@ -544,6 +548,232 @@
</XModelEntity>
<XModelEntity ImplementingClass="%Custom%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.JSFFormLayoutData"
+ XMLSUBPATH="behavior" name="JSFBehavior20">
+ <XChildrenEntities>
+ <XChildEntity name="JSFAttribute"/>
+ <XChildEntity name="JSFProperty"/>
+ <XChildEntity name="JSFBehaviorExtension"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.component" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="behavior" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute name="display-name" xmlname="display-name.#text"/>
+ <XModelAttribute name="small-icon" xmlname="icon.small-icon.#text"/>
+ <XModelAttribute name="large-icon" xmlname="icon.large-icon.#text"/>
+ <XModelAttribute PROPERTIES="id=true;save=always" name="behavior-id" xmlname="behavior-id.#text"/>
+ <XModelAttribute PROPERTIES="save=always" name="behavior-class" xmlname="behavior-class.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="New" group="1"
+ kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="main.jsf.attribute"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Attribute..." kind="action" name="CreateAttribute">
+ <EntityData EntityName="JSFAttribute">
+ <AttributeData AttributeName="attribute-name"/>
+ <AttributeData AttributeName="attribute-class" Mandatory="no"/>
+ <AttributeData AttributeName="suggested-value" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="main.jsf.property"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Property..." kind="action" name="CreateProperty">
+ <EntityData EntityName="JSFProperty">
+ <AttributeData AttributeName="property-name"/>
+ <AttributeData AttributeName="property-class" Mandatory="no"/>
+ <AttributeData AttributeName="suggested-value" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ displayName="Extension" kind="action" name="CreateExtension">
+ <EntityData EntityName="JSFBehaviorExtension"/>
+ </XActionItem>
+ </XActionItem>
+ <XActionItem HandlerClassName="%OpenJavaSource%" ICON="action.empty"
+ PROPERTIES="attribute=behavior-class" displayName="Open Declaration"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy" kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action" name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action" name="Copy"/>
+ <XActionItem BaseActionName="Paste" HandlerClassName="%Paste%"
+ ICON="action.paste" displayName="Paste" kind="action" name="Paste"/>
+ </XActionItem>
+ <XActionItem ICON="action.delete" displayName="Delete" kind="list" name="DeleteActions">
+ <XActionItem BaseActionName="Delete" HandlerClassName="%Delete%"
+ ICON="action.delete" displayName="Delete" kind="action" name="Delete"/>
+ </XActionItem>
+ <XActionItem displayName="move" kind="list" name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action" name="Move"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list" name="Properties">
+ <XActionItem HandlerClassName="%Properties%" ICON="action.empty"
+ displayName="Properties..." kind="action" name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity
+ ImplementingClass="org.jboss.tools.jsf.model.impl.ExtensionObjectImpl"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.JSFFormLayoutData"
+ XMLSUBPATH="behavior-extension" name="JSFBehaviorExtension">
+ <XChildrenEntities>
+ <XChildEntity name="AnyElement"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.extension" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="behavior-extension" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="_id_" visibility="false"/>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="entity=AnyElement" WizardClassName="%Default%"
+ displayName="Add Tag..." kind="action" name="CreateTag">
+ <EntityData EntityName="AnyElementNew">
+ <AttributeData AttributeName="tag"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <XActionItem ICON="action.delete" displayName="Delete" kind="list" name="DeleteActions">
+ <XActionItem BaseActionName="Delete" HandlerClassName="%Delete%"
+ ICON="action.delete" displayName="Delete" kind="action" name="Delete"/>
+ </XActionItem>
+ <XActionItem ICON="action.copy" displayName="Copy" kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Paste" HandlerClassName="%Paste%"
+ ICON="action.paste" displayName="Paste" kind="action" name="Paste"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Ordered%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.JSFFormLayoutData" name="JSFBehaviors20">
+ <XChildrenEntities>
+ <XChildEntity name="JSFBehavior20"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.components" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="behavior list" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute default="Behaviors" name="name" xmlname="NAME">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="New" group="1"
+ kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="main.jsf.component"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Behavior..." kind="action" name="AddBehavior">
+ <EntityData EntityName="JSFBehavior20">
+ <AttributeData AttributeName="behavior-id"/>
+ <AttributeData AttributeName="behavior-class"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <XActionItem ICON="action.copy" displayName="Copy" kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action" name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%CopyChildren%"
+ ICON="action.copy" displayName="Copy" kind="action" name="Copy"/>
+ <XActionItem BaseActionName="Paste" HandlerClassName="%Paste%"
+ ICON="action.paste" displayName="Paste" kind="action" name="Paste"/>
+ </XActionItem>
+ <XActionItem kind="list" name="DeleteActions">
+ <XActionItem BaseActionName="Delete"
+ HandlerClassName="%DeleteChildren%" ICON="action.delete"
+ displayName="Delete" kind="action" name="Delete"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list" name="Properties">
+ <XActionItem HandlerClassName="%Properties%" ICON="action.empty"
+ displayName="Properties..." kind="action" name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.JSFFormLayoutData"
+ XMLSUBPATH="client-behavior-renderer" name="JSFClientBehaviorRenderer20">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.render" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="client-behavior-renderer"
+ loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always;category=general"
+ name="renderer-type" xmlname="client-behavior-renderer-type.#text"/>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="renderer-class" xmlname="client-behavior-renderer-class.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="New" group="1"
+ kind="list" name="CreateActions"/>
+ <XActionItem HandlerClassName="%OpenJavaSource%" ICON="action.empty"
+ PROPERTIES="attribute=renderer-class" displayName="Open Declaration"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy" kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action" name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action" name="Copy"/>
+ <XActionItem BaseActionName="Paste" HandlerClassName="%Paste%"
+ ICON="action.paste" displayName="Paste" kind="action" name="Paste"/>
+ </XActionItem>
+ <XActionItem ICON="action.delete" displayName="Delete" kind="list" name="DeleteActions">
+ <XActionItem BaseActionName="Delete" HandlerClassName="%Delete%"
+ ICON="action.delete" displayName="Delete" kind="action" name="Delete"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list" name="Properties">
+ <XActionItem HandlerClassName="%Properties%" ICON="action.empty"
+ displayName="Properties..." kind="action" name="Properties"/>
+ </XActionItem>
+ <XActionItem displayName="move" kind="list" name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action" name="Move"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.JSFFormLayoutData"
XMLSUBPATH="validator-id" name="JSFDefaultValidator">
<XChildrenEntities/>
<XEntityRenderer>
@@ -938,7 +1168,9 @@
ImplementingClass="org.jboss.tools.jsf.model.impl.NavigationCaseObjectImpl"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.JSFFormLayoutData"
XMLSUBPATH="navigation-case" name="JSFNavigationCase20">
- <XChildrenEntities/>
+ <XChildrenEntities>
+ <XChildEntity maxCount="1" name="JSFRedirect20" required="yes"/>
+ </XChildrenEntities>
<XEntityRenderer>
<ICONS>
<ICON info="main.jsf.case" type="main"/>
@@ -965,13 +1197,6 @@
</Constraint>
<Editor name="TreeChooser"/>
</XModelAttribute>
- <XModelAttribute default="no" name="redirect" xmlname="redirect">
- <Constraint loader="List">
- <value name="yes"/>
- <value name="no"/>
- </Constraint>
- <Editor name="List"/>
- </XModelAttribute>
<XModelAttribute name="id" xmlname="id"/>
<XModelAttribute TRIM="no" name="comment" xmlname="#comment">
<Editor name="Note"/>
@@ -1279,12 +1504,88 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.JSFFormLayoutData;saveDefault=false"
+ XMLSUBPATH="redirect" name="JSFRedirect20">
+ <XChildrenEntities>
+ <XChildEntity name="JSFViewParam"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.component" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="redirect" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always" default="Redirect" name="name"/>
+ <XModelAttribute PROPERTIES="category=general" default="false" name="redirect">
+ <Constraint loader="List">
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general"
+ name="include-view-params" xmlname="include-view-params">
+ <Constraint loader="List">
+ <value/>
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="New" group="1"
+ kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="main.jsf.attribute"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="View Param..." kind="action" name="CreateViewParam">
+ <EntityData EntityName="JSFViewParam">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="value"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <XActionItem HandlerClassName="%OpenJavaSource%" ICON="action.empty"
+ PROPERTIES="attribute=behavior-class" displayName="Open Declaration"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy" kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action" name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action" name="Copy"/>
+ <XActionItem BaseActionName="Paste" HandlerClassName="%Paste%"
+ ICON="action.paste" displayName="Paste" kind="action" name="Paste"/>
+ </XActionItem>
+ <XActionItem ICON="action.delete" displayName="Delete" kind="list" name="DeleteActions">
+ <XActionItem BaseActionName="Delete" HandlerClassName="%Delete%"
+ ICON="action.delete" displayName="Delete" kind="action" name="Delete"/>
+ </XActionItem>
+ <XActionItem displayName="move" kind="list" name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action" name="Move"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list" name="Properties">
+ <XActionItem HandlerClassName="%Properties%" ICON="action.empty"
+ displayName="Properties..." kind="action" name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
<XModelEntity
ImplementingClass="org.jboss.tools.jsf.model.impl.RenderKitObjectImpl"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.JSFFormLayoutData"
XMLSUBPATH="render-kit" name="JSFRenderKit20">
<XChildrenEntities>
<XChildEntity name="JSFRenderer11"/>
+ <XChildEntity name="JSFClientBehaviorRenderer20"/>
<XChildEntity name="JSFRenderKitExtension"/>
</XChildrenEntities>
<XEntityRenderer>
@@ -1323,6 +1624,14 @@
</EntityData>
</XActionItem>
<XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Client Behavior Renderer..." kind="action" name="CreateClientBehaviorRenderer">
+ <EntityData EntityName="JSFClientBehaviorRenderer20">
+ <AttributeData AttributeName="renderer-type"/>
+ <AttributeData AttributeName="renderer-class"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
displayName="Extension" kind="action" name="CreateExtension">
<EntityData EntityName="JSFRenderKitExtension"/>
</XActionItem>
@@ -1453,6 +1762,59 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.JSFFormLayoutData"
+ XMLSUBPATH="view-param" name="JSFViewParam">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.attribute" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="view-param" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always;category=general"
+ name="name" xmlname="name.#text">
+ <Constraint loader="JavaName">
+ <value name="acceptKeyWord=true"/>
+ </Constraint>
+ <Editor name="Name"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="value" xmlname="value.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.copy" displayName="Copy" kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action" name="Copy"/>
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action" name="Cut"/>
+ <XActionItem BaseActionName="Paste" ICON="action.paste"
+ displayName="Paste" kind="action" name="Paste"/>
+ </XActionItem>
+ <XActionItem ICON="action.delete" displayName="Delete" kind="list" name="DeleteActions">
+ <XActionItem BaseActionName="Delete" HandlerClassName="%Delete%"
+ ICON="action.delete" displayName="Delete" kind="action" name="Delete"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list" name="Properties">
+ <XActionItem HandlerClassName="%Properties%" ICON="action.empty"
+ displayName="Properties..." kind="action" name="Properties"/>
+ </XActionItem>
+ <XActionItem displayName="move" kind="list" name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action" name="Move"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
<XEntityExtension name="FileFolder">
<XChildrenEntities>
<XChildEntity name="FacesConfig20"/>
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/FacesConfigLoader.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/FacesConfigLoader.java 2010-01-25 10:46:56 UTC (rev 19902)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/FacesConfigLoader.java 2010-01-25 11:38:10 UTC (rev 19903)
@@ -170,6 +170,7 @@
class SFUtil extends XModelObjectLoaderUtil {
static String[] folders = new String[]{
+ JSFConstants.FOLDER_BEHAVIORS,
JSFConstants.FOLDER_COMPONENTS,
JSFConstants.FOLDER_CONVERTERS,
JSFConstants.FOLDER_MANAGED_BEANS,
@@ -188,6 +189,7 @@
children.add("value"); //$NON-NLS-1$
children.add("null-value"); //$NON-NLS-1$
} else if("JSFNavigationCase".equals(entity.getName())) { //$NON-NLS-1$
+ // no 2.0 case
children.add("redirect"); //$NON-NLS-1$
}
if(entity.getAttribute("others") != null) {
@@ -245,7 +247,7 @@
for (int i = 0; i < as.length; i++) {
String xml = as[i].getXMLName();
String v = o.getAttributeValue(as[i].getName());
- if("others".equals(as[i].getName())) {
+ if("others".equals(as[i].getName()) || "redirect".equals(as[i].getName())) { // 2.0 cases
if("true".equals(v)) return true;
}
// it would be more safe to check isSavable
@@ -300,6 +302,9 @@
if(XMLUtilities.getUniqueChild(element, "others") != null) {
o.setAttributeValue("others", "true");
}
+ if(element.getNodeName().equals("redirect")) { // 2.0 case
+ o.setAttributeValue("redirect", "true");
+ }
}
protected boolean isSaveable(XModelEntity entity, String n, String v, String dv) {
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFConstants.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFConstants.java 2010-01-25 10:46:56 UTC (rev 19902)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFConstants.java 2010-01-25 11:38:10 UTC (rev 19903)
@@ -46,6 +46,7 @@
public static final String FOLDER_NAVIGATION_RULES = "Navigation Rules"; //$NON-NLS-1$
public static final String FOLDER_MANAGED_BEANS = "Managed Beans"; //$NON-NLS-1$
public static final String FOLDER_REFENCED_BEANS = "Referenced Beans"; //$NON-NLS-1$
+ public static final String FOLDER_BEHAVIORS = "Behaviors"; //$NON-NLS-1$
public static final String FOLDER_COMPONENTS = "Components"; //$NON-NLS-1$
public static final String FOLDER_CONVERTERS = "Converters"; //$NON-NLS-1$
public static final String FOLDER_RENDER_KITS = "Render Kits"; //$NON-NLS-1$
16 years, 2 months
JBoss Tools SVN: r19902 - in trunk: hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase and 4 other directories.
by jbosstools-commits@lists.jboss.org
Author: jpeterka
Date: 2010-01-25 05:46:56 -0500 (Mon, 25 Jan 2010)
New Revision: 19902
Added:
trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTDebugExt.java
trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/
trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ContentAssistBot.java
trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ObjectMultiPageEditorBot.java
trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/SWTBotEditorExt.java
Modified:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/META-INF/MANIFEST.MF
trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/ConfigurationFileTest.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/ConsoleTest.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/MappingFileTest.java
trunk/jst/tests/org.jboss.tools.ui.bot.ext/META-INF/MANIFEST.MF
trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTBotExt.java
trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTTestExt.java
trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/helper/ContextMenuHelper.java
Log:
SWTBotExt Updates:
Support for Object Multipage Tab Editor added
Support for Code Assist added
Hibernate Tests updates:
Configuration File edit TC
Console Test TC
Mapping File Tests edit TC
Modified: trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/META-INF/MANIFEST.MF 2010-01-25 09:13:54 UTC (rev 19901)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/META-INF/MANIFEST.MF 2010-01-25 10:46:56 UTC (rev 19902)
@@ -8,6 +8,8 @@
org.eclipse.core.runtime,
org.junit4,
org.apache.log4j;bundle-version="1.2.13",
+ org.jboss.tools.ui.bot.ext;bundle-version="1.0.0",
+ org.eclipse.jdt.ui,
org.eclipse.swtbot.eclipse.core;bundle-version="2.0.0",
org.eclipse.swtbot.eclipse.finder;bundle-version="2.0.0",
org.eclipse.swtbot.eclipse.spy;bundle-version="2.0.0",
@@ -16,10 +18,16 @@
org.eclipse.swtbot.swt.finder;bundle-version="2.0.0",
org.jboss.tools.ui.bot.ext;bundle-version="1.0.0",
org.eclipse.jdt.ui,
+ org.jboss.tools.jst.ui.bot.test;bundle-version="1.0.0",
+ org.jboss.tools.hibernate.ui;bundle-version="3.3.0",
+ org.jboss.tools.hibernate.xml.ui;bundle-version="3.1.0",
+ org.jboss.tools.common.model.ui;bundle-version="3.1.0",
+ org.eclipse.ui.ide;bundle-version="3.5.1",
+ org.jboss.tools.common.ui;bundle-version="3.1.0",
org.eclipse.datatools.connectivity;bundle-version="1.1.2"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Eclipse-RegisterBuddy: org.apache.log4j
Import-Package: org.eclipse.jdt.internal.ui
-Bundle-ClassPath: lib/hsqldb.jar,
- .
+Export-Package: org.jboss.tools.hibernate.ui.bot.testsuite
+Bundle-ClassPath: lib/hsqldb.jar,.
Modified: trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/ConfigurationFileTest.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/ConfigurationFileTest.java 2010-01-25 09:13:54 UTC (rev 19901)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/ConfigurationFileTest.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -10,20 +10,36 @@
******************************************************************************/
package org.jboss.tools.hibernate.ui.bot.testcase;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPathExpressionException;
+
import org.eclipse.swt.widgets.Button;
import org.eclipse.swtbot.eclipse.finder.matchers.WidgetMatcherFactory;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
+import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotCheckBox;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.hamcrest.Matcher;
import org.jboss.tools.hibernate.ui.bot.testsuite.HibernateTest;
import org.jboss.tools.hibernate.ui.bot.testsuite.Project;
+import org.jboss.tools.ui.bot.ext.helper.ContextMenuHelper;
+import org.jboss.tools.ui.bot.ext.parts.ObjectMultiPageEditorBot;
import org.jboss.tools.ui.bot.ext.types.EntityType;
import org.jboss.tools.ui.bot.ext.types.IDELabel;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.xml.sax.SAXException;
@RunWith(SWTBotJunit4ClassRunner.class)
public class ConfigurationFileTest extends HibernateTest {
@@ -69,10 +85,99 @@
/**
* TC 13
+ * @throws ParserConfigurationException
+ * @throws IOException
+ * @throws SAXException
+ * @throws XPathExpressionException
*/
@Test
- public void editFile() {
- // TODO
+ /*
+ * Edit Configuration file testcase. It checks: 1. Configuration file editor tabs availability,...
+ */
+ public void editFile() throws ParserConfigurationException, SAXException, IOException, XPathExpressionException {
+
+ eclipse.openFile(Project.PROJECT_NAME, "src", Project.CONF_FILE_NAME2);
+ SWTBotEditor editor = bot.editorByTitle(Project.CONF_FILE_NAME2);
+ ObjectMultiPageEditorBot multiBot = new ObjectMultiPageEditorBot(Project.CONF_FILE_NAME2);
+
+ // 1. Tabs availability
+ String[] pages = {"Session Factory","Security","Source"};
+ for ( String page : pages ) {
+ multiBot.selectPage(page);
+ bot.sleep(TIME_500MS);
+ }
+
+ // 2. Test creating elements and properties
+ // TODO creating element impl.
+
+ // 3. Create new security element
+ SWTBot localBot = editor.bot();
+ multiBot.selectPage(pages[1]);
+ SWTBotTree secTree = localBot.tree().select("Security");
+
+ ContextMenuHelper.clickContextMenu(secTree, "New", "Grant...");
+
+ // Fillin Role, Entity-Name and Check action All *
+ String roleName = "role1";
+ String entityName = "entity1";
+
+ bot.textWithLabel("Role*").setText("role1");
+ bot.textWithLabel("Entity-Name*").setText("entity1");
+ SWTBotShell shell = bot.shell("Add Grant");
+
+ assertNotNull(shell);
+ SWTBot shellBot = new SWTBot(shell.widget);
+
+ SWTBotTree tree = shellBot.tree();
+ SWTBotTreeItem[] items = tree.getAllItems();
+ items[0].check();
+
+ shellBot.button(IDELabel.Button.FINISH).click();
+
+ // Click on Source tab for check
+ multiBot.selectPage(pages[2]);
+ List<String> lines = editor.toTextEditor().getLines();
+
+ // XMLPath
+ /*
+ // Convert editor text into InputStreamReader
+ StringBuilder builder = new StringBuilder();
+ for (String line : lines ) {
+ builder.append(line);
+ builder.append("\n");
+ }
+ ByteArrayInputStream bs = new ByteArrayInputStream(builder.toString().getBytes());
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setNamespaceAware(true);
+ DocumentBuilder db;
+ db = dbf.newDocumentBuilder();
+ Document doc = db.parse(bs);
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ XPathExpression expr = xpath.compile("/person/security/grant");
+ Object result = expr.evaluate(doc, XPathConstants.NODESET);
+ NodeList nodes = (NodeList) result;
+ for ( int i = 0; i < nodes.getLength(); i++ )
+ System.out.println(nodes.item(i).getNodeValue());
+
+ */
+ // Search for security grant
+
+ boolean found = false;
+ String wanted = "<grant actions=\"*\" entity-name=\"" + entityName + "\" role=\"" + roleName + "\"/>";
+ System.out.println("Looking for:" + wanted);
+
+ for (String line : lines) {
+ System.out.println(line);
+ if (line.trim().equals(wanted)) {
+ found = true;
+ System.out.println("Found");
+ }
+ }
+
+ editor.saveAndClose();
+ assertTrue("Security element not found in xml", found);
+ bot.sleep(TIME_10S);
}
}
Modified: trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/ConsoleTest.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/ConsoleTest.java 2010-01-25 09:13:54 UTC (rev 19901)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/ConsoleTest.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -136,7 +136,7 @@
*/
@Test
public void editConsole() {
- // TODO
+ // TODO impl.
}
}
Modified: trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/MappingFileTest.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/MappingFileTest.java 2010-01-25 09:13:54 UTC (rev 19901)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.ui.bot.test/src/org/jboss/tools/hibernate/ui/bot/testcase/MappingFileTest.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -10,11 +10,15 @@
******************************************************************************/
package org.jboss.tools.hibernate.ui.bot.testcase;
+import java.util.List;
+
import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.jboss.tools.hibernate.ui.bot.testsuite.HibernateTest;
import org.jboss.tools.hibernate.ui.bot.testsuite.Project;
+import org.jboss.tools.ui.bot.ext.parts.SWTBotEditorExt;
+import org.jboss.tools.ui.bot.ext.parts.ObjectMultiPageEditorBot;
import org.jboss.tools.ui.bot.ext.types.EntityType;
import org.jboss.tools.ui.bot.ext.types.IDELabel;
import org.junit.AfterClass;
@@ -101,5 +105,35 @@
*/
@Test
public void editFile() {
+ // Open Hibernate Mapping File (ObjectMultiPageEditor on source tab)
+ eclipse.openFile(Project.PROJECT_NAME,"src",Project.PACKAGE_NAME,Project.CLASS1 + ".hbm.xml");
+ ObjectMultiPageEditorBot pageBot = new ObjectMultiPageEditorBot(Project.CLASS1 + ".hbm.xml");
+ pageBot.selectPage("Source");
+
+ // Check code completion
+ SWTBotEditorExt editor = bot.editorByTitle(Project.CLASS1 + ".hbm.xml");
+
+ String search = "</id>";
+ List<String> lines = editor.getLines();
+
+ int index = 0;
+ for (String line : lines ) {
+ index++;
+ if (line.trim().equals(search)) break;
+ }
+
+ log.info("Line index: " + index);
+
+ // Insert tag for cc check
+ String newLine = "<property name=\"\"> ";
+ int col = newLine.indexOf("\"\"");
+ editor.selectRange(index, 0, 0);
+ editor.insertText("\n");
+ editor.insertText(newLine);
+ editor.selectRange(index, col + 1, 0);
+
+ // TODO autocomplete proposal check
+
+ editor.save();
}
}
Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/META-INF/MANIFEST.MF
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/META-INF/MANIFEST.MF 2010-01-25 09:13:54 UTC (rev 19901)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/META-INF/MANIFEST.MF 2010-01-25 10:46:56 UTC (rev 19902)
@@ -16,14 +16,19 @@
org.junit4;bundle-version="4.5.0",
org.apache.log4j;bundle-version="1.2.13",
org.eclipse.datatools.connectivity;bundle-version="1.1.2",
- org.eclipse.datatools.connectivity.db.generic;bundle-version="1.0.1"
+ org.eclipse.datatools.connectivity.db.generic;bundle-version="1.0.1",
+ org.jboss.tools.common.text.ext;bundle-version="3.1.0",
+ org.eclipse.ui.ide;bundle-version="3.5.1",
+ org.jboss.tools.common.model;bundle-version="3.1.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Eclipse-RegisterBuddy: org.apache.log4j
Export-Package: org.jboss.tools.ui.bot.ext,
org.jboss.tools.ui.bot.ext.entity,
org.jboss.tools.ui.bot.ext.helper,
+ org.jboss.tools.ui.bot.ext.parts,
org.jboss.tools.ui.bot.ext.types,
org.jboss.tools.ui.bot.ext.view
Bundle-Vendor: JBoss by Red Hat
-
+Import-Package: org.eclipse.ui.texteditor,
+ org.jboss.tools.common.editor
Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTBotExt.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTBotExt.java 2010-01-25 09:13:54 UTC (rev 19901)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTBotExt.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -14,11 +14,13 @@
import org.apache.log4j.Logger;
import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotCCombo;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.jboss.tools.ui.bot.ext.parts.SWTBotEditorExt;
/**
* Extended version of SWTWorkbenchBot, logging added
@@ -68,5 +70,10 @@
log.info("Table selected");
return super.table();
}
+ @Override
+ public SWTBotEditorExt editorByTitle(String fileName) {
+ SWTBotEditor editor = super.editorByTitle(fileName);
+ return new SWTBotEditorExt(editor.toTextEditor().getReference(), (SWTWorkbenchBot)this);
+ }
}
Added: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTDebugExt.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTDebugExt.java (rev 0)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTDebugExt.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -0,0 +1,35 @@
+package org.jboss.tools.ui.bot.ext;
+
+import static org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable.syncExec;
+
+import org.apache.log4j.Logger;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swtbot.swt.finder.results.Result;
+import org.eclipse.ui.IWorkbenchWindow;
+
+public class SWTDebugExt {
+
+ SWTBotExt bot = new SWTBotExt();
+ Logger log = Logger.getLogger(SWTDebugExt.class);
+
+ /**
+ * Print SWT data in hierarchy
+ */
+ public void swtInfo(Composite composite) {
+ final Composite c = composite;
+ syncExec(new Result<IWorkbenchWindow>() {
+
+ public IWorkbenchWindow run() {
+ printRecursive(c);
+ return null;
+ }
+ });
+ }
+
+ private void printRecursive(Composite composite) {
+ if (composite.getData() != null) {
+
+ composite.toString();
+ }
+ }
+}
Property changes on: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTDebugExt.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTTestExt.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTTestExt.java 2010-01-25 09:13:54 UTC (rev 19901)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTTestExt.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -41,6 +41,7 @@
}
// Wait Constants
+ public static int TIME_500MS = 500;
public static int TIME_1S = 1000;
public static int TIME_5S = 5000;
public static int TIME_10S = 10000;
Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/helper/ContextMenuHelper.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/helper/ContextMenuHelper.java 2010-01-25 09:13:54 UTC (rev 19901)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/helper/ContextMenuHelper.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -15,6 +15,8 @@
import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.instanceOf;
+import java.util.Arrays;
+
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
@@ -166,4 +168,70 @@
}
}
+
+ /**
+ * Clicks the context menu matching the text.
+ *
+ * @param text
+ * the text on the context menu.
+ * @throws WidgetNotFoundException
+ * if the widget is not found.
+ */
+ public static void clickContextMenu(final AbstractSWTBot<?> bot,
+ final String... texts) {
+
+ // show
+ final MenuItem menuItem = UIThreadRunnable
+ .syncExec(new WidgetResult<MenuItem>() {
+ @SuppressWarnings("unchecked")
+ public MenuItem run() {
+ MenuItem menuItem = null;
+ Control control = (Control) bot.widget;
+ Menu menu = control.getMenu();
+ for (String text : texts) {
+ Matcher<?> matcher = allOf(instanceOf(MenuItem.class),
+ withMnemonic(text));
+ menuItem = show(menu, matcher,false);
+ if (menuItem != null) {
+ menu = menuItem.getMenu();
+ } else {
+ hide(menu);
+ break;
+ }
+ }
+
+ return menuItem;
+ }
+ });
+ if (menuItem == null) {
+ throw new WidgetNotFoundException("Could not find menu: "
+ + Arrays.asList(texts));
+ }
+
+ // click
+ click(menuItem);
+
+ // hide
+ UIThreadRunnable.syncExec(new VoidResult() {
+ public void run() {
+ hide(menuItem.getParent());
+ }
+ });
+ }
+
+ private static void click(final MenuItem menuItem) {
+ final Event event = new Event();
+ event.time = (int) System.currentTimeMillis();
+ event.widget = menuItem;
+ event.display = menuItem.getDisplay();
+ event.type = SWT.Selection;
+
+ UIThreadRunnable.asyncExec(menuItem.getDisplay(), new VoidResult() {
+ public void run() {
+ menuItem.notifyListeners(SWT.Selection, event);
+ }
+ });
+ }
+
+
}
Added: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ContentAssistBot.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ContentAssistBot.java (rev 0)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ContentAssistBot.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -0,0 +1,192 @@
+private package org.jboss.tools.ui.bot.ext.parts;
+
+import static org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable.syncExec;
+import static org.junit.Assert.fail;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.results.VoidResult;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
+import org.eclipse.ui.texteditor.ITextEditor;
+
+/**
+ * This provides working Content assist functionality.
+ * SWTBot (2.0.0#467) funcionality provided in SWTEclipseEditor doesn't work (at least on GTK linux)
+ * @author jpeterka
+ *
+ */
+public class ContentAssistBot {
+ /**
+ * Performs content assist for given editor and string
+ *
+ * @param editor
+ * @param text
+ */
+
+ Logger log = Logger.getLogger(ContentAssistBot.class);
+ SWTBotEditorExt editor;
+ SWTBot bot;
+
+ // ------------------------------------------------------------
+ // Constructor
+ // ------------------------------------------------------------
+ /**
+ * Basic constructor
+ */
+ public ContentAssistBot(SWTBotEditorExt editor) {
+ this.editor = editor;
+ this.bot = editor.bot();
+ }
+
+ // ------------------------------------------------------------
+ // Public
+ // ------------------------------------------------------------
+ /**
+ * Use selected content proposal with given proposal text
+ */
+ public void useProposal(String text) {
+ SWTBotTable table = getProposalTable(openProposalList());
+ List<String> items = getTableItems(table);
+ if (items.contains(text)) {
+ final int index = items.indexOf(text);
+ seletctCCTableItem(table, index);
+ } else {
+ fail("ContentAssist doens't contain proposed text");
+ }
+ }
+ /**
+ * Use selected content proposal with given proposal index
+ */
+ public void useProposal(int index) {
+ SWTBotTable table = getProposalTable(openProposalList());
+ seletctCCTableItem(table, index);
+ }
+
+ /**
+ * Logs proposal list contents, usual for debug purposes
+ *
+ * @param text
+ */
+ public void logProposalList() {
+ SWTBotShell shell = openProposalList();
+ SWTBotTable table = getProposalTable(shell);
+ List<String> list = getTableItems(table);
+ log.info("Proposal item list: " + list.size() + " item(s)");
+ for (int i = 0; i < list.size(); i++) {
+ log.info("Item i:" + list.get(i));
+ }
+
+ shell.close();
+ }
+
+ // ------------------------------------------------------------
+ // Private
+ // ------------------------------------------------------------
+ /*
+ * Invokes ContentAssistProposal shell action
+ */
+ private void invokeContentAssist() {
+ String actionId = "ContentAssistProposal";
+ //final IAction action = ((ITextEditor) partReference.getEditor(false)).getAction(actionId);
+ final IAction action = ((ITextEditor) editor.getReference().getEditor(
+ false)).getAction(actionId);
+ syncExec(new VoidResult() {
+ public void run() {
+ action.run();
+ }
+ });
+ }
+
+ /**
+ * Return list of table items. Requires activated proposal table
+ * @param table
+ * @return
+ */
+ private List<String> getTableItems(SWTBotTable table) {
+ int rows = table.rowCount();
+ List<String> list = new ArrayList<String>();
+ for (int i = 0; i < rows; i++) {
+ list.add(table.cell(i, 0));
+ }
+ return list;
+ }
+
+ /**
+ * Returns proposal table from propsal shell
+ * @param ccShell
+ * @return
+ */
+ private SWTBotTable getProposalTable(SWTBotShell ccShell) {
+ SWTBot ccBot = new SWTBot(ccShell.widget);
+ return ccBot.table();
+ }
+
+ /**
+ * Opens proposal table
+ * @return proposal bot shell
+ */
+ private SWTBotShell openProposalList() {
+ SWTBotShell[] shells1 = bot.shells();
+ invokeContentAssist();
+ SWTBotShell[] shells2 = bot.shells();
+ SWTBotShell ccShell = getContentAssistShell(shells1, shells2);
+ return ccShell;
+
+ }
+
+ /**
+ * Select table item from code completion table. It's workaround because
+ * SWTBotTable methods doesn't work property for this case
+ *
+ * @param botTable
+ * @param index
+ */
+ private void seletctCCTableItem(final SWTBotTable botTable, final int index) {
+ UIThreadRunnable.asyncExec(new VoidResult() {
+ public void run() {
+ Table table = botTable.widget;
+ table.setSelection(index);
+ Event event = new Event();
+ event.type = SWT.Selection;
+ event.widget = table;
+ event.item = table.getItem(index);
+ table.notifyListeners(SWT.Selection, event);
+ table.notifyListeners(SWT.DefaultSelection, event);
+ }
+ });
+ }
+
+ /**
+ * Return content assist shell as new shell from two collections of shells
+ *
+ * @param s1
+ * @param s2
+ * @return
+ */
+ private SWTBotShell getContentAssistShell(SWTBotShell[] s1, SWTBotShell[] s2) {
+ SWTBotShell ccShell = null;
+ for (SWTBotShell bs2 : s2) {
+ boolean found = false;
+ for (SWTBotShell bs1 : s1) {
+ if (bs2.widget.equals(bs1.widget)) {
+ found = true;
+ break;
+ }
+ }
+ if (found == false) {
+ ccShell = bs2;
+ break;
+ }
+ }
+ return ccShell;
+ }
+}
Property changes on: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ContentAssistBot.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ObjectMultiPageEditorBot.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ObjectMultiPageEditorBot.java (rev 0)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ObjectMultiPageEditorBot.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -0,0 +1,74 @@
+package org.jboss.tools.ui.bot.ext.parts;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.results.Result;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorReference;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.jboss.tools.common.editor.ObjectMultiPageEditor;
+
+/**
+ *
+ * @author jpeterka
+ *
+ */
+public class ObjectMultiPageEditorBot {
+
+ String partName;
+ IEditorReference ref;
+
+ public ObjectMultiPageEditorBot(String title) {
+ ref = getEditorReference(title);
+ }
+
+ private IEditorReference getEditorReference(final String title) {
+ // Search for editor
+ IEditorReference ref = UIThreadRunnable.syncExec(new Result<IEditorReference>() {
+ public IEditorReference run() {
+ IEditorReference ref = null;
+ IEditorReference[] editorReferences = null;
+ editorReferences = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
+
+ try {
+ for (IEditorReference reference: editorReferences) {
+ IEditorInput input = reference.getEditorInput();
+ String name = input.getName();
+ if (name.equals(title)) {
+ return reference;
+ }
+ }
+ } catch (PartInitException ex) {
+ fail(ex.toString());
+ }
+ return ref;
+ }
+ });
+
+ assertNotNull(ref);
+ return ref;
+ }
+
+ public void selectPage(final String pageName) {
+ //assertTrue(ref.getPart(true) instanceof Hibernate3CompoundEditor);
+ assertTrue(ref.getPart(true) instanceof ObjectMultiPageEditor);
+
+ //final Hibernate3CompoundEditor editor = (Hibernate3CompoundEditor)ref.getPart(true);
+ final ObjectMultiPageEditor editor = (ObjectMultiPageEditor)ref.getPart(true);
+
+ // Select page
+ Display.getDefault().syncExec(new Runnable() {
+
+ public void run() {
+ editor.selectPageByName(pageName);
+ }
+ });
+ }
+}
+
+
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/ObjectMultiPageEditorBot.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/SWTBotEditorExt.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/SWTBotEditorExt.java (rev 0)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/SWTBotEditorExt.java 2010-01-25 10:46:56 UTC (rev 19902)
@@ -0,0 +1,23 @@
+package org.jboss.tools.ui.bot.ext.parts;
+
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.ui.IEditorReference;
+
+public class SWTBotEditorExt extends SWTBotEclipseEditor {
+
+
+ public SWTBotEditorExt(IEditorReference editorReference, SWTWorkbenchBot bot)
+ throws WidgetNotFoundException {
+ super(editorReference, bot);
+
+ }
+
+ public ContentAssistBot contentAssist() {
+ ContentAssistBot caBot = new ContentAssistBot(this);
+ return caBot;
+ }
+
+}
+
Property changes on: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/SWTBotEditorExt.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 2 months
JBoss Tools SVN: r19901 - trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2010-01-25 04:13:54 -0500 (Mon, 25 Jan 2010)
New Revision: 19901
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DecoderTypeValidator.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java
Log:
JBIDE-5716
done
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DecoderTypeValidator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DecoderTypeValidator.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DecoderTypeValidator.java 2010-01-25 09:13:54 UTC (rev 19901)
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2008 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.validate;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.jboss.tools.smooks.model.javabean12.Javabean12Package;
+import org.jboss.tools.smooks.model.javabean12.ValueType;
+
+/**
+ * @author Dart dpeng(a)redhat.com
+ *
+ */
+public class DecoderTypeValidator extends AbstractValidator {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.configuration.validate.ISmooksValidator#initValidator
+ * (java.util.Collection, org.eclipse.emf.edit.domain.EditingDomain)
+ */
+ public void initValidator(Collection<?> selectedObjects, EditingDomain editingDomain) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.validate.AbstractValidator#validate(java.util.Collection, org.eclipse.emf.edit.domain.EditingDomain)
+ */
+ @Override
+ public List<Diagnostic> validate(Collection<?> selectedObjects, EditingDomain editingDomain) {
+ // TODO Auto-generated method stub
+ return super.validate(selectedObjects, editingDomain);
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.validate.AbstractValidator#validateModel(java.lang.Object, org.eclipse.emf.edit.domain.EditingDomain)
+ */
+ @Override
+ protected Diagnostic validateModel(Object model, EditingDomain editingDomain) {
+ if (model instanceof ValueType) {
+ ValueType value = (ValueType) model;
+ String decoder = value.getDecoder();
+ String defaultDecoder = SmooksUIUtils.getDefualtDecoder(value);
+ if (defaultDecoder == null) {
+ return null;
+ }
+ if (decoder == null) {
+ return newWaringDiagnostic("Decoder is required. Select at the connection to change it in Property View.", model, Javabean12Package.Literals.VALUE_TYPE__DECODER);
+ } else {
+ if (!decoder.equals(defaultDecoder)) {
+ return newWaringDiagnostic("Decoder should be '" + defaultDecoder + "'. Select at the connection to change it in Property View.", model,
+ Javabean12Package.Literals.VALUE_TYPE__DECODER);
+ }
+ }
+ }
+ return super.validateModel(model, editingDomain);
+ }
+
+
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DecoderTypeValidator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java 2010-01-25 08:51:28 UTC (rev 19900)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java 2010-01-25 09:13:54 UTC (rev 19901)
@@ -96,6 +96,7 @@
validatorList.add(new SelectorValidator());
validatorList.add(new PropertyValidator());
validatorList.add(new SetterMethodValidator());
+ validatorList.add(new DecoderTypeValidator());
innerEditingDomain = newEditingDomain();
}
16 years, 2 months
JBoss Tools SVN: r19900 - in trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools: filesets and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2010-01-25 03:51:28 -0500 (Mon, 25 Jan 2010)
New Revision: 19900
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/Messages.java
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/Messages.properties
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/DefaultFilesetPreferencePage.java
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/FilesetDialog.java
Log:
JBIDE-4875 - fileset dialog cleanup
Modified: trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/Messages.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/Messages.java 2010-01-25 08:38:23 UTC (rev 19899)
+++ trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/Messages.java 2010-01-25 08:51:28 UTC (rev 19900)
@@ -45,6 +45,9 @@
public static String FilesetsCannotOpenFile;
public static String FilesetsDialogTitle;
public static String FilesetsDialogMessage;
+ public static String FilesetsDialogEmptyName;
+ public static String FilesetsDialogEmptyFolder;
+
public static String DefaultFilesetsAllServerTypes;
public static String DefaultFilesetsLabel;
Modified: trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/Messages.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/Messages.properties 2010-01-25 08:38:23 UTC (rev 19899)
+++ trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/Messages.properties 2010-01-25 08:51:28 UTC (rev 19900)
@@ -29,7 +29,9 @@
FilesetsNewPreview=Preview
FilesetsCannotOpenFile=Cannot open file
FilesetsDialogTitle=File filter
-FilesetsDialogMessage=Creates a new file filter
+FilesetsDialogMessage=Creates a new file filter. You may use any workspace string or dynamic variables in the root folder field.
+FilesetsDialogEmptyName=Fileset must have a name
+FilesetsDialogEmptyFolder=Root folder must be either a server-root relative, or absolute path.
DefaultFilesetsAllServerTypes=All server types
DefaultFilesetsLabel=This page will allow you to designate some default filesets to add to new servers.
Modified: trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/DefaultFilesetPreferencePage.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/DefaultFilesetPreferencePage.java 2010-01-25 08:38:23 UTC (rev 19899)
+++ trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/DefaultFilesetPreferencePage.java 2010-01-25 08:51:28 UTC (rev 19900)
@@ -79,11 +79,11 @@
viewer.setLabelProvider(getLabelProvider());
viewer.setContentProvider(getContentProvider());
- addButton = new Button(c, SWT.DEFAULT);
+ addButton = new Button(c, SWT.PUSH);
addButton.setText(Messages.DefaultFilesetsAdd);
addButton.setLayoutData(createFormData(
servers,5,null,0,viewer.getTree(),5,100,-5));
- removeButton = new Button(c, SWT.DEFAULT);
+ removeButton = new Button(c, SWT.PUSH);
removeButton.setText(Messages.DefaultFilesetsRemove);
removeButton.setLayoutData(createFormData(
addButton,5,null,0,viewer.getTree(),5,100,-5));
Modified: trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/FilesetDialog.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/FilesetDialog.java 2010-01-25 08:38:23 UTC (rev 19899)
+++ trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/FilesetDialog.java 2010-01-25 08:51:28 UTC (rev 19900)
@@ -16,6 +16,7 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
@@ -55,6 +56,7 @@
this.fileset = new Fileset();
this.fileset.setFolder(defaultLocation);
this.fileset.setServer(server);
+ this.fileset.setFolder("server/${jboss_config}/"); //$NON-NLS-1$
this.fileset.setIncludesPattern("**/*.xml"); //$NON-NLS-1$
this.server = server;
}
@@ -148,8 +150,29 @@
fileset.setFolder(dir);
fileset.setIncludesPattern(includes);
fileset.setExcludesPattern(excludes);
+ validate();
updatePreview();
}
+
+ protected void validate() {
+ String error = null;
+ if( name.equals("")) //$NON-NLS-1$
+ error = Messages.FilesetsDialogEmptyName;
+ else if( dir.equals("")) //$NON-NLS-1$
+ error = Messages.FilesetsDialogEmptyFolder;
+ else
+ error = null;
+
+ setErrorMessage(error);
+ if(getButton(IDialogConstants.OK_ID) != null)
+ getButton(IDialogConstants.OK_ID).setEnabled(error == null);
+ }
+
+ public void create() {
+ super.create();
+ validate();
+ }
+
protected void fillArea(Composite main) {
Label nameLabel = new Label(main, SWT.NONE);
nameLabel.setText(Messages.FilesetsNewName);
16 years, 2 months