JBoss Tools SVN: r20711 - in trunk/cdi: plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-03-09 13:00:25 -0500 (Tue, 09 Mar 2010)
New Revision: 20711
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5808
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2010-03-09 17:34:59 UTC (rev 20710)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2010-03-09 18:00:25 UTC (rev 20711)
@@ -127,7 +127,7 @@
*
* @return the resulting set of beans
*/
- Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency, String fullQualifiedBeanType, String... fullQualifiedQualifiersTypes);
+ Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency, String fullyQualifiedBeanType, String... fullyQualifiedQualifiersTypes);
/**
* Returns the set of beans which are eligible for the given injection
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2010-03-09 17:34:59 UTC (rev 20710)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2010-03-09 18:00:25 UTC (rev 20711)
@@ -700,8 +700,8 @@
* @see org.jboss.tools.cdi.core.IBeanManager#getBeans(boolean, java.lang.String, java.lang.String[])
*/
public Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency,
- String fullQualifiedBeanType,
- String... fullQualifiedQualifiersTypes) {
+ String fullyQualifiedBeanType,
+ String... fullyQualifiedQualifiersTypes) {
// TODO
return Collections.emptySet();
}
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java 2010-03-09 17:34:59 UTC (rev 20710)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java 2010-03-09 18:00:25 UTC (rev 20711)
@@ -15,10 +15,10 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.jdt.core.JavaModelException;
import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.IParametedType;
import org.jboss.tools.cdi.core.IQualifier;
import org.jboss.tools.cdi.core.IScope;
import org.jboss.tools.cdi.core.ITypeDeclaration;
-import org.jboss.tools.common.text.ITextSourceReference;
/**
* @author Alexey Kazakov
@@ -113,16 +113,26 @@
assertTheOnlyBean("org.jboss.jsr299.tck.tests.definition.bean.Animal");
}
- public void testBeanTypes() {
-// assert getBeans(Tarantula.class).size() == 1;
-// Bean<Tarantula> bean = getBeans(Tarantula.class).iterator().next();
-// assert bean.getTypes().size() == 6;
-// assert bean.getTypes().contains(Tarantula.class);
-// assert bean.getTypes().contains(Spider.class);
-// assert bean.getTypes().contains(Animal.class);
-// assert bean.getTypes().contains(Object.class);
-// assert bean.getTypes().contains(DeadlySpider.class);
-// assert bean.getTypes().contains(DeadlyAnimal.class);
+ public void testBeanTypes() throws JavaModelException {
+ Set<IBean> beans = getBeans("org.jboss.jsr299.tck.tests.definition.bean.Tarantula");
+ assertEquals("There should be the only bean in org.jboss.jsr299.tck.tests.definition.bean.Tarantula", 1, beans.size());
+ IBean bean = beans.iterator().next();
+ Set<IParametedType> types = bean.getLegalTypes();
+ assertEquals("Wrong number of legal types were found for org.jboss.jsr299.tck.tests.definition.bean.Tarantula bean.", 6, types.size());
+ assertContainsBeanType(bean, "org.jboss.jsr299.tck.tests.definition.bean.Tarantula");
+ assertContainsBeanType(bean, "org.jboss.jsr299.tck.tests.definition.bean.Spider");
+ assertContainsBeanType(bean, "org.jboss.jsr299.tck.tests.definition.bean.Animal");
+ assertContainsBeanType(bean, "java.lang.Object");
+ assertContainsBeanType(bean, "org.jboss.jsr299.tck.tests.definition.bean.DeadlySpider");
+ assertContainsBeanType(bean, "org.jboss.jsr299.tck.tests.definition.bean.DeadlyAnimal");
+
+ Set<ITypeDeclaration> declarations = bean.getAllTypeDeclarations();
+ assertEquals("There should be three type declarations in org.jboss.jsr299.tck.tests.definition.bean.Tarantula bean.", declarations.size(), 3);
+ // TODO use real start position instead of 0.
+ assertLocationEquals(declarations, 0, 9);
+ assertLocationEquals(declarations, 0, 6);
+ assertLocationEquals(declarations, 0, 12);
+
}
/**
@@ -147,23 +157,4 @@
IBean bean = beans.iterator().next();
assertNull("org.jboss.jsr299.tck.tests.definition.name.Moose bean should not have any EL name.", bean.getName());
}
-
- private void assertLocationEquals(Set<? extends ITextSourceReference> references, int startPosition, int length) {
- for (ITextSourceReference reference : references) {
- if(reference.getStartPosition()==startPosition) {
- assertLocationEquals(reference, startPosition, length);
- return;
- }
- }
- StringBuffer message = new StringBuffer("Location [start positopn=").append(startPosition).append(", lengt=").append(length).append("] has not been found among ");
- for (ITextSourceReference reference : references) {
- message.append("[").append(reference.getStartPosition()).append(", ").append(reference.getLength()).append("] ");
- }
- fail(message.toString());
- }
-
- private void assertLocationEquals(ITextSourceReference reference, int startPosition, int length) {
- assertEquals("Wrong start position", startPosition, reference.getStartPosition());
- assertEquals("Wrong length", length, reference.getLength());
- }
}
\ No newline at end of file
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java 2010-03-09 17:34:59 UTC (rev 20710)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java 2010-03-09 18:00:25 UTC (rev 20711)
@@ -17,8 +17,10 @@
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.IParametedType;
import org.jboss.tools.common.EclipseUtil;
import org.jboss.tools.common.model.util.EclipseJavaUtil;
+import org.jboss.tools.common.text.ITextSourceReference;
import org.jboss.tools.common.util.FileUtil;
import org.jboss.tools.test.util.JobUtils;
import org.jboss.tools.test.util.ResourcesUtils;
@@ -130,6 +132,38 @@
}
}
+ public static void assertLocationEquals(Set<? extends ITextSourceReference> references, int startPosition, int length) {
+ for (ITextSourceReference reference : references) {
+ if(reference.getStartPosition()==startPosition) {
+ assertLocationEquals(reference, startPosition, length);
+ return;
+ }
+ }
+ StringBuffer message = new StringBuffer("Location [start positopn=").append(startPosition).append(", lengt=").append(length).append("] has not been found among ");
+ for (ITextSourceReference reference : references) {
+ message.append("[").append(reference.getStartPosition()).append(", ").append(reference.getLength()).append("] ");
+ }
+ fail(message.toString());
+ }
+
+ protected void assertContainsBeanType(IBean bean, String typeName) {
+ Set<IParametedType> types = bean.getLegalTypes();
+ StringBuffer allTypes = new StringBuffer("[");
+ for (IParametedType type : types) {
+ allTypes.append(" ").append(type.getType().getFullyQualifiedName()).append(";");
+ if (typeName.equals(type.getType().getFullyQualifiedName())) {
+ return;
+ }
+ }
+ allTypes.append("]");
+ fail(bean.getResource().getFullPath() + " bean " + allTypes.toString() + " should have " + typeName + " type.");
+ }
+
+ public static void assertLocationEquals(ITextSourceReference reference, int startPosition, int length) {
+ assertEquals("Wrong start position", startPosition, reference.getStartPosition());
+ assertEquals("Wrong length", length, reference.getLength());
+ }
+
public static void cleanProject(String _resourcePath) throws Exception {
Bundle b = Platform.getBundle(PLUGIN_ID);
String projectPath = FileLocator.resolve(b.getEntry(PROJECT_PATH)).getFile();
14 years, 10 months
JBoss Tools SVN: r20710 - trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/src/org/jboss/tools/vpe/ui/palette.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-03-09 12:34:59 -0500 (Tue, 09 Mar 2010)
New Revision: 20710
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/src/org/jboss/tools/vpe/ui/palette/DropTargetManager.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-6029
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/src/org/jboss/tools/vpe/ui/palette/DropTargetManager.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/src/org/jboss/tools/vpe/ui/palette/DropTargetManager.java 2010-03-09 17:31:04 UTC (rev 20709)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/src/org/jboss/tools/vpe/ui/palette/DropTargetManager.java 2010-03-09 17:34:59 UTC (rev 20710)
@@ -120,7 +120,7 @@
DnDUtil.copy(fo, null);
o = getModelObject(event.x, event.y);
}
- } else if(event.currentDataType.type != ModelTransfer.MODEL_ID) {
+ } else if(!ModelTransfer.getInstance().isSupportedType(event.currentDataType)) {
o = null;
} else {
o = getModelObject(event.x, event.y);
14 years, 10 months
JBoss Tools SVN: r20709 - in trunk/jst/plugins/org.jboss.tools.jst.web.ui: src/org/jboss/tools/jst/web/ui and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-03-09 12:31:04 -0500 (Tue, 09 Mar 2010)
New Revision: 20709
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/plugin.xml
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/WebAppFileFormLayoutData.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFilterFormLayoutData.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/editors/webapp/form/WebAppJspConfigFormLayoutData.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppSecurityConstraintFormLayoutData.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppServletFormLayoutData.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-5975
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/plugin.xml
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/plugin.xml 2010-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/plugin.xml 2010-03-09 17:31:04 UTC (rev 20709)
@@ -33,7 +33,7 @@
<xmlEditor
class="org.jboss.tools.jst.web.ui.editors.WebCompoundEditor"
contributorClass="org.jboss.tools.common.model.ui.texteditors.MultiPageContributor"
- entities="FileWebApp,FileWebApp24,FileWebApp25"
+ entities="FileWebApp,FileWebApp24,FileWebApp25,FileWebApp30"
icon="$nl$/images/xstudio/editors/webapp_file.gif"
name="%editors.web.name">
</xmlEditor>
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-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/Messages.java 2010-03-09 17:31:04 UTC (rev 20709)
@@ -46,6 +46,7 @@
public static String WebAppFileFormLayoutData_WebDesc23;
public static String WebAppFileFormLayoutData_WebDesc24;
public static String WebAppFileFormLayoutData_WebDesc25;
+ public static String WebAppFileFormLayoutData_WebDesc30;
public static String WebAppFoldersFormLayoutData_ErrorPages;
public static String WebAppFoldersFormLayoutData_WebAppErrorPage;
public static String WebAppFoldersFormLayoutData_ResourceEnvRefs;
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFileFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFileFormLayoutData.java 2010-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFileFormLayoutData.java 2010-03-09 17:31:04 UTC (rev 20709)
@@ -19,6 +19,7 @@
static String FILE_23_ENTITY = "FileWebApp"; //$NON-NLS-1$
static String FILE_24_ENTITY = "FileWebApp24"; //$NON-NLS-1$
static String FILE_25_ENTITY = "FileWebApp25"; //$NON-NLS-1$
+ static String FILE_30_ENTITY = "FileWebApp30"; //$NON-NLS-1$
static IFormData CONTEXT_PARAM_FOLDER_DEFINITION = new FormData(
Messages.WebAppFileFormLayoutData_ContextParams,
@@ -57,6 +58,10 @@
FILE_25_ENTITY, new String[]{null}, createFileDefinitions(Messages.WebAppFileFormLayoutData_WebDesc25, FILE_25_ENTITY)
);
+ public static IFormData FILE_WEB_APP_30_DEFINITION = new FormData(
+ FILE_30_ENTITY, new String[]{null}, createFileDefinitions(Messages.WebAppFileFormLayoutData_WebDesc30, FILE_30_ENTITY)
+ );
+
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFilterFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFilterFormLayoutData.java 2010-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFilterFormLayoutData.java 2010-03-09 17:31:04 UTC (rev 20709)
@@ -12,9 +12,9 @@
import org.jboss.tools.common.model.ui.forms.*;
import org.jboss.tools.jst.web.messages.xpl.WebUIMessages;
+import org.jboss.tools.jst.web.model.helpers.WebAppHelper;
public class WebAppFilterFormLayoutData {
- static String FILTER_ENTITY = "WebAppFilter"; //$NON-NLS-1$
static String INIT_PARAM_ENTITY = "WebAppInitParam"; //$NON-NLS-1$
static IFormData INIT_PARAM_LIST_DEFINITION = new FormData(
@@ -29,17 +29,34 @@
new FormData(
WebUIMessages.FILTER,
WebAppJspConfigFormLayoutData.EMPTY_DESCRIPTION,
- FormLayoutDataUtil.createGeneralFormAttributeData(FILTER_ENTITY)
+ FormLayoutDataUtil.createGeneralFormAttributeData(WebAppHelper.FILTER_ENTITY)
),
INIT_PARAM_LIST_DEFINITION,
new FormData(
WebUIMessages.ADVANCED,
WebAppJspConfigFormLayoutData.EMPTY_DESCRIPTION,
- FormLayoutDataUtil.createAdvancedFormAttributeData(FILTER_ENTITY)
+ FormLayoutDataUtil.createAdvancedFormAttributeData(WebAppHelper.FILTER_ENTITY)
),
};
+ private final static IFormData[] FILTER_30_DEFINITIONS = new IFormData[] {
+ new FormData(
+ WebUIMessages.FILTER,
+ WebAppJspConfigFormLayoutData.EMPTY_DESCRIPTION,
+ FormLayoutDataUtil.createGeneralFormAttributeData(WebAppHelper.FILTER_30_ENTITY)
+ ),
+ INIT_PARAM_LIST_DEFINITION,
+ new FormData(
+ WebUIMessages.ADVANCED,
+ WebAppJspConfigFormLayoutData.EMPTY_DESCRIPTION,
+ FormLayoutDataUtil.createAdvancedFormAttributeData(WebAppHelper.FILTER_30_ENTITY)
+ ),
+ };
+
final static IFormData FILTER_FORM_DEFINITION = new FormData(
- FILTER_ENTITY, new String[]{null}, FILTER_DEFINITIONS);
+ WebAppHelper.FILTER_ENTITY, new String[]{null}, FILTER_DEFINITIONS);
+ final static IFormData FILTER_30_FORM_DEFINITION = new FormData(
+ WebAppHelper.FILTER_30_ENTITY, new String[]{null}, FILTER_30_DEFINITIONS);
+
}
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-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFoldersFormLayoutData.java 2010-03-09 17:31:04 UTC (rev 20709)
@@ -20,21 +20,28 @@
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 FILTER_FOLDER_30_ENTITY = "WebAppFolderFilters30"; //$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$
+ static String SERVLET_FOLDER_30_ENTITY = "WebAppFolderServlets30"; //$NON-NLS-1$
static String MIME_FOLDER_ENTITY = "WebAppFolderMimeMappings"; //$NON-NLS-1$
static String ERROR_FOLDER_ENTITY = "WebAppFolderErrorPages"; //$NON-NLS-1$
static String TAGLIB_FOLDER_ENTITY = "WebAppFolderTaglibs"; //$NON-NLS-1$
static String RESOURCE_FOLDER_ENTITY = "WebAppFolderResources"; //$NON-NLS-1$
+ static String RESOURCE_FOLDER_30_ENTITY = "WebAppFolderResources30"; //$NON-NLS-1$
static String SECURITY_FOLDER_ENTITY = "WebAppFolderSecurityConstraints"; //$NON-NLS-1$
+ static String SECURITY_FOLDER_30_ENTITY = "WebAppFolderSecurityConstraints30"; //$NON-NLS-1$
static String ROLE_FOLDER_ENTITY = "WebAppFolderSecurityRoles"; //$NON-NLS-1$
static String ENV_FOLDER_ENTITY = "WebAppFolderEnvEntries"; //$NON-NLS-1$
+ static String ENV_FOLDER_30_ENTITY = "WebAppFolderEnvEntries30"; //$NON-NLS-1$
static String EJB_FOLDER_ENTITY = "WebAppFolderEJB"; //$NON-NLS-1$
+ static String EJB_FOLDER_30_ENTITY = "WebAppFolderEJB30"; //$NON-NLS-1$
static String SERVICE_FOLDER_ENTITY = "WebAppFolderServices"; //$NON-NLS-1$
static String MESSAGE_FOLDER_ENTITY = "WebAppFolderMessageDestinations"; //$NON-NLS-1$
+ static String MESSAGE_FOLDER_30_ENTITY = "WebAppFolderMessageDestinations30"; //$NON-NLS-1$
static IFormData CONTEXT_PARAM_LIST_DEFINITION = new FormData(
@@ -53,7 +60,7 @@
Messages.WebAppFoldersFormLayoutData_Filters,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("filter-name", 100)}, //$NON-NLS-1$
- new String[]{WebAppHelper.FILTER_ENTITY},
+ new String[]{WebAppHelper.FILTER_ENTITY, WebAppHelper.FILTER_30_ENTITY},
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateFilter") //$NON-NLS-1$
);
@@ -99,6 +106,11 @@
FILTER_MAPPING_24_LIST_DEFINITION
};
+ static IFormData[] FILTER_FOLDER_30_DEFINITIONS = new IFormData[]{
+ FILTER_LIST_DEFINITION,
+ FILTER_MAPPING_24_LIST_DEFINITION
+ };
+
static IFormData[] LIFECYCLE_FOLDER_24_DEFINITIONS = new IFormData[]{
LIFECYCLE_LIST_DEFINITION,
};
@@ -135,7 +147,7 @@
Messages.WebAppFoldersFormLayoutData_Servlets,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("servlet-name", 30), new FormAttributeData("servlet-class", 70)}, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]{WebAppHelper.SERVLET_ENTITY},
+ new String[]{WebAppHelper.SERVLET_ENTITY, WebAppHelper.SERVLET_30_ENTITY},
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateServlet") //$NON-NLS-1$
);
@@ -185,7 +197,7 @@
Messages.WebAppFoldersFormLayoutData_ResourceEnvRefs,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("resource-env-ref-name", 30), new FormAttributeData("resource-env-ref-type", 70)}, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]{"WebAppResourceEnvRef"}, //$NON-NLS-1$
+ new String[]{"WebAppResourceEnvRef", "WebAppResourceEnvRef30"}, //$NON-NLS-1$ //$NON-NLS-2$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateResourceEnvRef") //$NON-NLS-1$
);
@@ -193,7 +205,7 @@
Messages.WebAppFoldersFormLayoutData_ResourceRefs,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("res-ref-name", 30), new FormAttributeData("res-type", 70)}, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]{"WebAppResourceRef"}, //$NON-NLS-1$
+ new String[]{"WebAppResourceRef", "WebAppResourceRef30"}, //$NON-NLS-1$ //$NON-NLS-2$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateResourceRef") //$NON-NLS-1$
);
@@ -206,7 +218,7 @@
Messages.WebAppFoldersFormLayoutData_SecurityConstraints,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("display-name", 100)}, //$NON-NLS-1$
- new String[]{"WebAppSecurityConstraint"}, //$NON-NLS-1$
+ new String[]{"WebAppSecurityConstraint", "WebAppSecurityConstraint30"}, //$NON-NLS-1$ //$NON-NLS-2$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateSecurityConstraint") //$NON-NLS-1$
);
@@ -230,7 +242,7 @@
Messages.WebAppFoldersFormLayoutData_EnvEntries,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("env-entry-name", 50), new FormAttributeData("env-entry-type", 50)}, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]{"WebAppEnvEntry"}, //$NON-NLS-1$
+ new String[]{"WebAppEnvEntry", "WebAppEnvEntry30"}, //$NON-NLS-1$ //$NON-NLS-2$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateEnvEntry") //$NON-NLS-1$
);
@@ -242,7 +254,7 @@
Messages.WebAppFoldersFormLayoutData_EjbRefList,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("ejb-ref-name", 50), new FormAttributeData("ejb-ref-type", 50)}, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]{"WebAppEjbRef"}, //$NON-NLS-1$
+ new String[]{"WebAppEjbRef", "WebAppEjbRef30"}, //$NON-NLS-1$ //$NON-NLS-2$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateEjbRef") //$NON-NLS-1$
);
@@ -250,7 +262,7 @@
Messages.WebAppFoldersFormLayoutData_EjbLocalRefList,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("ejb-ref-name", 50), new FormAttributeData("ejb-ref-type", 50)}, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]{"WebAppEjbLocalRef"}, //$NON-NLS-1$
+ new String[]{"WebAppEjbLocalRef", "WebAppEjbLocalRef30"}, //$NON-NLS-1$ //$NON-NLS-2$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateEjbLocalRef") //$NON-NLS-1$
);
@@ -275,7 +287,7 @@
Messages.WebAppFoldersFormLayoutData_MessageDestinationRefList,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("message-destination-ref-name", 100)}, //$NON-NLS-1$
- new String[]{"WebAppMessageDestinationRef"}, //$NON-NLS-1$
+ new String[]{"WebAppMessageDestinationRef", "WebAppMessageDestinationRef30"}, //$NON-NLS-1$ //$NON-NLS-2$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateServiceMessageDestinationRef") //$NON-NLS-1$
);
@@ -283,7 +295,7 @@
Messages.WebAppFoldersFormLayoutData_MessageDestinationList,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("message-destination-name", 100)}, //$NON-NLS-1$
- new String[]{"WebAppMessageDestination"}, //$NON-NLS-1$
+ new String[]{"WebAppMessageDestination", "WebAppMessageDestination30"}, //$NON-NLS-1$ //$NON-NLS-2$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateServiceMessageDestination") //$NON-NLS-1$
);
@@ -301,6 +313,9 @@
final static IFormData FILTER_FOLDER_24_DEFINITION = new FormData(
FILTER_FOLDER_24_ENTITY, new String[]{null}, FILTER_FOLDER_24_DEFINITIONS);
+ final static IFormData FILTER_FOLDER_30_DEFINITION = new FormData(
+ FILTER_FOLDER_30_ENTITY, new String[]{null}, FILTER_FOLDER_30_DEFINITIONS);
+
final static IFormData LIFECYCLE_FOLDER_24_DEFINITION = new FormData(
LIFECYCLE_FOLDER_24_ENTITY, new String[]{null}, LIFECYCLE_FOLDER_24_DEFINITIONS);
@@ -316,6 +331,9 @@
final static IFormData SERVLET_FOLDER_DEFINITION = new FormData(
SERVLET_FOLDER_ENTITY, new String[]{null}, SERVLET_FOLDER_DEFINITIONS);
+ final static IFormData SERVLET_FOLDER_30_DEFINITION = new FormData(
+ SERVLET_FOLDER_30_ENTITY, new String[]{null}, SERVLET_FOLDER_DEFINITIONS);
+
final static IFormData MIME_FOLDER_DEFINITION = new FormData(
MIME_FOLDER_ENTITY, new String[]{null}, MIME_FOLDER_DEFINITIONS);
@@ -328,22 +346,37 @@
final static IFormData RESOURCE_FOLDER_DEFINITION = new FormData(
RESOURCE_FOLDER_ENTITY, new String[]{null}, RESOURCE_FOLDER_DEFINITIONS);
+ final static IFormData RESOURCE_FOLDER_30_DEFINITION = new FormData(
+ RESOURCE_FOLDER_30_ENTITY, new String[]{null}, RESOURCE_FOLDER_DEFINITIONS);
+
final static IFormData SECURITY_FOLDER_DEFINITION = new FormData(
SECURITY_FOLDER_ENTITY, new String[]{null}, SECURITY_FOLDER_DEFINITIONS);
+ final static IFormData SECURITY_FOLDER_30_DEFINITION = new FormData(
+ SECURITY_FOLDER_30_ENTITY, new String[]{null}, SECURITY_FOLDER_DEFINITIONS);
+
final static IFormData ROLE_FOLDER_DEFINITION = new FormData(
ROLE_FOLDER_ENTITY, new String[]{null}, ROLE_FOLDER_DEFINITIONS);
final static IFormData ENV_FOLDER_DEFINITION = new FormData(
ENV_FOLDER_ENTITY, new String[]{null}, ENV_FOLDER_DEFINITIONS);
+ final static IFormData ENV_FOLDER_30_DEFINITION = new FormData(
+ ENV_FOLDER_30_ENTITY, new String[]{null}, ENV_FOLDER_DEFINITIONS);
+
final static IFormData EJB_FOLDER_DEFINITION = new FormData(
EJB_FOLDER_ENTITY, new String[]{null}, EJB_FOLDER_DEFINITIONS);
+ final static IFormData EJB_FOLDER_30_DEFINITION = new FormData(
+ EJB_FOLDER_30_ENTITY, new String[]{null}, EJB_FOLDER_DEFINITIONS);
+
final static IFormData SERVICE_FOLDER_DEFINITION = new FormData(
SERVICE_FOLDER_ENTITY, new String[]{null}, SERVICE_FOLDER_DEFINITIONS);
final static IFormData MESSAGE_FOLDER_DEFINITION = new FormData(
MESSAGE_FOLDER_ENTITY, new String[]{null}, MESSAGE_FOLDER_DEFINITIONS);
+ final static IFormData MESSAGE_FOLDER_30_DEFINITION = new FormData(
+ MESSAGE_FOLDER_30_ENTITY, new String[]{null}, MESSAGE_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-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFormLayoutData.java 2010-03-09 17:31:04 UTC (rev 20709)
@@ -21,35 +21,48 @@
private final static IFormData[] FORM_LAYOUT_DEFINITIONS = new IFormData[] {
WebAppFilterFormLayoutData.FILTER_FORM_DEFINITION,
+ WebAppFilterFormLayoutData.FILTER_30_FORM_DEFINITION,
WebAppServletFormLayoutData.SERVLET_FORM_DEFINITION,
+ WebAppServletFormLayoutData.SERVLET_30_FORM_DEFINITION,
WebAppWelcomeFormLayoutData.WELCOME_LIST_FORM_DEFINITION,
WebAppAuthConstraintFormLayoutData.AUTH_CONSTRAINT_FORM_DEFINITION,
WebAppSecurityConstraintFormLayoutData.SECURITY_CONSTRAINT_FORM_DEFINITION,
+ WebAppSecurityConstraintFormLayoutData.SECURITY_CONSTRAINT_30_FORM_DEFINITION,
WebAppLocaleEncodingFormLayoutData.LOCALE_ENC_MAPPING_FORM_DEFINITION,
WebAppJspConfigFormLayoutData.JSP_CONFIG_FORM_DEFINITION,
+ WebAppJspConfigFormLayoutData.JSP_CONFIG_30_FORM_DEFINITION,
WebAppJspConfigFormLayoutData.PROPERTY_GROUP_FORM_DEFINITION,
+ WebAppJspConfigFormLayoutData.PROPERTY_GROUP_30_FORM_DEFINITION,
WebAppFoldersFormLayoutData.CONTEXT_PARAM_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.FILTER_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.FILTER_FOLDER_24_DEFINITION,
+ WebAppFoldersFormLayoutData.FILTER_FOLDER_30_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.SERVLET_FOLDER_30_DEFINITION,
WebAppFoldersFormLayoutData.MIME_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.ERROR_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.TAGLIB_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.RESOURCE_FOLDER_DEFINITION,
+ WebAppFoldersFormLayoutData.RESOURCE_FOLDER_30_DEFINITION,
WebAppFoldersFormLayoutData.SECURITY_FOLDER_DEFINITION,
+ WebAppFoldersFormLayoutData.SECURITY_FOLDER_30_DEFINITION,
WebAppFoldersFormLayoutData.ROLE_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.ENV_FOLDER_DEFINITION,
+ WebAppFoldersFormLayoutData.ENV_FOLDER_30_DEFINITION,
WebAppFoldersFormLayoutData.EJB_FOLDER_DEFINITION,
+ WebAppFoldersFormLayoutData.EJB_FOLDER_30_DEFINITION,
WebAppFoldersFormLayoutData.SERVICE_FOLDER_DEFINITION,
WebAppFoldersFormLayoutData.MESSAGE_FOLDER_DEFINITION,
+ WebAppFoldersFormLayoutData.MESSAGE_FOLDER_30_DEFINITION,
WebAppFileFormLayoutData.FILE_WEB_APP_23_DEFINITION,
WebAppFileFormLayoutData.FILE_WEB_APP_24_DEFINITION,
WebAppFileFormLayoutData.FILE_WEB_APP_25_DEFINITION,
+ WebAppFileFormLayoutData.FILE_WEB_APP_30_DEFINITION,
};
private static Map FORM_LAYOUT_DEFINITION_MAP = Collections.unmodifiableMap(new ArrayToMap(FORM_LAYOUT_DEFINITIONS));
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppJspConfigFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppJspConfigFormLayoutData.java 2010-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppJspConfigFormLayoutData.java 2010-03-09 17:31:04 UTC (rev 20709)
@@ -17,8 +17,10 @@
public class WebAppJspConfigFormLayoutData {
static String EMPTY_DESCRIPTION = ""; //$NON-NLS-1$
static String JSP_CONFIG_ENTITY = "WebAppJspConfig"; //$NON-NLS-1$
+ static String JSP_CONFIG_30_ENTITY = "WebAppJspConfig30"; //$NON-NLS-1$
static String TAGLIB_ENTITY = WebAppHelper.TAGLIB_ENTITY;
static String PROPERTY_GROUP_ENTITY = "WebAppJSPPropertyGroup"; //$NON-NLS-1$
+ static String PROPERTY_GROUP_30_ENTITY = "WebAppJSPPropertyGroup30"; //$NON-NLS-1$
static IFormData TAGLIB_LIST_DEFINITION = new FormData(
WebUIMessages.TAGLIBS,
@@ -32,7 +34,7 @@
WebUIMessages.PROPERTY_GROUPS,
EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("url-pattern", 100)}, //$NON-NLS-1$
- new String[]{PROPERTY_GROUP_ENTITY},
+ new String[]{PROPERTY_GROUP_ENTITY, PROPERTY_GROUP_30_ENTITY},
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreatePropertyGroup") //$NON-NLS-1$
);
@@ -54,9 +56,29 @@
),
};
+ private final static IFormData[] PROPERTY_GROUP_30_DEFINITIONS = new IFormData[] {
+ new FormData(
+ WebUIMessages.PROPERTY_GROUP,
+ EMPTY_DESCRIPTION,
+ FormLayoutDataUtil.createGeneralFormAttributeData(PROPERTY_GROUP_30_ENTITY)
+ ),
+ new FormData(
+ WebUIMessages.ADVANCED,
+ EMPTY_DESCRIPTION,
+ FormLayoutDataUtil.createAdvancedFormAttributeData(PROPERTY_GROUP_30_ENTITY)
+ ),
+ };
+
final static IFormData JSP_CONFIG_FORM_DEFINITION = new FormData(
JSP_CONFIG_ENTITY, new String[]{null}, JSP_CONFIG_DEFINITIONS);
+ final static IFormData JSP_CONFIG_30_FORM_DEFINITION = new FormData(
+ JSP_CONFIG_30_ENTITY, new String[]{null}, JSP_CONFIG_DEFINITIONS);
+
final static IFormData PROPERTY_GROUP_FORM_DEFINITION = new FormData(
PROPERTY_GROUP_ENTITY, new String[]{null}, PROPERTY_GROUP_DEFINITIONS);
+
+ final static IFormData PROPERTY_GROUP_30_FORM_DEFINITION = new FormData(
+ PROPERTY_GROUP_30_ENTITY, new String[]{null}, PROPERTY_GROUP_30_DEFINITIONS);
+
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppSecurityConstraintFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppSecurityConstraintFormLayoutData.java 2010-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppSecurityConstraintFormLayoutData.java 2010-03-09 17:31:04 UTC (rev 20709)
@@ -15,13 +15,15 @@
public class WebAppSecurityConstraintFormLayoutData {
static String SECURITY_CONSTRAINT_ENTITY = "WebAppSecurityConstraint"; //$NON-NLS-1$
+ static String SECURITY_CONSTRAINT_30_ENTITY = "WebAppSecurityConstraint30"; //$NON-NLS-1$
static String RESOURCE_COLLECTION_ENTITY = "WebAppResourceCollection"; //$NON-NLS-1$
+ static String RESOURCE_COLLECTION_30_ENTITY = "WebAppResourceCollection30"; //$NON-NLS-1$
static IFormData RESOURCE_COLLECTION_LIST_DEFINITION = new FormData(
WebUIMessages.RESOURCE_COLLECTIONS,
WebAppJspConfigFormLayoutData.EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("web-resource-name", 100)}, //$NON-NLS-1$
- new String[]{RESOURCE_COLLECTION_ENTITY},
+ new String[]{RESOURCE_COLLECTION_ENTITY, RESOURCE_COLLECTION_30_ENTITY},
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateResourceCollection") //$NON-NLS-1$
);
@@ -36,4 +38,7 @@
final static IFormData SECURITY_CONSTRAINT_FORM_DEFINITION = new FormData(
SECURITY_CONSTRAINT_ENTITY, new String[]{null}, SECURITY_CONSTRAINT_DEFINITIONS);
+
+ final static IFormData SECURITY_CONSTRAINT_30_FORM_DEFINITION = new FormData(
+ SECURITY_CONSTRAINT_30_ENTITY, new String[]{null}, SECURITY_CONSTRAINT_DEFINITIONS);
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppServletFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppServletFormLayoutData.java 2010-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppServletFormLayoutData.java 2010-03-09 17:31:04 UTC (rev 20709)
@@ -26,21 +26,26 @@
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateSecurityRoleRef") //$NON-NLS-1$
);
- private final static IFormData[] SERVLET_DEFINITIONS = new IFormData[] {
+ private final static IFormData[] creareServletDefinitions(String entity) {
+ return new IFormData[] {
new FormData(
WebUIMessages.SERVLET,
WebAppJspConfigFormLayoutData.EMPTY_DESCRIPTION,
- FormLayoutDataUtil.createGeneralFormAttributeData(SERVLET_ENTITY)
+ FormLayoutDataUtil.createGeneralFormAttributeData(entity)
),
WebAppFilterFormLayoutData.INIT_PARAM_LIST_DEFINITION,
SECURITY_ROLE_REF_LIST_DEFINITION,
new FormData(
WebUIMessages.ADVANCED,
WebAppJspConfigFormLayoutData.EMPTY_DESCRIPTION,
- FormLayoutDataUtil.createAdvancedFormAttributeData(SERVLET_ENTITY)
+ FormLayoutDataUtil.createAdvancedFormAttributeData(entity)
),
- };
+ };
+ }
final static IFormData SERVLET_FORM_DEFINITION = new FormData(
- SERVLET_ENTITY, new String[]{null}, SERVLET_DEFINITIONS);
+ SERVLET_ENTITY, new String[]{null}, creareServletDefinitions(SERVLET_ENTITY));
+
+ final static IFormData SERVLET_30_FORM_DEFINITION = new FormData(
+ WebAppHelper.SERVLET_30_ENTITY, new String[]{null}, creareServletDefinitions(WebAppHelper.SERVLET_30_ENTITY));
}
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-03-09 17:30:08 UTC (rev 20708)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/messages.properties 2010-03-09 17:31:04 UTC (rev 20709)
@@ -40,6 +40,7 @@
WebAppFileFormLayoutData_WebDesc23=Web Descriptor 2.3
WebAppFileFormLayoutData_WebDesc24=Web Descriptor 2.4
WebAppFileFormLayoutData_WebDesc25=Web Descriptor 2.5
+WebAppFileFormLayoutData_WebDesc30=Web Descriptor 3.0
WebAppFoldersFormLayoutData_ContextParams=Context Params
WebAppFoldersFormLayoutData_Filters=Filters
WebAppFoldersFormLayoutData_LifecycleCallbacks=Lifecycle Callbacks
14 years, 10 months
JBoss Tools SVN: r20708 - in trunk/cdi: plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-03-09 12:30:08 -0500 (Tue, 09 Mar 2010)
New Revision: 20708
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5808
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2010-03-09 17:27:13 UTC (rev 20707)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2010-03-09 17:30:08 UTC (rev 20708)
@@ -108,6 +108,28 @@
Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency, IType beanType, IType... qualifiers);
/**
+ * Returns the set of beans which have the given required type and qualifier
+ * type If no qualifiers are given, the
+ * {@linkplain javax.enterprise.inject.Default default qualifier} is
+ * assumed.
+ *
+ * @param fullQualifiedBeanType
+ * the required bean type
+ * @param fullQualifiedQualifiersTypes
+ * the required qualifiers
+ * @param attemptToResolveAmbiguousDependency
+ * if there are a few beans with the given type and qualifiers
+ * and attemptToResolveAmbiguousDependency==true the manager
+ * should try to resolve the ambiguity. If any of the beans are
+ * alternatives, the manager will eliminate all beans that are
+ * not alternatives, expect for producer methods and fields of
+ * beans that are alternatives.
+ *
+ * @return the resulting set of beans
+ */
+ Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency, String fullQualifiedBeanType, String... fullQualifiedQualifiersTypes);
+
+ /**
* Returns the set of beans which are eligible for the given injection
* points.
*
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2010-03-09 17:27:13 UTC (rev 20707)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2010-03-09 17:30:08 UTC (rev 20708)
@@ -11,6 +11,7 @@
package org.jboss.tools.cdi.internal.core.impl;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -41,7 +42,6 @@
import org.jboss.tools.cdi.core.IStereotype;
import org.jboss.tools.cdi.internal.core.impl.definition.AnnotationDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.BeansXMLDefinition;
-import org.jboss.tools.cdi.internal.core.impl.definition.ParametedTypeFactory;
import org.jboss.tools.cdi.internal.core.impl.definition.TypeDefinition;
import org.jboss.tools.common.text.INodeReference;
@@ -692,6 +692,17 @@
public Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency,
IType beanType, IType... qualifiers) {
// TODO
- return null;
+ return Collections.emptySet();
}
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.cdi.core.IBeanManager#getBeans(boolean, java.lang.String, java.lang.String[])
+ */
+ public Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency,
+ String fullQualifiedBeanType,
+ String... fullQualifiedQualifiersTypes) {
+ // TODO
+ return Collections.emptySet();
+ }
}
\ No newline at end of file
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java 2010-03-09 17:27:13 UTC (rev 20707)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/BeanDefinitionTest.java 2010-03-09 17:30:08 UTC (rev 20708)
@@ -13,7 +13,6 @@
import java.util.Set;
import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.IQualifier;
@@ -29,11 +28,14 @@
/**
* Section 2 - Concepts
* a) A bean comprises of a (nonempty) set of bean types.
+ * @throws JavaModelException
*/
- public void testBeanTypesNonEmpty() {
+ public void testBeanTypesNonEmpty() throws JavaModelException {
IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/definition/bean/RedSnapper.java");
Set<IBean> beans = cdiProject.getBeans(file.getFullPath());
assertEquals("There should be the only bean in org.jboss.jsr299.tck.tests.definition.bean.RedSnapper", 1, beans.size());
+ beans = cdiProject.getBeans(true, "org.jboss.jsr299.tck.tests.definition.bean.RedSnapper");
+ assertEquals("There should be the only bean in org.jboss.jsr299.tck.tests.definition.bean.RedSnapper", 1, beans.size());
IBean bean = beans.iterator().next();
assertTrue("No legal types were found for org.jboss.jsr299.tck.tests.definition.bean.RedSnapper bean.", bean.getLegalTypes().size() > 0);
Set<ITypeDeclaration> declarations = bean.getAllTypeDeclarations();
@@ -47,10 +49,12 @@
* b) A bean comprises of a (nonempty) set of qualifiers.
* Section 11.1 - The Bean interface
* ba) getTypes(), getQualifiers(), getScope(), getName() and getStereotypes() must return the bean types, qualifiers, scope type, EL name and stereotypes of the bean, as defined in Chapter 2, Concepts.
+ * @throws JavaModelException
*/
- public void testQualifiersNonEmpty() {
- IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/definition/bean/RedSnapper.java");
- Set<IBean> beans = cdiProject.getBeans(file.getFullPath());
+ public void testQualifiersNonEmpty() throws JavaModelException {
+// IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/definition/bean/RedSnapper.java");
+// Set<IBean> beans = cdiProject.getBeans(file.getFullPath());
+ Set<IBean> beans = getBeans("org.jboss.jsr299.tck.tests.definition.bean.RedSnapper");
Set<IQualifier> qs = beans.iterator().next().getQualifiers();
assertTrue("No qualifiers were found for org.jboss.jsr299.tck.tests.definition.bean.RedSnapper bean.", qs.size() > 0);
@@ -84,11 +88,13 @@
* ba) Test a bean with a scope.
* Section 11.1 - The Bean interface
* ba) getTypes(), getQualifiers(), getScope(), getName() and getStereotypes() must return the bean types, qualifiers, scope type, EL name and stereotypes of the bean, as defined in Chapter 2, Concepts.
+ * @throws JavaModelException
*
*/
- public void testHasScopeType() {
- IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/definition/bean/RedSnapper.java");
- Set<IBean> beans = cdiProject.getBeans(file.getFullPath());
+ public void testHasScopeType() throws JavaModelException {
+// IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/definition/bean/RedSnapper.java");
+// Set<IBean> beans = cdiProject.getBeans(file.getFullPath());
+ Set<IBean> beans = getBeans("org.jboss.jsr299.tck.tests.definition.bean.RedSnapper");
IBean bean = beans.iterator().next();
IScope scope = bean.getScope();
assertNotNull("org.jboss.jsr299.tck.tests.definition.bean.RedSnapper bean desn't have a scope.", scope);
@@ -103,16 +109,22 @@
* @throws JavaModelException
*/
public void testPrivitiveTypes() throws JavaModelException {
- IType type = getType("java.lang.Integer");
- Set<IBean> beans = cdiProject.getBeans(true, type, new IType[0]);
- assertNotNull("There should be the only bean with int type", beans);
- assertEquals("There should be the only bean with int type", 1, beans.size());
- type = getType("org.jboss.jsr299.tck.tests.definition.bean.Animal");
- beans = cdiProject.getBeans(true, type, new IType[0]);
- assertNotNull("There should be the only bean with org.jboss.jsr299.tck.tests.definition.bean.Animal type", beans);
- assertEquals("There should be the only bean with org.jboss.jsr299.tck.tests.definition.bean.Animal type", 1, beans.size());
+ assertTheOnlyBean("java.lang.Integer");
+ assertTheOnlyBean("org.jboss.jsr299.tck.tests.definition.bean.Animal");
}
+ public void testBeanTypes() {
+// assert getBeans(Tarantula.class).size() == 1;
+// Bean<Tarantula> bean = getBeans(Tarantula.class).iterator().next();
+// assert bean.getTypes().size() == 6;
+// assert bean.getTypes().contains(Tarantula.class);
+// assert bean.getTypes().contains(Spider.class);
+// assert bean.getTypes().contains(Animal.class);
+// assert bean.getTypes().contains(Object.class);
+// assert bean.getTypes().contains(DeadlySpider.class);
+// assert bean.getTypes().contains(DeadlyAnimal.class);
+ }
+
/**
* e) A bean comprises of an optional bean EL name.
*/
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java 2010-03-09 17:27:13 UTC (rev 20707)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java 2010-03-09 17:30:08 UTC (rev 20708)
@@ -2,6 +2,7 @@
import java.io.File;
import java.io.FileFilter;
+import java.util.Set;
import junit.framework.TestCase;
@@ -14,6 +15,7 @@
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.ICDIProject;
import org.jboss.tools.common.EclipseUtil;
import org.jboss.tools.common.model.util.EclipseJavaUtil;
@@ -94,6 +96,19 @@
return project;
}
+ protected Set<IBean> getBeans(String typeName) throws JavaModelException {
+ IType type = getType(typeName);
+ assertNotNull("Can't find " + typeName + " type.", type);
+ Set<IBean> beans = cdiProject.getBeans(true, type, new IType[0]);
+ assertNotNull("There is no eny beans with " + typeName + " type", beans);
+ return beans;
+ }
+
+ protected void assertTheOnlyBean(String typeName) throws JavaModelException {
+ Set<IBean> beans = getBeans(typeName);
+ assertEquals("There should be the only bean with " + typeName + " type", 1, beans.size());
+ }
+
static class JavaFileFilter implements FileFilter {
public boolean accept(File pathname) {
String name = pathname.getName();
14 years, 10 months
JBoss Tools SVN: r20707 - in trunk/jst/plugins/org.jboss.tools.jst.web: resources/help and 4 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-03-09 12:27:13 -0500 (Tue, 09 Mar 2010)
New Revision: 20707
Added:
trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppFilteredTreeConstraint.java
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/WebAppAuxFolderImpl.java
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web/plugin.xml
trunk/jst/plugins/org.jboss.tools.jst.web/resources/help/keys-web.properties
trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/strutswebapp.meta
trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp24.meta
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/model/helpers/WebAppHelper.java
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/TLDUtil.java
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppLoader.java
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppRecognizer.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5975
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/plugin.xml
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/plugin.xml 2010-03-09 14:38:14 UTC (rev 20706)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/plugin.xml 2010-03-09 17:27:13 UTC (rev 20707)
@@ -18,6 +18,8 @@
</meta>
<meta path="meta/webapp24.meta">
</meta>
+ <meta path="meta/webapp30.meta">
+ </meta>
<meta path="meta/web-template.meta">
</meta>
<meta path="meta/page-files.meta">
@@ -203,12 +205,16 @@
<xclass id="org.jboss.tools.jst.web.webapp.model.FileWebApp24Loader"
class="org.jboss.tools.jst.web.webapp.model.FileWebApp24Loader"/>
+ <xclass id="org.jboss.tools.jst.web.webapp.model.WebAppAuxFolderImpl"
+ class="org.jboss.tools.jst.web.webapp.model.WebAppAuxFolderImpl"/>
<xclass id="org.jboss.tools.jst.web.webapp.model.FileWebAppImpl"
class="org.jboss.tools.jst.web.webapp.model.FileWebAppImpl"/>
<xclass id="org.jboss.tools.jst.web.webapp.model.FileWebAppLoader"
class="org.jboss.tools.jst.web.webapp.model.FileWebAppLoader"/>
<xclass id="org.jboss.tools.jst.web.webapp.model.FileWebAppRecognizer"
class="org.jboss.tools.jst.web.webapp.model.FileWebAppRecognizer"/>
+ <xclass id="org.jboss.tools.jst.web.webapp.model.FileWebAppFilteredTreeConstraint"
+ class="org.jboss.tools.jst.web.webapp.model.FileWebAppFilteredTreeConstraint"/>
<xclass id="org.jboss.tools.jst.web.webapp.model.WebAppAuthConstraintImpl"
class="org.jboss.tools.jst.web.webapp.model.WebAppAuthConstraintImpl"/>
<xclass id="org.jboss.tools.jst.web.webapp.model.WebAppErrorPageImpl"
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/resources/help/keys-web.properties
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/resources/help/keys-web.properties 2010-03-09 14:38:14 UTC (rev 20706)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/resources/help/keys-web.properties 2010-03-09 17:27:13 UTC (rev 20707)
@@ -1,3 +1,6 @@
+FileWebApp30.editorTitle=Web XML 3.0 Editor
+
+
IMPORT_WEB_PROJECT_WIZARD_PROJECT_LOCATION = Project Location
IMPORT_WEB_PROJECT_SELECT_WEB_XML = Please select web.xml location
IMPORT_WEB_PROJECT_WIZARD_PROJECT_FOLDERS = Project Folders
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/strutswebapp.meta
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/strutswebapp.meta 2010-03-09 14:38:14 UTC (rev 20706)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/strutswebapp.meta 2010-03-09 17:27:13 UTC (rev 20707)
@@ -16,6 +16,9 @@
<MAPPING name="Handlers">
<PAIR name="CreateForWeb23" value="org.jboss.tools.jst.web.webapp.model.handlers.CreateForWebApp23Handler"/>
</MAPPING>
+ <MAPPING name="Implementations">
+ <PAIR name="WebAppAuxFolder" value="org.jboss.tools.jst.web.webapp.model.WebAppAuxFolderImpl"/>
+ </MAPPING>
<MAPPING name="ObjectEditor">
<PAIR name="WEB_APP" value="org.jboss.tools.jst.web.ui.editors.WebCompoundEditor"/>
</MAPPING>
@@ -1092,7 +1095,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderEnvEntries">
<XChildrenEntities>
<XChildEntity name="WebAppEnvEntry"/>
@@ -1145,7 +1148,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderErrorPages">
<XChildrenEntities>
<XChildEntity name="WebAppErrorPage"/>
@@ -1198,7 +1201,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderFilters">
<XChildrenEntities>
<XChildEntity name="WebAppFilter"/>
@@ -1262,7 +1265,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderListeners">
<XChildrenEntities>
<XChildEntity name="WebAppListener"/>
@@ -1313,7 +1316,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderMessageDestinations">
<XChildrenEntities>
<XChildEntity name="WebAppMessageDestinationRef"/>
@@ -1375,7 +1378,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderMimeMappings">
<XChildrenEntities>
<XChildEntity name="WebAppMimeMapping"/>
@@ -1427,7 +1430,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderResources">
<XChildrenEntities>
<XChildEntity name="WebAppResourceEnvRef"/>
@@ -1490,7 +1493,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderSecurityConstraints">
<XChildrenEntities>
<XChildEntity name="WebAppSecurityConstraint"/>
@@ -1541,7 +1544,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderSecurityRoles">
<XChildrenEntities>
<XChildEntity name="WebAppSecurityRole"/>
@@ -1592,7 +1595,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderServices">
<XChildrenEntities>
<XChildEntity name="WebAppServiceRef"/>
@@ -1643,7 +1646,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderServlets">
<XChildrenEntities>
<XChildEntity name="WebAppServlet"/>
@@ -1706,7 +1709,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderTaglibs">
<XChildrenEntities>
<XChildEntity name="WebAppTaglib"/>
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp24.meta
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp24.meta 2010-03-09 14:38:14 UTC (rev 20706)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp24.meta 2010-03-09 17:27:13 UTC (rev 20707)
@@ -1075,7 +1075,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderFilters24">
<XChildrenEntities>
<XChildEntity name="WebAppFilter"/>
@@ -1140,7 +1140,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderLifecycles25">
<XChildrenEntities>
<XChildEntity name="WebAppPostConstruct25"/>
@@ -1206,7 +1206,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderListeners24">
<XChildrenEntities>
<XChildEntity name="WebAppListener24"/>
@@ -1257,7 +1257,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%WebAppAuxFolder%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderPersistence25">
<XChildrenEntities>
<XChildEntity name="WebAppPersistenceContextRef25"/>
Added: trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta 2010-03-09 17:27:13 UTC (rev 20707)
@@ -0,0 +1,2259 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE XModelEntityGroup PUBLIC "-//Red Hat, Inc.//DTD Meta 1.0//EN"
+ "meta.dtd">
+<XModelEntityGroup>
+ <VERSION DEPENDS="Model:1.0" MODULE="Web" VERSION="1.0"/>
+ <MAPPINGS>
+ <MAPPING name="FileVersions">
+ <PAIR name="WebApp3.0" value="FileWebApp30"/>
+ </MAPPING>
+ </MAPPINGS>
+ <ICONS/>
+ <GlobalActions kind="list"/>
+ <XModelEntity
+ ImplementationLoadingClass="org.jboss.tools.jst.web.webapp.model.FileWebApp24Loader"
+ ImplementingClass="org.jboss.tools.jst.web.webapp.model.FileWebAppImpl"
+ ObjectEditorClass="%XML%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;editorTreeConstraint=org.jboss.tools.jst.web.webapp.model.FileWebAppFilteredTreeConstraint"
+ XMLSUBPATH="web-app" name="FileWebApp30">
+ <XChildrenEntities>
+ <XChildEntity maxCount="1" name="WebAppFolderAbsoluteOrderings" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderContextParams" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderFilters30" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderListeners24" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderServlets30" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppSessionConfig30" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderMimeMappings" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppWelcomFileList" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderErrorPages" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppJspConfig30" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderSecurityConstraints30" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppLoginConfig" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderSecurityRoles" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderEnvEntries30" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderEJB30" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderServices" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderResources30" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderMessageDestinations30" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppLocaleEncodingMappingList" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderPersistence25" required="yes"/>
+ <XChildEntity maxCount="1" name="WebAppFolderLifecycles25" required="yes"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.file" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="deployment descriptor" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="name" xmlname="NAME"/>
+ <XModelAttribute default="xml" name="extension" xmlname="EXTENSION">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute loader="ElementType" name="_lateload" visibility="false">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute default="no" name="isIncorrect" visibility="false">
+ <Constraint loader="List">
+ <value name="yes"/>
+ <value name="no"/>
+ </Constraint>
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="incorrectBody" visibility="false"/>
+ <XModelAttribute default="false" name="expanded" visibility="false">
+ <Constraint loader="List">
+ <value name="false"/>
+ <value name="true"/>
+ </Constraint>
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always"
+ default="http://java.sun.com/xml/ns/javaee" name="xmlns" xmlname="xmlns"/>
+ <XModelAttribute PROPERTIES="save=always"
+ default="http://www.w3.org/2001/XMLSchema-instance" name="xmlns:xsi" xmlname="xmlns:xsi"/>
+ <XModelAttribute PROPERTIES="save=always"
+ default="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ name="xsi:schemaLocation" xmlname="xsi:schemaLocation"/>
+ <XModelAttribute PROPERTIES="save=always" default="3.0"
+ name="version" visibility="false" xmlname="version"/>
+ <XModelAttribute PROPERTIES="category=advanced" name="small-icon" xmlname="icon.small-icon.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="large-icon" xmlname="icon.large-icon.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="display-name" xmlname="display-name.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" default="no"
+ name="distributable" xmlname="distributable">
+ <Constraint loader="List">
+ <value name="yes"/>
+ <value name="no"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="module-name" xmlname="module-name.#text"/>
+ <XModelAttribute PROPERTIES="category=advanced"
+ name="metadata-complete" xmlname="metadata-complete">
+ <Constraint loader="List">
+ <value/>
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" default="UTF-8" name="encoding">
+ <Constraint loader="ListString">
+ <value name="ISO-8859-1"/>
+ <value name="UTF-8"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="New" group="1"
+ kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.mime_mapping"
+ PROPERTIES="validator.add=true;sourcepath=Absolute Orderings;actionpath=CreateActions/CreateAbsoluteOrdering"
+ WizardClassName="%Default%" displayName="Absolute Ordering..."
+ kind="action" name="CreateAbsoluteOrdering"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.param"
+ PROPERTIES="validator.add=true;sourcepath=Context Params;actionpath=CreateActions/CreateContextParam"
+ WizardClassName="%Default%" displayName="Context Param..."
+ kind="action" name="CreateContextParam"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.filter"
+ PROPERTIES="validator.add=true;sourcepath=Filters;actionpath=CreateActions/CreateFilter"
+ WizardClassName="%Default%" displayName="Filter..." kind="action" name="CreateFilter"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.filter_mapping"
+ PROPERTIES="validator.add=true;sourcepath=Filters;actionpath=CreateActions/CreateFilterMapping"
+ WizardClassName="%Default%" displayName="Filter Mapping..."
+ kind="action" name="CreateFilterMapping"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.listener"
+ PROPERTIES="validator.add=true;sourcepath=Listeners;actionpath=CreateActions/CreateListener"
+ WizardClassName="%Default%" displayName="Listener..." kind="action" name="CreateListener"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.servlet"
+ PROPERTIES="validator.add=true;sourcepath=Servlets;actionpath=CreateActions/CreateServlet"
+ WizardClassName="%Default%" displayName="Servlet..." kind="action" name="CreateServlet"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.servlet_mapping"
+ PROPERTIES="validator.add=true;sourcepath=Servlets;actionpath=CreateActions/CreateServletMapping"
+ WizardClassName="%Default%" displayName="Servlet Mapping..."
+ kind="action" name="CreateServletMapping"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.session"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Session Config..." kind="action" name="CreateSessionConfig">
+ <EntityData EntityName="WebAppSessionConfig">
+ <AttributeData AttributeName="session-timeout" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.mime_mapping"
+ PROPERTIES="validator.add=true;sourcepath=Mime Mappings;actionpath=CreateActions/CreateMimeMapping"
+ WizardClassName="%Default%" displayName="Mime Mapping..."
+ kind="action" name="CreateMimeMapping"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.welcom_list"
+ displayName="Welcome File List" kind="action" name="CreateWelcomeFileList">
+ <EntityData EntityName="WebAppWelcomFileList"/>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.error"
+ PROPERTIES="validator.add=true;sourcepath=Error Pages;actionpath=CreateActions/CreateErrorPage"
+ displayName="Error Page..." kind="action" name="CreateErrorPage"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.taglib"
+ PROPERTIES="validator.add=true" displayName="JSP Config..."
+ kind="action" name="CreateJspConfig">
+ <EntityData EntityName="WebAppJspConfig"/>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.security_constraint"
+ PROPERTIES="validator.add=true;sourcepath=Security Constraints;actionpath=CreateActions/CreateSecurityConstraint"
+ WizardClassName="%Default%" displayName="Security Constraint..."
+ kind="action" name="CreateSecurityConstraint"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.login_config"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Login Config..." kind="action" name="CreateLoginConfig">
+ <EntityData EntityName="WebAppLoginConfig">
+ <AttributeData AttributeName="auth-method" Mandatory="no"/>
+ <AttributeData AttributeName="realm-name" Mandatory="no"/>
+ <AttributeData AttributeName="form-login-page" Mandatory="no"/>
+ <AttributeData AttributeName="form-error-page" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.security_role"
+ PROPERTIES="validator.add=true;sourcepath=Security Roles;actionpath=CreateActions/CreateSecurityRole"
+ WizardClassName="%Default%" displayName="Security Role..."
+ kind="action" name="CreateSecurityRole"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.env_entry"
+ PROPERTIES="validator.add=true;sourcepath=Env Entries;actionpath=CreateActions/CreateEnvEntry"
+ WizardClassName="%Default%" displayName="Env Entry..."
+ kind="action" name="CreateEnvEntry"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.ejb_reference"
+ PROPERTIES="validator.add=true;sourcepath=EJB;actionpath=CreateActions/CreateEjbRef"
+ WizardClassName="%Default%" displayName="Ejb Ref..." kind="action" name="CreateEjbRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.ejb_local_reference"
+ PROPERTIES="validator.add=true;sourcepath=EJB;actionpath=CreateActions/CreateEjbLocalRef"
+ WizardClassName="%Default%" displayName="Ejb Local Ref..."
+ kind="action" name="CreateEjbLocalRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.service"
+ PROPERTIES="validator.add=true;sourcepath=Services;actionpath=CreateActions/CreateServiceRef"
+ WizardClassName="%Default%" displayName="Service Ref..."
+ kind="action" name="CreateServiceRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.res_env_ref"
+ PROPERTIES="validator.add=true;sourcepath=Resources;actionpath=CreateActions/CreateResourceEnvRef"
+ WizardClassName="%Default%" displayName="Resource Env Ref..."
+ kind="action" name="CreateResourceEnvRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.res_ref"
+ PROPERTIES="validator.add=true;sourcepath=Resources;actionpath=CreateActions/CreateResourceRef"
+ WizardClassName="%Default%" displayName="Resource Ref..."
+ kind="action" name="CreateResourceRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.message"
+ PROPERTIES="validator.add=true;sourcepath=Message Destinations;actionpath=CreateActions/CreateServiceMessageDestinationRef"
+ WizardClassName="%Default%"
+ displayName="Message Destination Ref..." kind="action" name="CreateServiceMessageDestinationRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.message"
+ PROPERTIES="validator.add=true;sourcepath=Message Destinations;actionpath=CreateActions/CreateServiceMessageDestination"
+ WizardClassName="%Default%" displayName="Message Destination..."
+ kind="action" name="CreateServiceMessageDestination"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.taglib"
+ PROPERTIES="validator.add=true"
+ displayName="Locale Encoding Mapping List..." kind="action" name="CreateLocaleEncodingMappingList">
+ <EntityData EntityName="WebAppLocaleEncodingMappingList"/>
+ </XActionItem>
+ </XActionItem>
+ <XActionItem HIDE="disabled"
+ HandlerClassName="org.jboss.tools.jst.web.tld.model.handlers.ValidateTLDHandler"
+ ICON="action.empty" displayName="Report Problem" kind="action" name="Validate"/>
+ <XActionItem BaseActionName="Open" HandlerClassName="%Open%"
+ ICON="action.edit" displayName="Open" kind="action" name="Open"/>
+ <XActionItem displayName="Open With" group="1" kind="list" name="OpenWith">
+ <XActionItem HIDE="always"
+ HandlerClassName="org.jboss.tools.common.meta.action.impl.handlers.OpenWithExternalHandler"
+ ICON="main.file.java_file" PROPERTIES="extension=tiles-definitions"
+ displayName="Open with External Program" kind="action" name="OpenWithSelected"/>
+ <XActionItem HIDE="always"
+ HandlerClassName="org.jboss.tools.common.meta.action.impl.handlers.OpenWithChoiceHandler"
+ ICON="main.file.java_file" displayName="Choose Program..."
+ kind="action" name="OpenWithChoice">
+ <EntityData EntityName="OpenWithHelper">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="default"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <XActionItem kind="list" name="EditActions">
+ <XActionItem HIDE="always" HandlerClassName="%RenameFile%"
+ ICON="action.empty" PROPERTIES="validator.edit=true"
+ WizardClassName="%Default%" displayName="Rename..." kind="action" name="Rename">
+ <EntityData EntityName="FileWebApp">
+ <AttributeData AttributeName="name"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem
+ HandlerClassName="org.jboss.tools.common.model.filesystems.impl.handlers.RenameEclipseFileHandler"
+ ICON="action.empty" displayName="Rename..." kind="action" name="RenameEclipse"/>
+ </XActionItem>
+ <XActionItem kind="list" name="SaveActions">
+ <XActionItem HIDE="always" HandlerClassName="%SaveFile%"
+ ICON="action.save" displayName="Save" kind="action" name="Save"/>
+ <XActionItem
+ HandlerClassName="org.jboss.tools.jst.web.model.handlers.ResetFileDateHandler"
+ ICON="action.save" displayName="Change Timestamp" kind="action" name="ChangeTimeStamp"/>
+ </XActionItem>
+ <XActionItem HIDE="always"
+ HandlerClassName="org.jboss.tools.jst.web.tld.model.handlers.ExpandTLDHandler"
+ ICON="action.empty" displayName="Set Expanded" kind="action" name="SetExpanded"/>
+ <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" 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="%DeleteFile%"
+ 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 kind="list" name="DiscardActions">
+ <XActionItem HIDE="always"
+ HandlerClassName="org.jboss.tools.common.model.filesystems.impl.DiscardFileHandler"
+ ICON="action.delete"
+ PROPERTIES="significanceMessageClass=org.jboss.tools.common.model.filesystems.impl.DiscardFileSignificanceMessage"
+ displayName="Discard Changes" kind="action" name="Discard"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity name="FileWebApp30_EditorActionList">
+ <XChildrenEntities/>
+ <XEntityRenderer/>
+ <XModelAttributes/>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="New" group="1"
+ kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.mime_mapping"
+ PROPERTIES="validator.add=true;sourcepath=Absolute Orderings;actionpath=CreateActions/CreateAbsoluteOrdering"
+ WizardClassName="%Default%" displayName="Absolute Ordering..."
+ kind="action" name="CreateAbsoluteOrdering"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.param"
+ PROPERTIES="validator.add=true;sourcepath=Context Params;actionpath=CreateActions/CreateContextParam"
+ WizardClassName="%Default%" displayName="Context Param..."
+ kind="action" name="CreateContextParam"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.filter"
+ PROPERTIES="validator.add=true;sourcepath=Filters;actionpath=CreateActions/CreateFilter"
+ WizardClassName="%Default%" displayName="Filter..." kind="action" name="CreateFilter"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.filter_mapping"
+ PROPERTIES="validator.add=true;sourcepath=Filters;actionpath=CreateActions/CreateFilterMapping"
+ WizardClassName="%Default%" displayName="Filter Mapping..."
+ kind="action" name="CreateFilterMapping"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.listener"
+ PROPERTIES="validator.add=true;sourcepath=Listeners;actionpath=CreateActions/CreateListener"
+ WizardClassName="%Default%" displayName="Listener..." kind="action" name="CreateListener"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.servlet"
+ PROPERTIES="validator.add=true;sourcepath=Servlets;actionpath=CreateActions/CreateServlet"
+ WizardClassName="%Default%" displayName="Servlet..." kind="action" name="CreateServlet"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.servlet_mapping"
+ PROPERTIES="validator.add=true;sourcepath=Servlets;actionpath=CreateActions/CreateServletMapping"
+ WizardClassName="%Default%" displayName="Servlet Mapping..."
+ kind="action" name="CreateServletMapping"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.session"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Session Config..." kind="action" name="CreateSessionConfig">
+ <EntityData EntityName="WebAppSessionConfig">
+ <AttributeData AttributeName="session-timeout" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.mime_mapping"
+ PROPERTIES="validator.add=true;sourcepath=Mime Mappings;actionpath=CreateActions/CreateMimeMapping"
+ WizardClassName="%Default%" displayName="Mime Mapping..."
+ kind="action" name="CreateMimeMapping"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.welcom_list"
+ displayName="Welcome File List" kind="action" name="CreateWelcomeFileList">
+ <EntityData EntityName="WebAppWelcomFileList"/>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.error"
+ PROPERTIES="validator.add=true;sourcepath=Error Pages;actionpath=CreateActions/CreateErrorPage"
+ displayName="Error Page..." kind="action" name="CreateErrorPage"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.taglib"
+ PROPERTIES="validator.add=true" displayName="JSP Config..."
+ kind="action" name="CreateJspConfig">
+ <EntityData EntityName="WebAppJspConfig"/>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.security_constraint"
+ PROPERTIES="validator.add=true;sourcepath=Security Constraints;actionpath=CreateActions/CreateSecurityConstraint"
+ WizardClassName="%Default%" displayName="Security Constraint..."
+ kind="action" name="CreateSecurityConstraint"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.login_config"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Login Config..." kind="action" name="CreateLoginConfig">
+ <EntityData EntityName="WebAppLoginConfig">
+ <AttributeData AttributeName="auth-method" Mandatory="no"/>
+ <AttributeData AttributeName="realm-name" Mandatory="no"/>
+ <AttributeData AttributeName="form-login-page" Mandatory="no"/>
+ <AttributeData AttributeName="form-error-page" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.security_role"
+ PROPERTIES="validator.add=true;sourcepath=Security Roles;actionpath=CreateActions/CreateSecurityRole"
+ WizardClassName="%Default%" displayName="Security Role..."
+ kind="action" name="CreateSecurityRole"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.env_entry"
+ PROPERTIES="validator.add=true;sourcepath=Env Entries;actionpath=CreateActions/CreateEnvEntry"
+ WizardClassName="%Default%" displayName="Env Entry..."
+ kind="action" name="CreateEnvEntry"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.ejb_reference"
+ PROPERTIES="validator.add=true;sourcepath=EJB;actionpath=CreateActions/CreateEjbRef"
+ WizardClassName="%Default%" displayName="Ejb Ref..." kind="action" name="CreateEjbRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.ejb_local_reference"
+ PROPERTIES="validator.add=true;sourcepath=EJB;actionpath=CreateActions/CreateEjbLocalRef"
+ WizardClassName="%Default%" displayName="Ejb Local Ref..."
+ kind="action" name="CreateEjbLocalRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.service"
+ PROPERTIES="validator.add=true;sourcepath=Services;actionpath=CreateActions/CreateServiceRef"
+ WizardClassName="%Default%" displayName="Service Ref..."
+ kind="action" name="CreateServiceRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.res_env_ref"
+ PROPERTIES="validator.add=true;sourcepath=Resources;actionpath=CreateActions/CreateResourceEnvRef"
+ WizardClassName="%Default%" displayName="Resource Env Ref..."
+ kind="action" name="CreateResourceEnvRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.res_ref"
+ PROPERTIES="validator.add=true;sourcepath=Resources;actionpath=CreateActions/CreateResourceRef"
+ WizardClassName="%Default%" displayName="Resource Ref..."
+ kind="action" name="CreateResourceRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.message"
+ PROPERTIES="validator.add=true;sourcepath=Message Destinations;actionpath=CreateActions/CreateServiceMessageDestinationRef"
+ WizardClassName="%Default%"
+ displayName="Message Destination Ref..." kind="action" name="CreateServiceMessageDestinationRef"/>
+ <XActionItem HandlerClassName="%Redirect%"
+ ICON="action.new.struts.webapp.message"
+ PROPERTIES="validator.add=true;sourcepath=Message Destinations;actionpath=CreateActions/CreateServiceMessageDestination"
+ WizardClassName="%Default%" displayName="Message Destination..."
+ kind="action" name="CreateServiceMessageDestination"/>
+ <XActionItem HIDE="always" HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.taglib"
+ PROPERTIES="validator.add=true"
+ displayName="Locale Encoding Mapping List..." kind="action" name="CreateLocaleEncodingMappingList">
+ <EntityData EntityName="WebAppLocaleEncodingMappingList"/>
+ </XActionItem>
+ </XActionItem>
+ <XActionItem kind="list" name="EditActions">
+ <XActionItem HandlerClassName="%RenameFile%" ICON="action.empty"
+ PROPERTIES="validator.edit=true" WizardClassName="%Default%"
+ displayName="Rename..." kind="action" name="Rename">
+ <EntityData EntityName="FileWebApp">
+ <AttributeData AttributeName="name"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <XActionItem kind="list" name="SaveActions">
+ <XActionItem HIDE="always" HandlerClassName="%SaveFile%"
+ ICON="action.save" displayName="Save" kind="action" name="Save"/>
+ <XActionItem
+ HandlerClassName="org.jboss.tools.jst.web.model.handlers.ResetFileDateHandler"
+ ICON="action.save" displayName="Change Timestamp" kind="action" name="ChangeTimeStamp"/>
+ </XActionItem>
+ <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" HandlerClassName="%Paste%"
+ ICON="action.paste" displayName="Paste" kind="action" name="Paste"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list" name="Properties">
+ <XActionItem HandlerClassName="%Properties%" ICON="action.empty"
+ displayName="Properties..." kind="action" name="Properties"/>
+ </XActionItem>
+ <XActionItem kind="list" name="DiscardActions">
+ <XActionItem HIDE="always"
+ HandlerClassName="org.jboss.tools.common.model.filesystems.impl.DiscardFileHandler"
+ ICON="action.delete"
+ PROPERTIES="significanceMessageClass=org.jboss.tools.common.model.filesystems.impl.DiscardFileSignificanceMessage"
+ displayName="Discard Changes" kind="action" name="Discard"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+ XMLSUBPATH="absolute-ordering" name="WebAppAbsoluteOrdering">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.mime_mapping" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="absolute ordering" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;id=true" name="name" xmlname="name.#text">
+ <Constraint loader="ListString">
+ <value name="doc"/>
+ <value name="gif"/>
+ <value name="html"/>
+ <value name="txt"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ <XModelAttribute name="others" xmlname="others">
+ <Constraint loader="List">
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" 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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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%" XMLSUBPATH="cookie-config" name="WebAppCookieConfig">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.mime_mapping" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="cookie config" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;id=true" name="name" xmlname="name.#text"/>
+ <XModelAttribute name="domain" xmlname="domain.#text"/>
+ <XModelAttribute name="path" xmlname="path.#text"/>
+ <XModelAttribute name="comment" xmlname="comment.#text"/>
+ <XModelAttribute name="http-only" xmlname="http-only.#text">
+ <Constraint loader="ListString">
+ <value/>
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ <XModelAttribute name="secure" xmlname="secure.#text">
+ <Constraint loader="ListString">
+ <value/>
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="_comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute name="max-age" xmlname="max-age.#text"/>
+ </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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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%" XMLSUBPATH="ejb-local-ref" name="WebAppEjbLocalRef30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppInjectionTarget25"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.ejb_local_reference" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="ejb reference" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always" name="ejb-ref-name" xmlname="ejb-ref-name.#text">
+ <Editor name="Name"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always" name="ejb-ref-type" xmlname="ejb-ref-type.#text">
+ <Constraint loader="List">
+ <value name="Entity"/>
+ <value name="Session"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always" name="local-home" xmlname="local-home.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always" name="local" xmlname="local.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute name="ejb-link" xmlname="ejb-link.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="mapped-name" xmlname="mapped-name.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="lookup-name" xmlname="lookup-name.#text"/>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Injection Target..." kind="action" name="CreateInjectionTarget">
+ <EntityData EntityName="WebAppInjectionTarget25">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="class"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ <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%" XMLSUBPATH="ejb-ref" name="WebAppEjbRef30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppInjectionTarget25"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.ejb_reference" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="ejb reference" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always" name="ejb-ref-name" xmlname="ejb-ref-name.#text">
+ <Editor name="Name"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always" name="ejb-ref-type" xmlname="ejb-ref-type.#text">
+ <Constraint loader="List">
+ <value name="Entity"/>
+ <value name="Session"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always" name="home" xmlname="home.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always" name="remote" xmlname="remote.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute name="ejb-link" xmlname="ejb-link.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="mapped-name" xmlname="mapped-name.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="lookup-name" xmlname="lookup-name.#text"/>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Injection Target..." kind="action" name="CreateInjectionTarget">
+ <EntityData EntityName="WebAppInjectionTarget25">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="class"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ <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%" XMLSUBPATH="env-entry" name="WebAppEnvEntry30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppInjectionTarget25"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.env_entry" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="entry" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always"
+ name="env-entry-name" xmlname="env-entry-name.#text"/>
+ <XModelAttribute PROPERTIES="save=always" default="java.lang.String"
+ name="env-entry-type" xmlname="env-entry-type.#text">
+ <Constraint loader="ListString">
+ <value name="java.lang.Boolean"/>
+ <value name="java.lang.String"/>
+ <value name="java.lang.Integer"/>
+ <value name="java.lang.Double"/>
+ <value name="java.lang.Float"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ <XModelAttribute name="env-entry-value" xmlname="env-entry-value.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="mapped-name" xmlname="mapped-name.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="lookup-name" xmlname="lookup-name.#text"/>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Injection Target..." kind="action" name="CreateInjectionTarget">
+ <EntityData EntityName="WebAppInjectionTarget25">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="class"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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="org.jboss.tools.jst.web.webapp.model.WebAppFilterImpl"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData"
+ XMLSUBPATH="filter" name="WebAppFilter30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppInitParam"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.filter" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="filter" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="display-name" xmlname="display-name.#text"/>
+ <XModelAttribute PROPERTIES="category=advanced" name="small-icon" xmlname="icon.small-icon.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="large-icon" xmlname="icon.large-icon.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always;category=general"
+ name="filter-name" xmlname="filter-name.#text"/>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="filter-class" xmlname="filter-class.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced"
+ name="async-supported" xmlname="async-supported.#text">
+ <Constraint loader="ListString">
+ <value/>
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="Create" kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.param"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add Init Param..." kind="action" name="CreateInitParam">
+ <EntityData EntityName="WebAppInitParam">
+ <AttributeData AttributeName="param-name"/>
+ <AttributeData AttributeName="param-value"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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="%WebAppAuxFolder%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderAbsoluteOrderings">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppAbsoluteOrdering"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.components" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="absolute ordering" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;" default="Absolute Orderings"
+ 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="action.new.struts.webapp.mime_mapping"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Absolute Ordering..." kind="action" name="CreateAbsoluteOrdering">
+ <EntityData EntityName="WebAppAbsoluteOrdering">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="others" Mandatory="no"/>
+ </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="%WebAppAuxFolder%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderEJB30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppEjbRef30"/>
+ <XChildEntity name="WebAppEjbLocalRef30"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.components" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="ejb" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;" default="EJB" 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="action.new.struts.webapp.ejb_reference"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Ejb Ref..." kind="action" name="CreateEjbRef">
+ <EntityData EntityName="WebAppEjbRef30">
+ <AttributeData AttributeName="ejb-ref-name"/>
+ <AttributeData AttributeName="ejb-ref-type"/>
+ <AttributeData AttributeName="home"/>
+ <AttributeData AttributeName="remote"/>
+ <AttributeData AttributeName="ejb-link" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.ejb_local_reference"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Ejb Local Ref..." kind="action" name="CreateEjbLocalRef">
+ <EntityData EntityName="WebAppEjbLocalRef30">
+ <AttributeData AttributeName="ejb-ref-name"/>
+ <AttributeData AttributeName="ejb-ref-type"/>
+ <AttributeData AttributeName="local-home"/>
+ <AttributeData AttributeName="local"/>
+ <AttributeData AttributeName="ejb-link" Mandatory="no"/>
+ </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="%WebAppAuxFolder%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderEnvEntries30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppEnvEntry30"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.components" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="env entries" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;" default="Env Entries"
+ 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="action.new.struts.webapp.env_entry"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Env Entry..." kind="action" name="CreateEnvEntry">
+ <EntityData EntityName="WebAppEnvEntry30">
+ <AttributeData AttributeName="env-entry-name"/>
+ <AttributeData AttributeName="env-entry-type"/>
+ <AttributeData AttributeName="env-entry-value" Mandatory="no"/>
+ </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="%WebAppAuxFolder%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderFilters30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppFilter30"/>
+ <XChildEntity name="WebAppFilterMapping24"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.components" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="filters" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;" default="Filters" 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="action.new.struts.webapp.filter"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Filter..." kind="action" name="CreateFilter">
+ <EntityData EntityName="WebAppFilter30">
+ <AttributeData AttributeName="filter-name"/>
+ <AttributeData AttributeName="display-name" Mandatory="no"/>
+ <AttributeData AttributeName="filter-class"/>
+ <AttributeData AttributeName="description" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.filter_mapping"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Filter Mapping..." kind="action" name="CreateFilterMapping">
+ <EntityData EntityName="WebAppFilterMapping24">
+ <AttributeData AttributeName="filter-name"/>
+ <AttributeData AttributeName="url-pattern" Mandatory="no"/>
+ <AttributeData AttributeName="servlet-name" Mandatory="no"/>
+ <AttributeData AttributeName="dispatchers" Mandatory="no"/>
+ </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="%WebAppAuxFolder%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderMessageDestinations30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppMessageDestinationRef30"/>
+ <XChildEntity name="WebAppMessageDestination30"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.components" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="message destinations" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;" default="Message Destinations"
+ 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="action.new.struts.webapp.message"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Message Destination Ref..." kind="action" name="CreateServiceMessageDestinationRef">
+ <EntityData EntityName="WebAppMessageDestinationRef30">
+ <AttributeData AttributeName="message-destination-ref-name"/>
+ <AttributeData AttributeName="message-destination-type"/>
+ <AttributeData AttributeName="message-destination-usage"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.message"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Message Destination..." kind="action" name="CreateServiceMessageDestination">
+ <EntityData EntityName="WebAppMessageDestination30">
+ <AttributeData AttributeName="message-destination-name"/>
+ </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="%WebAppAuxFolder%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderResources30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppResourceEnvRef30"/>
+ <XChildEntity name="WebAppResourceRef30"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.components" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="resources" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;" default="Resources"
+ 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="%CreateForWeb23%"
+ ICON="action.new.struts.webapp.res_env_ref"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Resource Env Ref..." kind="action" name="CreateResourceEnvRef">
+ <EntityData EntityName="WebAppResourceEnvRef30">
+ <AttributeData AttributeName="resource-env-ref-name"/>
+ <AttributeData AttributeName="resource-env-ref-type"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.res_ref"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Resource Ref..." kind="action" name="CreateResourceRef">
+ <EntityData EntityName="WebAppResourceRef30">
+ <AttributeData AttributeName="res-ref-name"/>
+ <AttributeData AttributeName="res-type"/>
+ <AttributeData AttributeName="res-auth"/>
+ </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="%WebAppAuxFolder%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%Ordered%" name="WebAppFolderSecurityConstraints30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppSecurityConstraint30"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.components" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="security constraints" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;" default="Security Constraints"
+ 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="action.new.struts.webapp.security_constraint"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Security Constraint..." kind="action" name="CreateSecurityConstraint">
+ <EntityData EntityName="WebAppSecurityConstraint30">
+ <AttributeData AttributeName="display-name" Mandatory="no"/>
+ </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="%WebAppAuxFolder%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData;children=%EntityOrdered%" name="WebAppFolderServlets30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppServlet30"/>
+ <XChildEntity name="WebAppServletMapping"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.components" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="servlets" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;" default="Servlets" 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="action.new.struts.webapp.servlet"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Servlet..." kind="action" name="CreateServlet">
+ <EntityData EntityName="WebAppServlet30">
+ <AttributeData AttributeName="servlet-name"/>
+ <AttributeData AttributeName="display-name" Mandatory="no"/>
+ <AttributeData AttributeName="servlet-class"/>
+ <AttributeData AttributeName="description" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.servlet_mapping"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Servlet Mapping..." kind="action" name="CreateServletMapping">
+ <EntityData EntityName="WebAppServletMapping">
+ <AttributeData AttributeName="servlet-name"/>
+ <AttributeData AttributeName="url-pattern"/>
+ </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.jst.web.ui.editors.webapp.form.WebAppFormLayoutData"
+ XMLSUBPATH="jsp-property-group" name="WebAppJSPPropertyGroup30">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.param" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="jsp property group" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="name" visibility="false" xmlname="#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="display-name" xmlname="display-name.#text"/>
+ <XModelAttribute PROPERTIES="category=advanced" name="small-icon" xmlname="icon.small-icon.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="large-icon" xmlname="icon.large-icon.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always;category=general"
+ name="url-pattern" xmlname="url-pattern.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="el-ignored" xmlname="el-ignored.#text">
+ <Constraint loader="List">
+ <value name="true"/>
+ <value name="false"/>
+ <value/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="page-encoding" xmlname="page-encoding.#text"/>
+ <XModelAttribute PROPERTIES="category=general"
+ name="scripting-invalid" xmlname="scripting-invalid.#text">
+ <Constraint loader="List">
+ <value name="true"/>
+ <value name="false"/>
+ <value/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="is-xml" xmlname="is-xml.#text">
+ <Constraint loader="List">
+ <value name="true"/>
+ <value name="false"/>
+ <value/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="include-prelude" xmlname="include-prelude.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="include-coda" xmlname="include-coda.#text"/>
+ <XModelAttribute PROPERTIES="category=advanced"
+ name="deferred-syntax-allowed-as-literal" xmlname="deferred-syntax-allowed-as-literal.#text">
+ <Constraint loader="List">
+ <value name="true"/>
+ <value name="false"/>
+ <value/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced"
+ name="trim-directive-whitespaces" xmlname="trim-directive-whitespaces.#text">
+ <Constraint loader="List">
+ <value name="true"/>
+ <value name="false"/>
+ <value/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced"
+ name="default-content-type" xmlname="default-content-type.#text"/>
+ <XModelAttribute PROPERTIES="category=advanced" name="buffer" xmlname="buffer.#text"/>
+ <XModelAttribute PROPERTIES="category=advanced"
+ name="error-on-undeclared-namespace" xmlname="error-on-undeclared-namespace.#text"/>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" 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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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="%Ordered%"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData"
+ XMLSUBPATH="jsp-config" name="WebAppJspConfig30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppTaglib"/>
+ <XChildEntity name="WebAppJSPPropertyGroup30"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.param" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="jsp config" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute default="JSP Config" name="name" xmlname="NAME">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.taglib"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add Taglib..." kind="action" name="CreateTaglib">
+ <EntityData EntityName="WebAppTaglib">
+ <AttributeData AttributeName="taglib-uri"/>
+ <AttributeData AttributeName="taglib-location"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add JSP Property Group..." kind="action" name="CreatePropertyGroup">
+ <EntityData EntityName="WebAppJSPPropertyGroup30">
+ <AttributeData AttributeName="url-pattern"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </XActionItem>
+ <XActionItem ICON="action.delete" displayName="Delete" 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 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="org.jboss.tools.jst.web.webapp.model.WebAppMessageDestinationImpl"
+ XMLSUBPATH="message-destination" name="WebAppMessageDestination30">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.message" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="message destination" 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">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute name="large-icon" xmlname="icon.large-icon.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;id=true"
+ name="message-destination-name" xmlname="message-destination-name.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="mapped-name" xmlname="mapped-name.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="lookup-name" xmlname="lookup-name.#text"/>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" 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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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="org.jboss.tools.jst.web.webapp.model.WebAppMessageDestinationRefImpl"
+ XMLSUBPATH="message-destination-ref" name="WebAppMessageDestinationRef30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppInjectionTarget25"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.message" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="message destination reference"
+ loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;id=true"
+ name="message-destination-ref-name" xmlname="message-destination-ref-name.#text"/>
+ <XModelAttribute PROPERTIES="save=always"
+ name="message-destination-type" xmlname="message-destination-type.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always"
+ name="message-destination-usage" xmlname="message-destination-usage.#text">
+ <Constraint loader="List">
+ <value/>
+ <value name="Consumes"/>
+ <value name="Produces"/>
+ <value name="ConsumesProduces"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute name="message-destination-link" xmlname="message-destination-link.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="mapped-name" xmlname="mapped-name.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="lookup-name" xmlname="lookup-name.#text"/>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Injection Target..." kind="action" name="CreateInjectionTarget">
+ <EntityData EntityName="WebAppInjectionTarget25">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="class"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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%"
+ XMLSUBPATH="multipart-config" name="WebAppMultipartConfig">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.security_role" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="multipart config" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always" name="location" xmlname="location.#text">
+ <Constraint loader="JavaName"/>
+ <Editor name="Name"/>
+ </XModelAttribute>
+ <XModelAttribute name="max-file-size" xmlname="max-file-size.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute name="max-request-size" xmlname="max-request-size.#text">
+ <Constraint loader="ListString"/>
+ <Editor name="WebRoleList"/>
+ </XModelAttribute>
+ <XModelAttribute name="file-size-threshold" xmlname="file-size-threshold.#text">
+ <Constraint loader="ListString"/>
+ <Editor name="WebRoleList"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" 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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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="children=%Ordered%" XMLSUBPATH="web-resource-collection" name="WebAppResourceCollection30">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.web_resource_col" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="web resource collection"
+ loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true" name="web-resource-name" xmlname="web-resource-name.#text"/>
+ <XModelAttribute name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute name="url-patterns" xmlname="url-patterns"/>
+ <XModelAttribute name="http-methods" xmlname="http-methods">
+ <Constraint loader="ListAdd">
+ <value name="GET"/>
+ <value name="POST"/>
+ <value name="PUT"/>
+ <value name="DELETE"/>
+ <value name="HEAD"/>
+ <value name="OPTIONS"/>
+ <value name="TRACE"/>
+ </Constraint>
+ <Editor name="ListAdd"/>
+ </XModelAttribute>
+ <XModelAttribute name="http-method-omissions" xmlname="http-method-omissions">
+ <Constraint loader="ListAdd">
+ <value name="GET"/>
+ <value name="POST"/>
+ <value name="PUT"/>
+ <value name="DELETE"/>
+ <value name="HEAD"/>
+ <value name="OPTIONS"/>
+ <value name="TRACE"/>
+ </Constraint>
+ <Editor name="ListAdd"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" 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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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%"
+ XMLSUBPATH="resource-env-ref" name="WebAppResourceEnvRef30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppInjectionTarget25"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.res_env_ref" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="resource env reference"
+ loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always"
+ name="resource-env-ref-name" xmlname="resource-env-ref-name.#text">
+ <Editor name="Name"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always"
+ name="resource-env-ref-type" xmlname="resource-env-ref-type.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="mapped-name" xmlname="mapped-name.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="lookup-name" xmlname="lookup-name.#text"/>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Injection Target..." kind="action" name="CreateInjectionTarget">
+ <EntityData EntityName="WebAppInjectionTarget25">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="class"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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%" XMLSUBPATH="resource-ref" name="WebAppResourceRef30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppInjectionTarget25"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.res_ref" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="resource reference" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true" name="res-ref-name" xmlname="res-ref-name.#text">
+ <Editor name="Name"/>
+ </XModelAttribute>
+ <XModelAttribute name="res-type" xmlname="res-type.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always" default="Container"
+ name="res-auth" xmlname="res-auth.#text">
+ <Constraint loader="ListString">
+ <value name="Container"/>
+ <value name="Application"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ <XModelAttribute name="res-sharing-scope" visibility="false" xmlname="res-sharing-scope.#text">
+ <Constraint loader="List">
+ <value/>
+ <value name="Shareable"/>
+ <value name="Unshareable"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="mapped-name" xmlname="mapped-name.#text"/>
+ <XModelAttribute PROPERTIES="category=general" name="lookup-name" xmlname="lookup-name.#text"/>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Injection Target..." kind="action" name="CreateInjectionTarget">
+ <EntityData EntityName="WebAppInjectionTarget25">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="class"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </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="org.jboss.tools.jst.web.webapp.model.WebAppSecurityConstraintImpl"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData"
+ XMLSUBPATH="security-constraint" name="WebAppSecurityConstraint30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppResourceCollection30"/>
+ <XChildEntity maxCount="1" name="WebAppAuthConstraint"/>
+ <XChildEntity maxCount="1" name="WebAppUserConstraint"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.security_constraint" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="security constraint" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="display-name" xmlname="display-name.#text"/>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute name="_id_" visibility="false"/>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="Create" kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.web_resource_col"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add Web Resource Collection..." kind="action" name="CreateResourceCollection">
+ <EntityData EntityName="WebAppResourceCollection30">
+ <AttributeData AttributeName="web-resource-name"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.auth_constraint"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add Auth Constraint..." kind="action" name="CreateAuthConstraint">
+ <EntityData EntityName="WebAppAuthConstraint">
+ <AttributeData AttributeName="description" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.user_constraint"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add User Data Constraint..." kind="action" name="CreateUserConstraint">
+ <EntityData EntityName="WebAppUserConstraint">
+ <AttributeData AttributeName="transport-guarantee"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ <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="org.jboss.tools.jst.web.webapp.model.WebAppServletImpl"
+ PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jst.web.ui.editors.webapp.form.WebAppFormLayoutData"
+ XMLSUBPATH="servlet" name="WebAppServlet30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppInitParam"/>
+ <XChildEntity maxCount="1" name="WebAppRunAs"/>
+ <XChildEntity name="WebAppSecurityRoleRef"/>
+ <XChildEntity name="WebAppMultipartConfig"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.servlet" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="servlet" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="small-icon" xmlname="icon.small-icon.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="large-icon" xmlname="icon.large-icon.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=gif,jpg"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always;category=general"
+ name="servlet-name" xmlname="servlet-name.#text"/>
+ <XModelAttribute PROPERTIES="category=advanced" name="display-name" xmlname="display-name.#text"/>
+ <XModelAttribute PROPERTIES="category=advanced" name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="servlet-class" xmlname="servlet-class.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=advanced" name="jsp-file" xmlname="jsp-file.#text">
+ <Constraint loader="Tree">
+ <value name="WebPageTree"/>
+ <value name="extensions=jsp,html,htm"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="load-on-startup" xmlname="load-on-startup.#text">
+ <Constraint loader="Int">
+ <value name="mandatory=false"/>
+ </Constraint>
+ <Editor name="Int"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="enabled" xmlname="enabled.#text">
+ <Constraint loader="ListString">
+ <value/>
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="async-supported" xmlname="async-supported.#text">
+ <Constraint loader="ListString">
+ <value/>
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="Create" kind="list" name="CreateActions">
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.param"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add Init Param..." kind="action" name="CreateInitParam">
+ <EntityData EntityName="WebAppInitParam">
+ <AttributeData AttributeName="param-name"/>
+ <AttributeData AttributeName="param-value"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%CreateForWeb23%"
+ ICON="action.new.struts.webapp.run_as"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Run As..." kind="action" name="CreateRunAs">
+ <EntityData EntityName="WebAppRunAs">
+ <AttributeData AttributeName="role-name"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.security_role"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add Security Role Ref..." kind="action" name="CreateSecurityRoleRef">
+ <EntityData EntityName="WebAppSecurityRoleRef">
+ <AttributeData AttributeName="role-name"/>
+ <AttributeData AttributeName="role-link" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.security_role"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add Multipart Config..." kind="action" name="CreateMultipartConfig">
+ <EntityData EntityName="WebAppMultipartConfig">
+ <AttributeData AttributeName="location"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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.copy" displayName="Cut" kind="action" name="Cut"/>
+ <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="org.jboss.tools.jst.web.webapp.model.WebAppSessionConfigImpl"
+ XMLSUBPATH="session-config" name="WebAppSessionConfig30">
+ <XChildrenEntities>
+ <XChildEntity name="WebAppCookieConfig"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.struts.webapp.session" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute name="session-timeout" xmlname="session-timeout.#text">
+ <Constraint loader="Int">
+ <value name="mandatory=false"/>
+ </Constraint>
+ <Editor name="Int"/>
+ </XModelAttribute>
+ <XModelAttribute name="tracking-modes" xmlname="tracking-modes">
+ <Constraint loader="ListAdd">
+ <value name="COOKIE"/>
+ <value name="SSL"/>
+ <value name="URL"/>
+ </Constraint>
+ <Editor name="ListAdd"/>
+ </XModelAttribute>
+ <XModelAttribute name="id" visibility="false" xmlname="id"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" 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.copy" displayName="Cut" kind="action" name="Cut"/>
+ </XActionItem>
+ <XActionItem ICON="action.delete" displayName="Delete" kind="list" name="DeleteActions"/>
+ <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="FileWebApp30"/>
+ </XChildrenEntities>
+ <XActionItem kind="list"/>
+ </XEntityExtension>
+ <XEntityExtension name="FileSystemFolder">
+ <XChildrenEntities>
+ <XChildEntity name="FileWebApp30"/>
+ </XChildrenEntities>
+ <XActionItem kind="list"/>
+ </XEntityExtension>
+ <XEntityExtension name="FileSystemJar">
+ <XChildrenEntities>
+ <XChildEntity name="FileWebApp30"/>
+ </XChildrenEntities>
+ <XActionItem kind="list"/>
+ </XEntityExtension>
+ <XEntityExtension name="JarFolder">
+ <XChildrenEntities>
+ <XChildEntity name="FileWebApp30"/>
+ </XChildrenEntities>
+ <XActionItem kind="list"/>
+ </XEntityExtension>
+</XModelEntityGroup>
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/model/helpers/WebAppHelper.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/model/helpers/WebAppHelper.java 2010-03-09 14:38:14 UTC (rev 20706)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/model/helpers/WebAppHelper.java 2010-03-09 17:27:13 UTC (rev 20707)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.jst.web.model.helpers;
+import org.jboss.tools.common.meta.XModelEntity;
import org.jboss.tools.common.meta.action.impl.handlers.DefaultCreateHandler;
import org.jboss.tools.common.model.XModel;
import org.jboss.tools.common.model.XModelException;
@@ -22,11 +23,13 @@
public class WebAppHelper {
public static String CONTEXT_PARAM_ENTITY = "WebAppContextParam"; //$NON-NLS-1$
public static String FILTER_ENTITY = "WebAppFilter"; //$NON-NLS-1$
+ public static String FILTER_30_ENTITY = "WebAppFilter30"; //$NON-NLS-1$
public static String FILTER_MAPPING_ENTITY = "WebAppFilterMapping"; //$NON-NLS-1$
public static String FILTER_MAPPING_24_ENTITY = "WebAppFilterMapping24"; //$NON-NLS-1$
public static String LISTENER_ENTITY = "WebAppListener"; //$NON-NLS-1$
public static String LISTENER_24_ENTITY = "WebAppListener24"; //$NON-NLS-1$
public static String SERVLET_ENTITY = "WebAppServlet"; //$NON-NLS-1$
+ public static String SERVLET_30_ENTITY = "WebAppServlet30"; //$NON-NLS-1$
public static String SERVLET_MAPPING_ENTITY = "WebAppServletMapping"; //$NON-NLS-1$
public static String TAGLIB_ENTITY = "WebAppTaglib"; //$NON-NLS-1$
public static String ROLE_ENTITY = "WebAppSecurityRole"; //$NON-NLS-1$
@@ -63,7 +66,7 @@
if(webxml == null) return null;
XModelObject folder = webxml.getChildByPath(SERVLET_FOLDER);
if(folder == null) folder = webxml;
- return folder.getChildren(SERVLET_ENTITY);
+ return folder.getChildren(getServletEntity(folder.getModelEntity()));
}
public static XModelObject[] getServletMappings(XModelObject webxml) {
@@ -106,7 +109,7 @@
if(s == null) {
XModelObject folder = webxml.getChildByPath(SERVLET_FOLDER);
if(folder == null) folder = webxml;
- s = webxml.getModel().createModelObject(SERVLET_ENTITY, null);
+ s = webxml.getModel().createModelObject(getServletEntity(folder.getModelEntity()), null);
s.setAttributeValue("servlet-name", servletName); //$NON-NLS-1$
s.setAttributeValue("servlet-class", className); //$NON-NLS-1$
DefaultCreateHandler.addCreatedObject(folder, s, -1);
@@ -116,6 +119,11 @@
}
return s;
}
+
+ public static String getServletEntity(XModelEntity folder) {
+ if(folder != null && folder.getChild(SERVLET_30_ENTITY) != null) return SERVLET_30_ENTITY;
+ return SERVLET_ENTITY;
+ }
/**
* Returns model object representing <servlet-mapping> with
@@ -326,6 +334,9 @@
if(webxml == null) return null;
XModelObject folder = webxml.getChildByPath(FILTER_FOLDER);
if(folder == null) folder = webxml;
+ if(folder.getModelEntity().getChild(FILTER_30_ENTITY) != null) {
+ folder.getChildren(FILTER_30_ENTITY);
+ }
return folder.getChildren(FILTER_ENTITY);
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/TLDUtil.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/TLDUtil.java 2010-03-09 14:38:14 UTC (rev 20706)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/TLDUtil.java 2010-03-09 17:27:13 UTC (rev 20707)
@@ -17,8 +17,8 @@
static String TAG_ENTITIES = ".TLDTag.TLDTag12.TLDTag20.TLDTag21."; //$NON-NLS-1$
static String ATTR_ENTITIES = ".TLDAttribute.TLDAttribute12.TLDAttribute20.TLDAttribute2F."; //$NON-NLS-1$
- static String FACELET_TAGLIB_ENTITIES = ".FileFaceletTaglib."; //$NON-NLS-1$
- static String FACELET_TAG_ENTITIES = ".FaceletTaglibTag."; //$NON-NLS-1$
+ static String FACELET_TAGLIB_ENTITIES = ".FileFaceletTaglib.FileFaceletTaglib20."; //$NON-NLS-1$
+ static String FACELET_TAG_ENTITIES = ".FaceletTaglibTag.FaceletTaglibTag20."; //$NON-NLS-1$
public static boolean isTaglib(XModelObject o) {
return isOfEntity(o, FILE_ENTITIES);
Added: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppFilteredTreeConstraint.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppFilteredTreeConstraint.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppFilteredTreeConstraint.java 2010-03-09 17:27:13 UTC (rev 20707)
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and 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:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.web.webapp.model;
+
+import java.util.Properties;
+
+import org.jboss.tools.common.meta.XChild;
+import org.jboss.tools.common.meta.XModelEntity;
+import org.jboss.tools.common.model.XFilteredTreeConstraint;
+import org.jboss.tools.common.model.XModel;
+import org.jboss.tools.common.model.XModelObject;
+
+public class FileWebAppFilteredTreeConstraint implements XFilteredTreeConstraint {
+
+ public void update(XModel model) {
+ }
+
+ public boolean isHidingAllChildren(XModelObject object) {
+ return false;
+ }
+
+ static Properties checkedEntities = new Properties();
+
+ boolean checkEntity(XModelEntity entity) {
+ String res = checkedEntities.getProperty(entity.getName());
+ if(res != null) return "true".equals(res); //$NON-NLS-1$
+ XChild[] cs = entity.getChildren();
+ for (int i = 0; i < cs.length; i++) {
+ String n = cs[i].getName();
+ if(n.startsWith("WebAppFolder")) { //$NON-NLS-1$
+ checkedEntities.setProperty(n, "true"); //$NON-NLS-1$
+ return true;
+ }
+ }
+ checkedEntities.setProperty(entity.getName(), "false"); //$NON-NLS-1$
+ return false;
+ }
+
+ public boolean isHidingSomeChildren(XModelObject object) {
+ ///if(true) return false;
+ return checkEntity(object.getModelEntity());
+ }
+
+ public boolean accepts(XModelObject object) {
+ String entity = object.getModelEntity().getName();
+ if(entity.startsWith("WebAppFolder") && object.getChildren().length == 0) return false; //$NON-NLS-1$
+ return true;
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppFilteredTreeConstraint.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppLoader.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppLoader.java 2010-03-09 14:38:14 UTC (rev 20706)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppLoader.java 2010-03-09 17:27:13 UTC (rev 20707)
@@ -10,6 +10,8 @@
******************************************************************************/
package org.jboss.tools.jst.web.webapp.model;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Set;
import org.w3c.dom.*;
@@ -37,9 +39,12 @@
protected Set<String> getAllowedChildren(XModelEntity entity) {
Set<String> children = super.getAllowedChildren(entity);
- if("WebAppResourceCollection".equals(entity.getName())) { //$NON-NLS-1$
+ if(entity.getName().startsWith("WebAppResourceCollection")) { //$NON-NLS-1$
children.add("url-pattern"); //$NON-NLS-1$
children.add("http-method"); //$NON-NLS-1$
+ if("WebAppResourceCollection30".equals(entity.getName())) { //$NON-NLS-1$
+ children.add("http-method-omission"); //$NON-NLS-1$
+ }
} else if("WebAppServiceRef".equals(entity.getName())) { //$NON-NLS-1$
children.add("port-component-ref"); //$NON-NLS-1$
children.add("handler"); //$NON-NLS-1$
@@ -47,12 +52,15 @@
children.add("dispatcher"); //$NON-NLS-1$
} else if(entity.getName().startsWith("FileWebApp")) { //$NON-NLS-1$
children.add("distributable"); //$NON-NLS-1$
+ } else if(entity.getName().startsWith("WebAppAbsoluteOrdering")) { //$NON-NLS-1$
+ children.add("others"); //$NON-NLS-1$
+ } else if(entity.getName().equals("WebAppSessionConfig30")) { //$NON-NLS-1$
+ children.add("tracking-mode"); //$NON-NLS-1$
}
return children;
}
protected boolean isSaveable(XModelEntity entity, String n, String v, String dv) {
- if("load-on-startup".equals(n)) return false; //$NON-NLS-1$
if(v == null) return false;
if(v.length() == 0 || v.equals(dv)) {
XAttribute attr = entity.getAttribute(n);
@@ -64,18 +72,24 @@
public String getAttribute(Element element, String xmlname, XAttribute attr) {
if("distributable".equals(xmlname)) //$NON-NLS-1$
return (XMLUtil.getUniqueChild(element, "distributable") != null) ? "yes" : "no"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ if("others".equals(xmlname)) //$NON-NLS-1$
+ return (XMLUtil.getUniqueChild(element, "others") != null) ? "true" : "false"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
if("role-names".equals(xmlname)) //$NON-NLS-1$
return loadArray(element, "role-name"); //$NON-NLS-1$
if("url-patterns".equals(xmlname)) //$NON-NLS-1$
return loadArray(element, "url-pattern"); //$NON-NLS-1$
if("http-methods".equals(xmlname)) //$NON-NLS-1$
return loadArray(element, "http-method"); //$NON-NLS-1$
+ if("http-method-omissions".equals(xmlname)) //$NON-NLS-1$
+ return loadArray(element, "http-method-omission"); //$NON-NLS-1$
if("handlers".equals(xmlname)) //$NON-NLS-1$
return loadArray(element, "handler"); //$NON-NLS-1$
if("port-component-refs".equals(xmlname)) //$NON-NLS-1$
return loadArray(element, "port-component-ref"); //$NON-NLS-1$
if("dispatchers".equals(xmlname)) //$NON-NLS-1$
return loadArray(element, "dispatcher"); //$NON-NLS-1$
+ if("tracking-modes".equals(xmlname)) //$NON-NLS-1$
+ return loadArray(element, "tracking-mode"); //$NON-NLS-1$
return super.getAttribute(element, xmlname, attr);
}
@@ -84,13 +98,13 @@
String entity = o.getModelEntity().getName();
if("WebAppErrorPage".equals(entity)) { //$NON-NLS-1$
eitherOr(element, WebAppConstants.ERROR_CODE, WebAppConstants.EXCEPTION_TYPE);
- } else if(WebAppHelper.FILTER_ENTITY.equals(entity) || entity.startsWith(WebAppHelper.FILTER_MAPPING_ENTITY)) {
+ } else if(entity.startsWith(WebAppHelper.FILTER_ENTITY)) { // both filter and filter mapping
eitherOr(element, WebAppConstants.URL_PATTERN, WebAppConstants.SERVLET_NAME);
- } else if(WebAppHelper.SERVLET_ENTITY.equals(entity)) {
+ } else if(WebAppHelper.SERVLET_ENTITY.equals(entity) || WebAppHelper.SERVLET_30_ENTITY.equals(entity)) {
eitherOr(element, WebAppConstants.SERVLET_CLASS, WebAppConstants.JSP_FILE);
}
if(schema) {
- if(o.getModelEntity().getAttribute("description") != null) { //$NON-NLS-1$
+ if(o.getModelEntity().getAttribute("description") != null && !o.getModelEntity().getName().startsWith("WebAppResourceCollection")) { //$NON-NLS-1$ //$NON-NLS-2$
makeChildrenFirst(element, new String[]{"description", "display-name", "icon"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
if("WebAppEnvEntry".equals(o.getModelEntity().getName())) { //$NON-NLS-1$
@@ -106,18 +120,24 @@
public void saveAttribute(Element element, String xmlname, String value) {
if("distributable".equals(xmlname)) { //$NON-NLS-1$
if("yes".equals(value)) XMLUtil.createElement(element, "distributable"); //$NON-NLS-1$ //$NON-NLS-2$
+ } else if("others".equals(xmlname)) { //$NON-NLS-1$
+ if("true".equals(value)) XMLUtil.createElement(element, "others"); //$NON-NLS-1$ //$NON-NLS-2$
} else if("role-names".equals(xmlname)) { //$NON-NLS-1$
saveArray(element, "role-name", value); //$NON-NLS-1$
} else if("url-patterns".equals(xmlname)) { //$NON-NLS-1$
saveArray(element, "url-pattern", value); //$NON-NLS-1$
} else if("http-methods".equals(xmlname)) { //$NON-NLS-1$
saveArray(element, "http-method", value); //$NON-NLS-1$
+ } else if("http-method-omissions".equals(xmlname)) { //$NON-NLS-1$
+ saveArray(element, "http-method-omission", value); //$NON-NLS-1$
} else if("handlers".equals(xmlname)) { //$NON-NLS-1$
saveArray(element, "handler", value); //$NON-NLS-1$
} else if("port-component-refs".equals(xmlname)) { //$NON-NLS-1$
saveArray(element, "port-component-ref", value); //$NON-NLS-1$
} else if("dispatchers".equals(xmlname)) { //$NON-NLS-1$
saveArray(element, "dispatcher", value); //$NON-NLS-1$
+ } else if("tracking-modes".equals(xmlname)) { //$NON-NLS-1$
+ saveArray(element, "tracking-mode", value); //$NON-NLS-1$
} else {
super.saveAttribute(element, xmlname, value);
}
@@ -130,19 +150,30 @@
} else if(WebAppHelper.FILTER_MAPPING_24_ENTITY.equals(entity)) {
return true;
- } else if(!"WebAppServlet".equals(entity)) { //$NON-NLS-1$
+ } else if(entity.equals(WebAppHelper.SERVLET_ENTITY) || entity.equals(WebAppHelper.SERVLET_30_ENTITY)) {
boolean b = super.saveChildren(element, o);
+ String afterName = null;
+ String[] cs = {"run-as", "security-role-ref", "multipart-config"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ for (int i = 0; i < cs.length && afterName == null; i++) if(XMLUtilities.getChildren(element, cs[i]).length > 0) {
+ afterName = cs[i];
+ }
+ String[] attrs = {"load-on-startup", "enabled", "async-supported"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ for (String a: attrs) if(o.getModelEntity().getAttribute(a) != null) {
+ moveChild(element, a, afterName);
+ }
+ } else {
+ boolean b = super.saveChildren(element, o);
if(o.getModelEntity().getAttribute("mapped-name") != null) { //$NON-NLS-1$
moveChild(element, "mapped-name", "injection-target"); //$NON-NLS-1$ //$NON-NLS-2$
}
+ if(o.getModelEntity().getAttribute("lookup-name") != null) { //$NON-NLS-1$
+ moveChild(element, "lookup-name", null); //$NON-NLS-1$
+ }
+ if(o.getModelEntity().getAttribute("tracking-modes") != null) { //$NON-NLS-1$
+ moveChild(element, "tracking-mode", null); //$NON-NLS-1$ //$NON-NLS-2$
+ }
return b;
}
- saveChildren(element, o, "WebAppInitParam"); //$NON-NLS-1$
- String l = o.getAttributeValue("load-on-startup"); //$NON-NLS-1$
- if(l.length() > 0) saveAttribute(element, "load-on-startup.#text", l); //$NON-NLS-1$
- saveChildren(element, o, "WebAppRunAs"); //$NON-NLS-1$
- saveChildren(element, o, "WebAppSecurityRoleRef"); //$NON-NLS-1$
-
return true;
}
@@ -220,24 +251,25 @@
private void moveChild(Element element, String child, String childAfter) {
NodeList l = element.getChildNodes();
- Element childE = null;
+ List<Element> childE = null;
Element childAfterE = null;
for (int i = 0; i < l.getLength(); i++) {
Node n = l.item(i);
if(n.getNodeType() != Node.ELEMENT_NODE) continue;
String name = n.getNodeName();
if(child.equals(name)) {
- childE = (Element)n;
- } else if(childAfter.equals(name)) {
+ if(childE == null) childE = new ArrayList<Element>();
+ childE.add((Element)n);
+ } else if(name.equals(childAfter)) {
if(childAfterE == null) childAfterE = (Element)n;
}
}
- if(childE != null) {
- element.removeChild(childE);
+ if(childE != null) for (Element c: childE) {
+ element.removeChild(c);
if(childAfterE != null) {
- element.insertBefore(childE, childAfterE);
+ element.insertBefore(c, childAfterE);
} else {
- element.appendChild(childE);
+ element.appendChild(c);
}
}
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppRecognizer.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppRecognizer.java 2010-03-09 14:38:14 UTC (rev 20706)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/FileWebAppRecognizer.java 2010-03-09 17:27:13 UTC (rev 20707)
@@ -38,14 +38,23 @@
if(xml.getSystemId() != null && xml.getSystemId().indexOf("web-app_2_3.dtd") >= 0) return "FileWebApp"; //$NON-NLS-1$ //$NON-NLS-2$
return null;
}
-
- return (body.indexOf("<web-app") >= 0 //$NON-NLS-1$
- && body.indexOf("version=\"2.4\"") > 0 //$NON-NLS-1$
- && body.indexOf("xmlns=\"http://java.sun.com/xml/ns/j2ee\"") > 0) ? "FileWebApp24" : //$NON-NLS-1$ //$NON-NLS-2$
- (body.indexOf("<web-app") >= 0 //$NON-NLS-1$
- && body.indexOf("version=\"2.5\"") > 0 //$NON-NLS-1$
- && body.indexOf("xmlns=\"http://java.sun.com/xml/ns/javaee\"") > 0) ? "FileWebApp25" : //$NON-NLS-1$ //$NON-NLS-2$
- null;
+
+ if(body.indexOf("<web-app") >= 0) { //$NON-NLS-1$
+ if(body.indexOf("xmlns=\"http://java.sun.com/xml/ns/j2ee\"") > 0) { //$NON-NLS-1$
+ if(body.indexOf("version=\"2.4\"") > 0) { //$NON-NLS-1$
+ return "FileWebApp24"; //$NON-NLS-1$
+ }
+ } else if(body.indexOf("xmlns=\"http://java.sun.com/xml/ns/javaee\"") > 0) { //$NON-NLS-1$
+ if(body.indexOf("version=\"2.5\"") > 0) { //$NON-NLS-1$
+ return "FileWebApp25"; //$NON-NLS-1$
+ } else if(body.indexOf("version=\"3.0\"") > 0) { //$NON-NLS-1$
+ return "FileWebApp30"; //$NON-NLS-1$
+ }
+
+ }
+ }
+
+ return null;
}
}
Added: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/WebAppAuxFolderImpl.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/WebAppAuxFolderImpl.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/WebAppAuxFolderImpl.java 2010-03-09 17:27:13 UTC (rev 20707)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and 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:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.web.webapp.model;
+
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.impl.CustomizedObjectImpl;
+import org.jboss.tools.common.model.impl.XModelImpl;
+
+public class WebAppAuxFolderImpl extends CustomizedObjectImpl {
+ private static final long serialVersionUID = 5190269651082395100L;
+
+ public boolean addChild(XModelObject object) {
+ boolean b = super.addChild(object);
+ if(b && isActive() && children.size() == 1) {
+ notifyParent();
+ }
+ return b;
+ }
+
+ public void removeChild(XModelObject child) {
+ super.removeChild(child);
+ if(isActive() && children.size() == 0) {
+ notifyParent();
+ }
+ }
+
+ private void notifyParent() {
+ ((XModelImpl)getModel()).fireStructureChanged(getParent());
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/webapp/model/WebAppAuxFolderImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
14 years, 10 months
JBoss Tools SVN: r20706 - trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/model.
by jbosstools-commits@lists.jboss.org
Author: vyemialyanchyk
Date: 2010-03-09 09:38:14 -0500 (Tue, 09 Mar 2010)
New Revision: 20706
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/model/Connection.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5897 - fixed
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/model/Connection.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/model/Connection.java 2010-03-09 04:12:08 UTC (rev 20705)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/model/Connection.java 2010-03-09 14:38:14 UTC (rev 20706)
@@ -34,7 +34,7 @@
private static IPropertyDescriptor[] descriptors_connection_foreign_key_constraint;
private static final String PROPERTY_SOURCE = "source"; //$NON-NLS-1$
- private static final String PROPERTY_TARGET = "targer"; //$NON-NLS-1$
+ private static final String PROPERTY_TARGET = "target"; //$NON-NLS-1$
private static final String PROPERTY_TYPE = "type"; //$NON-NLS-1$
private static final String PROPERTY_CLASS_NAME = "className"; //$NON-NLS-1$
private static final String PROPERTY_TABLE_NAME = "tableName"; //$NON-NLS-1$
14 years, 10 months
JBoss Tools SVN: r20705 - in trunk/documentation/guides/GettingStartedGuide: en-US and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: irooskov(a)redhat.com
Date: 2010-03-08 23:12:08 -0500 (Mon, 08 Mar 2010)
New Revision: 20705
Added:
trunk/documentation/guides/GettingStartedGuide/en-US/
trunk/documentation/guides/GettingStartedGuide/en-US/Author_Group.xml
trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml
trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.ent
trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.xml
trunk/documentation/guides/GettingStartedGuide/en-US/Preface.xml
trunk/documentation/guides/GettingStartedGuide/en-US/Revision_History.xml
trunk/documentation/guides/GettingStartedGuide/en-US/database.zip
trunk/documentation/guides/GettingStartedGuide/en-US/first_seam.xml
trunk/documentation/guides/GettingStartedGuide/en-US/further_reading.xml
trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml
trunk/documentation/guides/GettingStartedGuide/en-US/gsg_faq.xml
trunk/documentation/guides/GettingStartedGuide/en-US/images/
trunk/documentation/guides/GettingStartedGuide/en-US/images/favicon0.ico
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam10.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam11.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam12.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam13.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam14.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam15.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam16.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam17.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam18.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam19.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam2.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam20.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam21.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam22.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam23.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam24.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam25.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam26.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam27.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam28.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam29.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam3.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam30.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam31.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam32.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam33.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam34.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam34a.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam35.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam36.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam37.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam38.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam39.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam4.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam40.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam41.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam42.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam43.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam44.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam45.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam46.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam47.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam48.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam49.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam5.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam6.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam7.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam8.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam8_1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam9.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_10.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_2.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_2.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_3_1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_4.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4a.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4b.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4c.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4d.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4e.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4f.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_5.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_6.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_7.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_8.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_9.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/update_wizard_1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/update_wizard_2.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_10.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_11.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_12.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_13.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_14.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_15.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_16.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_17.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_18.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_19_finger_touch.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_2.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_3.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_4.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_5.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_6.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_8.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_9.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/eap5runtime.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_11.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_15.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_16.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_17.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_3.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_4.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_6.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_8.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_9.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/
trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_2.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_3.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_4.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_5.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_user_site.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/preferences.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_1.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_10.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_11.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_12.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_13.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_14.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_15.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_16.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_17.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_18.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_19.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_2.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_20.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_21.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_22.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_23.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_3.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_4.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_5.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_6.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_7.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_8.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_8a.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_8b.png
trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_9.png
trunk/documentation/guides/GettingStartedGuide/en-US/jsp_application.xml
trunk/documentation/guides/GettingStartedGuide/en-US/manage.xml
trunk/documentation/guides/GettingStartedGuide/en-US/master.xml
trunk/documentation/guides/GettingStartedGuide/en-US/master_output.xml
trunk/documentation/guides/GettingStartedGuide/en-US/project_examples.xml
trunk/documentation/guides/GettingStartedGuide/en-US/rad_jsf_application.xml
trunk/documentation/guides/GettingStartedGuide/publican.cfg
Removed:
trunk/documentation/guides/GettingStartedGuide/en/
Modified:
trunk/documentation/guides/GettingStartedGuide/pom.xml
Log:
updated book to build with both publican and maven
Added: trunk/documentation/guides/GettingStartedGuide/en-US/Author_Group.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/Author_Group.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/Author_Group.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<authorgroup><author><firstname>JBoss Tools Team</firstname></author></authorgroup>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<bookinfo><title>Getting Started Guide</title><subtitle>Provides information relating to the BPMN Convert module.</subtitle><productname>JBoss Developer Studio</productname><productnumber>3.0</productnumber><edition>1.0</edition><pubsnumber>0</pubsnumber><abstract><para>The Getting Started Guide explains the JBoss Developer Studio.</para></abstract><corpauthor><inlinemediaobject><imageobject><imagedata fileref="Common_Content/images/title_logo.svg" format="SVG"></imagedata></imageobject></inlinemediaobject></corpauthor><xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include><xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include></bookinfo>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.ent
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.ent (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.ent 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,4 @@
+<!ENTITY PRODUCT "JBoss">
+<!ENTITY BOOKID "Getting_Started_Guide">
+<!ENTITY YEAR "2010">
+<!ENTITY HOLDER "Red Hat">
Added: trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<book>
+<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="getting_started.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="manage.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="first_seam.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="jsp_application.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="rad_jsf_application.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="project_examples.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="gsg_faq.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="further_reading.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+</book>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/Preface.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/Preface.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/Preface.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<preface><title>Preface</title><xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include><xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include></xi:fallback></xi:include></preface>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/Revision_History.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/Revision_History.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/Revision_History.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<appendix><title>Revision History</title><simpara><revhistory><revision><revnumber>0</revnumber><date>Fri Nov 20 2009</date><author><firstname>Isaac</firstname><surname>Rooskov</surname><email>irooskov(a)redhat.com</email></author><revdescription><simplelist><member>Initial creation of book by publican</member></simplelist></revdescription></revision></revhistory></simpara></appendix>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/database.zip
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/database.zip
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/first_seam.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/first_seam.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/first_seam.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,1009 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="first_seam" xreflabel="first_seam">
+ <?dbhtml filename="first_seam.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Write Your First Project with JBoss Developer Studio</title>
+
+ <para>This chapter is a set of hands-on labs. You get step-by-step information about how the JBoss
+ Developer Studio can be used during the development process.</para>
+
+ <section id="create_seam_application">
+ <title>Create a Seam Application</title>
+
+ <para>In this section you get to know how to create a Seam project in JBDS, how to start the
+ server and what a structure your project has after creating.</para>
+
+ <section id="start_dev_db">
+ <title>Start Development Database</title>
+
+ <para>Before opening the JBoss Developer studio you need to <ulink
+ url="http://anonsvn.jboss.org/repos/jbosstools/trunk/documentation/guides/Gett..."
+ >download</ulink> and start a Workshop Database.</para>
+ <para>To start the database just run <property>./runDBServer.sh</property> or
+ <property>runDBServer.bat</property> from the database directory.</para>
+ <para>The end result should be a console window that looks like:</para>
+
+ <figure>
+ <title>Starting DataBase</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="create_deploy_seam">
+ <title>Create and deploy Seam Web Project</title>
+
+ <para>Minimize the terminal window and run the <property>JBoss Developer Studio</property>
+ from Applications Menu or from the desktop icon.</para>
+ <para>First of all you get the Workspace Launcher. Change the default workspace location if
+ it's needed. Click on <property>Ok</property>. </para>
+
+ <figure>
+ <title>Workspace Launcher Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After startup, you see the welcome page. You could read how to work with welcome pages
+ in <link linkend="Welcome">previous</link> chapter. Now select <property>Create
+ New...</property> icon and then press on <property>Create Seam Project</property>
+ link.</para>
+
+ <para>The <property>New Seam Project wizard</property> is started. You need to enter a name
+ (e.g., "workshop") and a location directory for your new project. The
+ wizard has an option for selecting the actual Server (and not just WTP runtime) that will be
+ used for the project. This allows the wizard to correctly identify where the needed
+ datasource and driver libraries need to go.</para>
+
+ <figure>
+ <title>New Seam Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>All settings are already specified here, you can just modify the Configuration. Click on
+ the <emphasis>
+ <property>Modify...</property>
+ </emphasis> button to configure your custom facets pattern:</para>
+
+
+ <figure id="ProjectFacetsSpecifyingScreen">
+ <title>Project Facets Specifying</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the whole the dialog allows to select the "features" you want to use in your project.
+ Doing this <property>JBoss Developer Studio</property> setups the appropriate tooling for
+ your project. Since JBoss Seam integrates all popular Java EE frameworks, you can select any
+ combination of technologies from the list. Here, for the default configuration, Dynamic Web
+ Module, Java, JavaServer Faces (JSF), and Seam Facet are already selected for a typical
+ database-driven web application. The default project facets should suffice.</para>
+
+ <para>In the <property>Project Facets</property> form you can also bring up server runtimes
+ panel by clicking <property> Runtimes</property> tab on the right corner. This panel shows
+ available server runtimes.</para>
+
+ <figure>
+ <title>Runtimes Selecting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Click on <emphasis>
+ <property>Ok</property>
+ </emphasis> and then <emphasis>
+ <property>Next</property>
+ </emphasis> to proceed further.</para>
+
+ <para>A dynamic web application contains both web pages and Java code. The wizard will ask you
+ where you want to put those files. You can just leave the default values or choose another
+ folder.</para>
+
+ <figure>
+ <title>Web Module Settings</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the next form, you will be able to select where those library JARs come from. The
+ easiest is just to select the JARs provided by the JBoss AS runtime associated with this
+ project. That is why it is important to chose the right JBoss AS 4.2 runtime in the project
+ setup window.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Check <emphasis>
+ <property>Server Supplied JSF Implementation</property>
+ </emphasis>. We will use the JSF
+ implementation that comes with JBoss server</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Next</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>JSF Capabilities Adding</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam7.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Next wizard step needs more settings that previous. Let's start with
+ <property>General</property> section.</para>
+ <para>Leave the default Seam runtime and check a WAR deployment.</para>
+
+ <figure>
+ <title>Seam Facet Setting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Next <property>Database</property> section is a little tricky. The <property>Connection
+ Profile</property> needs to be edited so that the new project works properly with the
+ external HSQLDB server. By default the project wizard tries to use the JBoss embedded
+ HSQLDB, but the tutorial uses an external database to replicate a more real world
+ development scenario. Click on <property>Edit</property> to modify the Connection
+ Profile.</para>
+
+ <figure>
+ <title>DataBase Setting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam8_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Select <property>JDBC Connection Properties</property>. Make sure the URL is set to <emphasis>
+ <property>jdbc:hsqldb:hsql://localhost:1701</property>
+ </emphasis></para>
+
+ <figure>
+ <title>JDBC Connection Properties</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Try click on <property>Test Connection</property> button. It probably won’t work. This
+ happens if the hsql jdbc driver is not exactly the same. This can be worked around by
+ modifying the HSQLDB database driver settings. To modify the settings, click the
+ <property>“...”</property> next to the drop-down box.</para>
+
+ <para>The proper Driver JAR File should be listed under <property>Driver File(s)</property>.
+ Select the hsqldb.jar file found in the database/lib directory and click on
+ <property>Ok</property>.</para>
+
+ <figure>
+ <title>Driver Details</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam10.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Select <property>Hypersonic DB</property> and click on <property>Ok</property>. Again,
+ this only happens if the selected hsqldb.jar is different from the running database.</para>
+
+ <figure>
+ <title>Hypersonic DB Selecting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam11.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, the <property>Test Connection</property> should succeed. After testing the
+ connection, click on Ok.</para>
+
+ <figure>
+ <title>Connection Testing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam12.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You can leave the <property>Code Generation</property> section as is. It refers to Java
+ packages in which the generated code will be placed.</para>
+
+ <figure>
+ <title>Code Generation Setting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam13.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Click on <property>Finish</property> button. Now, there should be a new Seam project
+ called “workshop” listed in Package Explorer view.</para>
+
+ <figure>
+ <title>"worskhop" Project in the Package Explorer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam14.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="start_JBossAS">
+ <title>Start JBoss Application Server</title>
+
+ <para>The complete information on how to manage JBoss AS from JBoss Developer Studio you can
+ read in a <link linkend="manage">corresponding chapter</link>.</para>
+ <para>Now you just need to start the server by clicking on the Start the server icon (
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam15.png"/>
+ </imageobject>
+ </inlinemediaobject> ) in the
+ JBoss Server View.</para>
+
+ <para>Then run the project by selecting the project and use <emphasis><property>Run As... >
+ Run on Server</property>.</emphasis></para>
+
+ <note>
+ <title>Note:</title>
+ <para>If the project does not show up, then you can use a normal browser and use <emphasis>
+ <property>http://localhost:8080/workshop/home.seam</property>
+ </emphasis> as the url.</para>
+ </note>
+
+ <para>Your project looks like this:</para>
+
+ <figure>
+ <title>"workshop" Project Started</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam16.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="workshop_code_overview">
+ <title>Workshop Project Code Overview</title>
+
+ <para>Now let's examine the project and its structure. Go back to the Package Explorer view in
+ JBoss Developer Studio.</para>
+
+ <para>It seems like it's not much for project but this shell application contains a login
+ screen with default login logic, a menu template that can be further modified, and other
+ layout templates.</para>
+
+ <para>It's important to note that the business logic will reside in the <emphasis>
+ <property>src/hot</property>
+ </emphasis> folder, by default. And, the package naming conventions that were used in <property>New Seam
+ project wizard</property> could have been changed to something different from <emphasis>
+ <property>org.domain.workshop.session</property>.
+ </emphasis> Also, notice that there is a default <property>Authenticator. java</property>
+ file. This is where custom security logic can be added. Seam has a nice declarative security
+ model that we will explore in a bit more detail later on. The <emphasis>
+ <property>src/main</property>
+ </emphasis> folder is a model directory. It stores the project's JPA entity beans.</para>
+
+ <figure>
+ <title>Project Structure</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam17.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The view tier of the
+ application is also important. Seam uses facelets and there is a built-in facelets GUI
+ editor that has some nice WYSIWYG and component drag/drop functionality. Try this out by
+ opening <property>home.xhtml</property> from <property>WebContent</property> folder.</para>
+
+ <figure>
+ <title>Facelets GUI Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam18.png" scale="85"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Notice that the templates reside in the <emphasis>
+ <property>WebContent/layout</property>
+ </emphasis> folder. There is a stylesheet in the <emphasis>
+ <property>WebContent/stylesheet</property>
+ </emphasis> folder. There is also a login and default error page. The Facelet editor will be
+ explored in more detail later in the lab.</para>
+
+ <para>The project already has a datasource that was created per the Seam project wizard
+ database settings. And, obviously all of the Seam specific configuration files and JAR
+ dependencies are included and placed in the proper locations. On last noteworthy line item
+ is related to the build script. There isn’t a build script because the Eclipse WTP(Web Tools
+ Project) plugin is used to publish web application changes. As you can see, JBoss Developer
+ Studio is removing a great deal of complexity from the enterprise Java project
+ setup/deployment process. The end result is a developer that is writing code, not spending
+ days/weeks trying to figure out how to get a decent development environment and project
+ build process.</para>
+
+ </section>
+
+ </section>
+
+
+ <section id="seam_action_dev">
+ <title>Seam Action Development</title>
+
+ <para>Now, it’s time to write some code. The good news is that JBoss Developer Studio can also
+ help out in this respect. In this section, we will create a new Seam Action POJO and facelet
+ with some custom business logic and some GUI changes.</para>
+
+ <section id="create_seam_action">
+ <title>Create a New Seam Action</title>
+
+ <para>Go to main menu bar and click on <emphasis>
+ <property>File > New > New Seam Action</property>
+ </emphasis> to start the New Seam Action wizard.</para>
+
+ <para>Specify a <property>Seam component name</property> (e.g., "myAction").
+ The other properties will be auto-completed for you so there is no need to change them.
+ Click on <property>Finish</property>.</para>
+
+ <figure>
+ <title>New Seam Action Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam19.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, open the <property>MyAction.java</property> file and replace the
+ "myAction" method with this logic:</para>
+
+ <programlisting><![CDATA[public void myAction() {
+Calendar cal = Calendar.getInstance();
+log.info("myAction.myAction() action called");
+facesMessages.add("MyAction Executed on:" + cal.getTime());
+}]]></programlisting>
+
+ <para>You also need to import the <property>java.util.Calendar</property> class by clicking
+ <emphasis><property>CTRL + Shift + O</property>.</emphasis></para>
+
+ </section>
+
+ <section id="test_seam_action">
+ <title>Test Seam Action</title>
+
+ <para>The new action can be tested by browsing the workshop-test project. JBoss Developer
+ Studio has already created a TestNG test case for you.</para>
+
+ <figure>
+ <title>"workshop-test" Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam20.png" scale="85"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The test case simulates a Seam component/method execution for the
+ <property>MyAction.myAction()</property> logic.</para>
+ <para>To run the test case, right click on <property>MyActionTest.xml</property> and click <emphasis>
+ <property>Run As > TestNG Suite</property>
+ </emphasis> or use the <property>Run As...</property> toolbar shortcut as shown
+ below.</para>
+
+ <figure>
+ <title>TestNG Running</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam21.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>With any luck, the test case will pass. Look at the TestNG view.</para>
+
+ <figure>
+ <title>TestNG Results</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam22.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, it’s safe to test the new Seam Action in a web browser. The fastest way to do that
+ is to right click on <property>myAction.xhtml</property> and use <emphasis>
+ <property>Run As... > Run On Server</property>
+ </emphasis> which will show the appropriate url in the browser. Alternatively you can
+ manually enter <emphasis>
+ <property>http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> into a browser.</para>
+
+ <figure>
+ <title>Seam Action in a Web Browser</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam23.png" scale="90"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="modify_seam_action">
+ <title>Modify Seam Action User Interface</title>
+
+ <para>Browse to <emphasis>
+ <property>http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> and click on <property>myAction</property>. This executes the “myAction” method.
+ This looks pretty good, but we could make this page look a little better.</para>
+
+ <para>Open <emphasis>
+ <property>WebContent/myAction.xhtml</property>
+ </emphasis> in JBoss Developer Studio to use the nice facelets editor.</para>
+
+ <figure>
+ <title>Open Seam Action with Editor </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam24.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Right click on the "myAction!" button in the visual part of editor and
+ select <property><h:commandButton> Attributes</property>.</para>
+
+ <figure>
+ <title>Seam Action Editing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam25.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Change the <property>value</property> of the button to something different. If desired,
+ you can change any other text on the page. Then, type <emphasis>
+ <property>CTRL + S</property>
+ </emphasis> to save the facelet.</para>
+
+ <figure>
+ <title>Attributes Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam26.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Refresh <emphasis>
+ <property>http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> and now you should see your changes.</para>
+
+ <para>Notice that you did not have to publish the application. JBoss Developer Studio
+ auto-published it for you.</para>
+
+ <figure>
+ <title>Seam Action Is Modified</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam27.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+
+ </section>
+
+ <section id="declarative_security">
+ <title>Declarative Security</title>
+
+ <para>In this section you will see how it’s easy to secure the facelets and facelet components
+ in Seam. Let’s go ahead and secure the action button, then we will secure the entire
+ page.</para>
+
+ <section id="edit_login">
+ <title>Edit Login Authentication Logic</title>
+
+ <para>There is a class called <property>Authenticator.java</property>. The login page will
+ execute the <property>Authenticator.authenticate()</property> method by default, so we’ll
+ start by adding some custom login logic.</para>
+ <para>Open <property>Authenticator.java</property> in JBoss Developer Studio and replace the
+ <property>authenticate()</property> method with this code:</para>
+
+ <programlisting><![CDATA[public boolean authenticate() {
+if (identity.getUsername().equals("admin")
+&& identity.getPassword().equals("password")) {
+identity.addRole("admin");
+return true;
+}
+else
+return true;
+}]]></programlisting>
+
+ </section>
+ <section id="secure_seam_page">
+ <title>Secure Seam Page Component</title>
+
+ <para>Open <property>myAction.xhtml</property> and add a new secured command button:</para>
+ <programlisting><![CDATA[<h:commandButton id="myActionSecured"
+value="Secured Action Button"
+action="#{myAction.myAction}"
+rendered="#{s:hasRole('admin')}"/>]]></programlisting>
+
+ <para>Refresh <emphasis>
+ <property>http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> If you are not logged in you will only see one button. If you are logged in,
+ there will be two buttons.</para>
+
+
+ <figure>
+ <title>One Button on a Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam28.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The secured button is not visible because the user isn’t logged in as
+ <property>"admin"</property>.</para>
+
+ <figure>
+ <title>Secured Button is Visible</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam29.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The user is logged in as <property>"admin"</property>. Securing
+ components is easy but securing pages is pretty simple as well. </para>
+ <para>Open <emphasis>
+ <property>WebContent/WEB-INF/pages.xml</property>
+ </emphasis>. Then add this markup directly underneath the <pages>
+ element:</para>
+
+ <programlisting><![CDATA[<page view-id="/myAction.xhtml" login-required="true"/>]]></programlisting>
+
+ <para>Refresh <emphasis>
+ <property>http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> If you are not logged in you will get bounced back to the login page.</para>
+
+ <figure>
+ <title>Login Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam30.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Thus, if you enter login credentials for the
+ <property>"admin"</property> user, you will be re-directed to the
+ secured page and secured component. If you enter different login credentials, page access
+ will be granted, but the secured component will not be displayed.</para>
+
+ <para>Congratulations! You have secured your new action both at the facelet component and page
+ level. You also added custom authentication logic to the login action.</para>
+
+ </section>
+
+ </section>
+
+ <section id="browsing_workshop_db">
+ <title>Browsing Workshop Database</title>
+
+ <para>In this section you get to know how to use the workshop database that was started at the
+ beginning of the lab.</para>
+
+ <section id="database_connectivity">
+ <title>Database Connectivity Setup</title>
+
+ <para>The workshop data can be browsed inside of JBoss Developer Studio.</para>
+
+ <para>To open the Data Source Explorer, click on <emphasis><property>Window > Open Perspective
+ > Other > Database Development</property>.</emphasis></para>
+ <para>In the Data Source Explorer, expand a <property>Databases</property> node and select a
+ <property>Default</property> database. Right click on it, select
+ <property>Connect</property> from the context menu.</para>
+
+ <figure>
+ <title>Data Source Explorer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam31.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="browsing_workshop_db2">
+ <title>Browse Workshop Database</title>
+
+ <para>Then in the current view, drill down to the <property>CUSTOMERS</property> table.</para>
+
+ <figure>
+ <title>"CUSTOMERS" Table</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam32.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Right click on <property>CUSTOMERS</property>, select <emphasis>
+ <property>Data > Sample Contents</property>
+ </emphasis> to view the data in the table.</para>
+
+ <para>There should be a SQL Results view on the workbench, but it could be hidden. Click on
+ the <property>"Result1"</property> tab in the right side and you should
+ see the data in the CUSTOMERS table.</para>
+
+
+ <figure>
+ <title>SQL Results View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam33.png" scale="92"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <note>
+ <title>Note:</title>
+ <para>If you can’t find the SQL Results view tab, click on <emphasis><property>Window > Show
+ View > Other > SQL Development > SQL Results</property>.</emphasis></para>
+ </note>
+
+ <para>Congratulations! You just connected to the workshop database and queried the content
+ using Database Explorer tools.</para>
+
+ </section>
+
+ </section>
+
+ <section id="db_programming">
+ <title>Database Programming</title>
+
+ <para>Now, it’s time to reverse engineer the workshop database into a fully functioning Seam
+ CRUD(Create Read Update Delete) application.</para>
+
+ <section id="reverse_engineer_crud">
+ <title>Reverse Engineer CRUD from a Running Database</title>
+
+ <para>In <property>JBoss Developer Studio</property>, switch to <property>Seam
+ perspective</property>, and then right-click the project and select
+ <emphasis><property>New > Seam Generate Entities</property>.</emphasis></para>
+
+ <para>"workshop" project in the <property>Seam Generate Entities
+ wizard</property> will be selected automatically. There is no need to change something
+ more, click <emphasis>
+ <property>Next</property>
+ </emphasis> to proceed further.</para>
+
+ <figure>
+ <title>Generate Seam Entities</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam34.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the next page use the <emphasis>
+ <property>Include</property>
+ </emphasis> button to include all the tables from the database and click <emphasis>
+ <property>Finish</property>.</emphasis></para>
+
+ <figure>
+ <title>Selecting Tables</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam34a.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After running the Generate Entities action, you will see new <emphasis>
+ <property>org.domain.workshop.entity</property>
+ </emphasis> classes. These classes represent insert/update/delete/query logic.</para>
+
+ <figure>
+ <title>org.domain.workshop.entity Classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam35.png" scale="90"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>There are also <emphasis>
+ <property>org.domain.workshop.entity</property>
+ </emphasis> package that contains the JPA classes. These are the entity beans that are
+ mapped to database tables.Note,that you can use Seam refactoring tools with Seam components.
+ Read more about it in <ulink
+ url="http://download.jboss.org/jbosstools/nightly-docs/en/seam/html_single/ind..."
+ >Seam refactoring tools chapter</ulink> of Seam Dev Tools Reference Guide.</para>
+
+ <para>Last, but not least, there are facelets for all of the CRUD screens. The best way to get
+ a feel for the generated code is to open a browser and play around with the application. Go
+ to <emphasis>
+ <property>http://localhost:8080/workshop</property>
+ </emphasis> and insert/update/delete/query a few records. There is quite a bit of AJAX in
+ this application, but which we will explore further later on in the lab. For now, take note
+ of the page tabs, required field logic and data table sorting in the list pages. </para>
+
+ <figure>
+ <title>CustomersList.xhtml in the Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam36.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Congratulations! You now have a fully functioning CRUD application that is already AJAX
+ enabled.</para>
+
+ </section>
+
+ <section id="use_hibernate_tools">
+ <title>Use Hibernate Tools to Query Data via JPA</title>
+
+ <para>Now, it's time to write some JPA queries using the Hibernate perspective in
+ <property>JBoss Developer Studio</property>.</para>
+ <para>In the upper right corner of the workbench there is a small icon (see the figure below),
+ click on it and choose <property>Hibernate</property>.</para>
+
+ <figure>
+ <title>Hibernate Perspective</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam37.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Look at the Hibernate Configurations view. In the "workshop" project,
+ drill down on the <property>Session Factory</property> and notice that the JPA
+ entities/attributes are listed in a nice tree view.</para>
+
+ <figure>
+ <title>Hibernate Configurations View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam38.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Right click on the <property>Session Factory</property> and select <property>HQL
+ Editor</property>. This will open a JPA query scratch pad window.</para>
+
+ <para>Write your query and click on the "Hibernate Dynamic SQL Preview" tab.
+ You should see the SQL that will be executed if this JPA query is run.</para>
+
+ <figure>
+ <title>JPA Query Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam39.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Run the query by clicking on the green run icon.</para>
+
+ <para>The results are listed in the "Hibernate Query Result" tab. There is a
+ "Properties" tab in the workbench that can be used to see a specific JPA
+ result. These results represent the JPA objects because our query did not specify column
+ names.</para>
+
+ <figure>
+ <title>Hibernate Query Result View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam40.png" scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The query can be refined, and take note that there is nice code completion in the JPA
+ query editor.</para>
+
+ <figure>
+ <title>Code Completion</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam41.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>A refined query will return results that are more ResultSet oriented. Notice the join
+ logic that JPA supports.</para>
+
+ <figure>
+ <title>The Hibernate Query Result</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam42.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>There was no need to specify an <property>Employees</property> table in the
+ <property>from</property> part of the JPA query because JPA supports reference traversal
+ via Java class attribute references. Not only are JPA and HQL queries fully supported, but
+ Criteria based queries can also be written in the Criteria Editor. You should spend some
+ time tinkering with different queries and possibly Criteria based queries, even though the
+ instructions are not provided in this lab.</para>
+
+ <figure>
+ <title>Criteria Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam43.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="use_hibernate_to_vizualize">
+ <title>Use Hibernate Tools to visualize the Data Model</title>
+
+ <para>Now, it’s time to view the data model for the workshop database.</para>
+
+ <para>In the Hibernate Configurations view, select "workshop" project and
+ expand the <property>Configuration</property> node. Select the
+ <property>Customers</property> entity, right click on it, choose <property>Open Mapping
+ Diagram</property>.</para>
+
+ <figure>
+ <title>Mapping Diagram Opening</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam44.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>You see a Diagram tab for the CUSTOMERS table and any tables that have FK references.
+ This is a handy way to view the data model and JPA mappings. Now, you’ve got access to
+ something that the Erwin Data Modeler can’t do.</para>
+
+
+ <figure>
+ <title>Diagram Tab</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam45.png" scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+ </section>
+
+
+ <section id="rich_components">
+ <title>Rich Components</title>
+
+ <para>This lab will conclude with one last AJAX twist. In this section we add a RichFaces
+ <property>inputNumberSlider</property> to the Order Details edit screen.</para>
+
+ <section id="add_richfaces">
+ <title>Add a Richfaces component to the CRUD Application</title>
+
+ <para>Switch to Seam perspective, open <emphasis>
+ <property>WebContent/OrderdetailsEdit.xhtml</property>
+ </emphasis> in JBoss Developer Studio.</para>
+ <para>Change the form field values using the visual editor. Seam has generated the form field
+ names that match the database column names. This is not ideal for business users.</para>
+
+ <figure>
+ <title>Form Fields Editing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam46.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Also, replace the QTY Ordered input field with a <property>inputNumberSlider</property>.
+ You can use the JBoss Developer Studio palette or right click on the form and insert the
+ RichFaces component.</para>
+
+ <figure>
+ <title>Insert RichFaces Component from Context Menu</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam47.png" scale="85"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>One the last option is to use the source view and manually copy the inputNumberSlider
+ markup listed below:</para>
+
+ <programlisting><![CDATA[<rich:inputNumberSlider id="quantityOrdered" required="true"
+ value="#{orderdetailsHome.instance.quantityordered}"/>]]></programlisting>
+
+ <figure>
+ <title>Manually coping Source Code</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam48.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The end result is an edit page that has better form labels and a new RichFaces
+ control.</para>
+
+ <figure>
+ <title>The Result Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam49.png" scale="85"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Congratulations! You have completed the JBoss Developer Studio lab.</para>
+
+ </section>
+
+ </section>
+</chapter>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/further_reading.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/further_reading.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/further_reading.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="further_reading" xreflabel="further_reading">
+ <?dbhtml filename="further_reading.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Deploy</keyword>
+ <keyword>Deployment</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Further Reading</title>
+<itemizedlist>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Seam Dev Tools Reference Guide</emphasis>
+ </para>
+ <para> This guide helps you to understand what Seam is and how to install Seam plug-in into
+ Eclipse. It tells you the necessary steps to start working with Seam Framework and assists in a
+ simple Seam Project creation. Also you will learn how to create and run the CRUD Database
+ Application with Seam as well as find out what Seam Editors Features and Seam Components are. </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Visual Web Tools Reference Guide</emphasis>
+</para>
+<para>
+ provides general orientation and an overview of JBDS visual web tools functionality. This guide discusses the following topics: editors, palette, web properties view, openOn, content assist, RichFaces support.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JBoss Server Manager Reference Guide</emphasis>
+ </para>
+ <para> This guide covers the basics of working with the JBoss server manager. You will read how to
+ install runtimes and servers and quickly learn how to configure, start, stop the server and know
+ how deployment and archiving process. You will find out how to manage installed JBoss Servers
+ via JBoss AS Perspective. You will also read how to deploy modules onto the server. </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">jBPM Tools Reference Guide</emphasis>
+ </para>
+ <para>With jBPM Tools Reference Guide we'll help you to facilitate a cross-product
+ learning and know how you can speed your development using special editors and visual designers.
+ We'll also guide you through the steps on how to create a simple process and test it
+ within jBPM jPDL perspective.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Hibernate Tools Reference Guide</emphasis>
+ </para>
+ <para>Throughout this guide you will learn how to install and use Hibernate Tools bath via Ant and
+ through Eclipse. We'll supply you with the information on how to create mapping files,
+ configuration file as well as a file for controlling reverse engineering by using specific
+ wizards that Hibernate tooling provides. Also you will know about Code Generation and
+ peculiarities of work within Hibernate Console Perspective.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">ESB Editor Reference Guide</emphasis>
+ </para>
+ <para>This guide provides you with the information on ESB Editor and all necessary wizards for ESB
+ files development.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JBoss Portal Tools Reference Guide</emphasis>
+ </para>
+ <para>The guide gives a detail look at how you can easily build a Portlet Web Application with
+ JBoss Tools and deploy it onto JBoss Portal.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JBoss WS User Guide</emphasis>
+ </para>
+ <para>This guide gives you practical help on JBossWS usage. You will learn how to create a web service using JBossWS runtime, find out how to create a web service client from a WSDL document using JBoss WS and also see how to set your development environment.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Smooks Tools Reference Guide</emphasis>
+ </para>
+ <para>This guide is packed with useful and easy-to-understand information about graphical, configuration and source editor pages.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Drools Tools Reference Guide</emphasis>
+ </para>
+ <para>The guide help you to discover how to create a new Drools project, use debugging rules and work with different editors.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JMX Tools Reference Guide</emphasis>
+ </para>
+ <para>With the help of this guide you'll explore the best practices to follow when working with MBean Explorer, MBean Editor, Connections and etc.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Eclipse Guvnor Tools Reference Guide</emphasis>
+ </para>
+ <para>The purpose of this guide is to describe briefly the functionality present in the Eclipse Guvnor Tools (EGT) for Drools 5.</para>
+ </listitem>
+
+
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JSF Tools Tutorial</emphasis>
+ </para>
+ <para> This tutorial will describe how to deal with classic/old style of JSF development and how
+ to create a simple JSF application using the JBoss Developer Studio. </para>
+ </listitem>
+
+ <listitem> <para>
+ <emphasis role="bold">JSF Tools Reference Guide</emphasis>
+
+ </para>
+ <para> From this guide you'll discover all peculiarities of work at a JSF project. You'll
+ learn all shades that cover the process of project creation and take a closer look at the JSF
+ configuration file. Also you'll get to know managed beans and how to work with them and
+ find out, how to create and register a custom converter, custom validator and referenced beans
+ in a JSF project. </para>
+ </listitem>
+
+ <listitem> <para>
+ <emphasis role="bold">Struts Tools Reference Guide</emphasis>
+ </para>
+ <para> In Struts Tools Reference Guide you will learn how to create and work with a new struts
+ project. This guide also provides information about graphical editor for struts configuration
+ files, tiles files, and struts validation files. </para>
+ </listitem>
+
+<listitem>
+ <para>
+ <emphasis role="bold">Struts Tools Tutorial</emphasis>
+ </para>
+ <para> This tutorial will describe the classical style of Struts development, and will
+ step-by-step show you how to create a simple Struts application in JBoss Developer Studio.</para>
+</listitem>
+
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Exadel Studio Migration Guide</emphasis>
+ </para>
+ <para>This document is intended to help you to migrate an existing Exadel JSF or Struts projects
+ from Exadel Studio into JBoss Developer Studio. </para>
+ </listitem>
+</itemizedlist>
+<para>If there's anything we didn't cover in this guide, please feel free to visit our <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=258">JBoss Developer Studio Users Forum</ulink> or <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201">JBoss Tools Users Forum</ulink> to ask questions. There we are also looking for your suggestions and comments.</para>
+
+</chapter>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,902 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="getting_started" xreflabel="getting_started">
+ <?dbhtml filename="getting_started.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Getting Started with JBoss Developer Studio</title>
+
+ <section id="intro1">
+ <title>What is JBDS?</title>
+ <para><property>JBoss Developer Studio</property> is a set of eclipse-based development tools that
+ are pre-configured for JBoss Enterprise Middleware Platforms and Red Hat Enterprise Linux.
+ Developers are not required to use <property>JBoss Developer Studio</property> to develop on
+ JBoss Enterprise Middleware and/or Red Hat Linux. But, many find these pre-configured tools offer
+ significant time-savings and value, making them more productive and speeding time to deployment.</para>
+ <para>This guide covers the first steps to get started working with <property>JBoss Developer
+ Studio</property>. You will learn how to install and configure necessary software for your OS
+ (currently Linux, Microsoft Windows or Mac OSX).</para>
+ <para>Thus this guide will provide you with detailed info on how to start JDK, JBDS and JBoss
+ Tools.</para>
+ </section>
+
+<section>
+ <title>Key Features of JBoss Developer Studio and Requirements</title>
+ <para>For a start, we propose you to look through the table of main features of JBoss Developer Studio:</para>
+
+ <table>
+
+ <title>Key Functionality of JBoss Developer Studio</title>
+ <tgroup cols="2">
+
+ <colspec colnum="1" align="left" colwidth="2*"/>
+ <colspec colnum="2" colwidth="4*"/>
+
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry><para>JBoss Enterprise Application Platform</para></entry>
+ <entry><para>JBoss Developer Studio includes and integrates JBoss Enterprise Application Platform, the same version of the middleware platform that Red Hat supports in production for 5 years.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>New Seam Tools</para></entry>
+ <entry><para>JBoss Developer Studio includes brand new tools for Seam. They provide wizards for creating new Seam projects, validation tools, expression language code completion, testing tools, and wizards for generating entity objects.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Visual Page Editor</para></entry>
+ <entry><para>JBoss Developer Studio includes a Visual Page Editor for combined visual and source editing of Web pages. The Visual Page Editor even renders AJAX-enabled RichFaces components.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>AJAX Capabilities</para></entry>
+ <entry><para>JBoss Developer Studio includes a Technology Preview of JBoss RichFaces. RichFaces provides nearly 70 skinnable components, including calendar, tree, dropdown menu, drag-and-drop components, and more. JBoss Developer Studio’s Visual Page Editor can render RichFaces components.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>JBoss Tools Palette</para></entry>
+ <entry><para>The JBoss Tools Palette contains a developer’s project tag libraries and enables inserting tags into a JSP with one click. The Tools Palette supports custom and 3rd party tags.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>JBoss jBPM Tools</para></entry>
+ <entry><para>JBoss Developer Studio includes jBPM tooling for defining Seam page flows.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Spring Tools</para></entry>
+ <entry><para>JBoss Developer Studio includes Spring IDE for developing Spring applications.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Struts Tools</para></entry>
+ <entry><para>JBoss Developer Studio includes Struts tools for Struts 1.x applications.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Optimized JBoss Application Server adapter</para></entry>
+ <entry><para>JBoss Developer Studio’s advanced JBoss AS adapter includes features like incremental deployment for fast development and is pre-configured for the included JBoss Application server.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Red Hat Enterprise Linux and RHN Access</para></entry>
+ <entry><para>JBoss Developer Studio includes access to Red Hat Enterprise Linux, Linux development tools, and Red Hat Network for development purposes.</para></entry>
+ </row>
+
+ <row>
+ <entry><para> Project Examples</para></entry>
+ <entry><para> Tooling for easy installation of Examples.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>JBossWeb Service</para></entry>
+ <entry><para>JBoss WS is a web service framework developed as a part of the JBoss Application Server. It implements the JAX-WS specification that defines a programming model and run-time architecture for implementing web services in Java, targeted at the Java Platform, Enterprise Edition 5 (Java EE 5).</para></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para><property>JBDS</property> requires JDK 5+ (JDK 6 in case of EAP 5.0). Also it's important that
+ the JVM's architecture matches the particular <property>JBDS</property> build, i.e. if you're on a
+ 64-bit system and use the 64-bit JVM, you need the 64-bit JBDS.</para>
+
+ <para>For the 32-bit version of JBDS use the 32-bit JVM or just use <literal>-vm</literal> flag to
+ tell JBDS to use 32-bit java if the 64-bit one is found as the default.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>On Linux system with 64-bit JVM the visual editor may fail to start. In this case you need the <literal>libstdc++.so.5</literal> library.
+ See also the <link linkend="question_1">FAQ</link>.</para>
+ </note>
+</section>
+
+ <section id="ConfigJavaEnvironment">
+ <?dbhtml filename="ConfigJavaEnvironment.html"?>
+ <title>Configuring Your Java Environment</title>
+ <para>You must have a working installation of JDK before you install <property>JBoss Developer
+ Studio</property>. Thus in this
+ guide we will show you how to install a 32-bit Sun JDK 5.0 on a Linux Platform and Microsoft
+ Windows Platform.</para>
+
+ <section id="InstallJDK50onLinux">
+ <title>Installing and Configuring 32-bit Sun JDK 5.0 on Linux</title>
+ <para>To install 32-bit Sun JDK 5.0 on Linux and configure it, you should follow the next steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Download the <ulink url="http://java.sun.com/javase/downloads/index_jdk5.jsp">Sun JDK 5.0
+ (Java 2 Development Kit)</ulink> from Sun's website. Choose "JDK 5.0 Update
+ <x>" (where "x" is the latest update number) for
+ download and then select "Red Hat Package Manager in self-extracting" file
+ for Linux. Read the instructions on Sun's website for installing the JDK.</para>
+ </listitem>
+ <listitem>
+ <para>If you don't want to use SysV service scripts you can install the
+ "self-extracting file" for Linux instead of choosing the "RPM in
+ self-extracting" file. In that case you can skip the next step mentioned here. But it
+ is recommended to use the SysV service scripts for production servers.</para>
+ </listitem>
+ <listitem>
+ <para>Download and install the appropriate -compat RPM from JPackage <ulink url="ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/RPMS.non-free/">here</ulink>.
+ Please ensure you choose a matching version of the -compat package to the JDK you've
+ installed.</para>
+ </listitem>
+ <listitem>
+ <para>Create an environment variable that points to the JDK installation directory and call it
+ JAVA_HOME. Add <emphasis>
+ <property>$JAVA_HOME/bin</property>
+ </emphasis> to the system path to be able to run java from the command line. You can do this
+ by adding the following lines to the .bashrc file in your home directory.</para>
+ <programlisting><![CDATA[#In this example /usr/java/jdk1.5.0_11 is the JDK installation directory.
+export JAVA_HOME=/usr/java/jdk1.5.0_11
+export PATH=$PATH:$JAVA_HOME/bin]]></programlisting>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <title>Note:</title>
+
+ <para>If you have JDK already installed and added in your system path, you should add
+ <emphasis>$JAVA_HOME/bin</emphasis> before the old <emphasis>$PATH</emphasis> (not after it)
+ so that the new version of JDK can be found first, i. e. <emphasis>
+ <emphasis>export PATH=$JAVA_HOME/bin:$PATH</emphasis>
+ </emphasis> This way, the machine will pick up the new JVM first. You only need to run
+ "alternative" as a safe guard for the right JVM. </para>
+ </note>
+
+ <para>Set this variable for your account doing the installation and also for the user account
+ that will run the server.</para>
+ <itemizedlist>
+ <listitem>
+ <para>If you have more than one version of JVM installed on your machine, make sure you are
+ using the JDK 1.5 installation as the default java and javac. You can do this using the
+ alternatives system. The alternatives system allows different versions of Java from different
+ sources to co-exist on your system.</para>
+ </listitem>
+ </itemizedlist>
+ <section id="SelectAlternativesforJava">
+ <title>Select alternatives for java, javac and java_sdk_1.5.0</title>
+ <itemizedlist>
+ <listitem>
+ <para>As a root user, type the following command at the shell prompt and you should see
+ something like this:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting><![CDATA[[root@vsr ~]$ /usr/sbin/alternatives --config java
+There are 2 programs that provide 'java'.
+Selection Command
+-----------------------------------------------
+ 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
+*+ 2 /usr/lib/jvm/jre-1.5.0-sun/bin/java
+Enter to keep the current selection[+], or type selection number:]]></programlisting>
+ <para>Make sure the Sun version [jre-1.5.0-sun in this case] is selected (marked with a
+ '+' in the output), or select it by entering its number as prompted.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Repeat the same for javac and java_sdk_1.5.0.</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting><![CDATA[[root@vsr ~]$ /usr/sbin/alternatives --config javac
+There is 1 program that provides 'javac'.
+ Selection Command
+-----------------------------------------------
+*+ 1 /usr/lib/jvm/java-1.5.0-sun/bin/javac
+Enter to keep the current selection[+], or type selection number:
+
+[root@vsr ~]$ /usr/sbin/alternatives --config java_sdk_1.5.0
+There is 1 program that provide 'java_sdk_1.5.0'.
+ Selection Command
+-----------------------------------------------
+*+ 1 /usr/lib/jvm/java-1.5.0-sun
+Enter to keep the current selection[+], or type selection number:]]></programlisting>
+ <para>You should verify that java, javac and java_sdk_1.5.0 all point to the same manufacturer
+ and version.</para>
+ <note>
+ <title>Note:</title>
+ <para>You can always override this step by setting the JAVA_HOME environment variable as
+ explained in the previous step.</para>
+ </note>
+ <itemizedlist>
+ <listitem>
+ <para>Make sure that the java executable is in your path and that you are using an appropriate
+ version. To verify your Java environment, type "java -version" at the shell
+ prompt and you should see something like this:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting><![CDATA[[root@vsr ~]$ java -version
+java version "1.5.0_11"
+Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
+Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)]]></programlisting>
+ </section>
+
+ </section>
+ <section id="InstallJDK50onWindows">
+ <title>Installing and Configuring 32-bit Sun JDK 5.0 on Microsoft Windows</title>
+
+ <para>To install and configure 32-bit Sun JDK 5.0 on Microsoft Windows, follow these steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Download the <ulink url="http://java.sun.com/javase/downloads/index_jdk5.jsp">Sun JDK 5.0
+ (Java 2 Development Kit)</ulink> from Sun's website. Choose "JDK 5.0 Update
+ <x>" (where "x" is the latest update number) for
+ download and then select your Windows Platform options to perform the installation.</para>
+ </listitem>
+ <listitem>
+ <para>Create an environment variable called JAVA_HOME that points to the JDK installation
+ directory, for example:
+ <emphasis>C:\Program Files\Java\jdk1.5.0_11\</emphasis>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>In order to run java from the command line, add the <emphasis>jre\bin</emphasis> directory
+ to your path, for example:</para>
+ <para>
+ <emphasis>C:\Program Files\Java\jdk1.5.0_11\jre\bin</emphasis>
+ </para>
+ <para>To do this, open the <emphasis>
+ <property>Control Panel</property>
+ </emphasis> from the <emphasis>
+ <property>Start</property>
+ </emphasis> menu, switch to Classic View if necessary, open the System Control Panel applet (<emphasis>
+ <property>System</property>
+ </emphasis>), select the <emphasis>
+ <property>Advanced</property>
+ </emphasis> Tab, and click on the <emphasis>
+ <property>Environment Variables</property>
+ </emphasis> button.</para>
+ <para>Now, when 32-bit Sun JDK 5.0 has been successfully installed, we can pass on to the next
+ step.</para>
+ </section>
+
+ </section>
+
+ <section id="InstallingJBDS">
+ <?dbhtml filename="InstallingRHDS.html"?>
+ <title>JBoss Developer Studio Installation</title>
+
+ <para>This chapter will provide you with detailed information on how to install <property>JBoss
+ Developer Studio</property>.</para>
+
+ <para>JBDS comes with a simple installer, bundled with tested/pre-configured versions of Eclipse,
+ WTP, JBossEAP, Seam, and SpringIDE. Thus, to start perform the next steps:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>First of all you need the appropriate installation file for your platform from
+ <ulink url="https://www.redhat.com/apps/store/developers/jboss_developer_studio.html">Red Hat
+ website</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>Then run in console:</para>
+ <programlisting role="JAVA"><![CDATA[java -jar jbdevstudio-eap-linux-gtk-2.1.0.GA.jar
+]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>Follow the instructions presented by the installation wizard:</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>JBoss Developer Studio Installation Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Provide the installation path</para>
+ </listitem>
+ <listitem>
+ <para>Select Java VM</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Select Java VM</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <tip>
+ <title>Tip:</title>
+ <para>By selecting <emphasis>
+ <property>Default Java VM</property>
+ </emphasis> you set default Java VM of your system (to verify your Java environment, type
+ "java -version" in console).</para>
+ </tip>
+
+ <para>Selecting <emphasis>
+ <property>Specific Java VM</property>
+ </emphasis> you can provide the path to non-default Java VM.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>JBoss Developer Studio needs Java 5 and "gij" isn't available on
+ every platform.</para>
+ </note>
+
+ <itemizedlist>
+ <listitem>
+ <para>Installation process includes <ulink url="http://www.jboss.com/products/platforms/application">JBoss Enterprise Application
+ Platform</ulink>. Select <emphasis>
+ <property>Yes</property></emphasis> to use it in JBoss Developer Studio.</para>
+ <note>
+ <title>Note:</title>
+ <para>JBDS 2.0.0.GA comes integrated with JBoss EAP 4.3, while the current 2.1.0.GA release of JBDS comes with JBoss EAP 5 that support EAP 5 adapter
+ and Seam 2.2.</para>
+ </note>
+
+ <para>This step lets you configure locally available JBoss Application Servers: </para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>JBoss Enterprise Application Platform Installing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+<itemizedlist>
+ <listitem><para>You can fill the list automatically using the <emphasis><property>Find</property></emphasis> button: click <emphasis><property>Find</property></emphasis>, select a folder where search of available JBoss Application Servers should be started and click on <emphasis><property>Ok</property></emphasis>: </para> </listitem>
+</itemizedlist>
+
+ <figure>
+ <title>Finding Servers in the Selected Directory</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3_3_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para/>
+
+ <itemizedlist>
+ <listitem><para> All available servers in the selected directory will be added to the list with the following information specified: Name, Type, Version and Location.
+ </para></listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem> <para>You can also add servers one by one using the <emphasis><property>Add</property></emphasis> button:</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Add Server to be Configured</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para/>
+
+<para>Click on <emphasis><property>Browse</property></emphasis> and select the server location. Fields Name, Type and Version will be filled in automatically:</para>
+
+ <figure>
+ <title>Specify Server Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para/>
+
+
+ <para>Click on <emphasis><property>Ok</property></emphasis>. The server is added to the list with the details on its type, version and location.</para>
+
+
+
+ <para>The <emphasis><property>Remove</property></emphasis> button will the remove the selected server from the list. If necessary, you can edit the server details clicking on the <emphasis><property>Edit</property></emphasis> button:</para>
+
+ <figure>
+ <title>Edit Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para/>
+
+
+
+ <!-- <note>
+ <title>Note:</title>
+ <para>The installer installs JBoss Enterprise Application Platform for running your applications
+ if you select this option during the installation process. If you want to use a different server
+ than ours, you can change the setting in JBoss Developer Studio.</para>
+ </note>-->
+
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis><property>Next</property></emphasis>. Check your installation paths and see the components to install. If you'd like to change
+ something, press the <emphasis>
+ <property>Previous</property>
+ </emphasis> button. Click <emphasis>
+ <property>Next</property>
+ </emphasis> to start installation. </para>
+ </listitem>
+ </itemizedlist>
+
+ <para/>
+
+ <figure>
+ <title>Summary Information</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="jbds_jbosstools">
+
+ <title>JBoss Developer Studio and JBoss Tools</title>
+
+ <para>This section uncovers the points on the differences between <property>JBoss Developer
+ Studio</property> and <property>JBoss Tools</property> and provides the steps on <property>JBoss
+ Tools</property> installation as well.</para>
+
+ <section id="WhatDifferenceBetweenJBDSAndJBossTools">
+ <title>What is the difference?</title>
+
+ <para><property>JBoss Tools</property> is what went into our <property>JBoss Developer
+ Studio</property> which comes as an easy-to-install Eclipse based IDE fully configured and ready
+ to run with the bundled <property>JBoss Enterprise Application Platform</property>.</para>
+
+ <para>In short <property>JBoss Tools</property> are just a set of Eclipse plugins and
+ <property>JBoss Developer Studio</property> adds:</para>
+ <itemizedlist>
+ <listitem>
+ <para>An installer</para>
+ </listitem>
+ <listitem>
+ <para>Eclipse and Web Tools preconfigured</para>
+ </listitem>
+ <listitem>
+ <para>JBoss EAP with JBoss AS and Seam preconfigured</para>
+ </listitem>
+ <listitem>
+ <para>3rd party plugins bundled and configured</para>
+ </listitem>
+ <listitem>
+ <para>Access to RHEL and Red Hat Network</para>
+ </listitem>
+ <listitem>
+ <para>Access to the JBoss/Red Hat supported software</para>
+ </listitem>
+ </itemizedlist>
+ <para> For additional information see <ulink url="http://www.jboss.com/products/devstudio"
+ >JBoss.com</ulink></para>
+ </section>
+
+ <section id="JBossToolsInstall">
+ <title>JBoss Tools Installation and Update</title>
+ <para>Here, let's consider the installation of the <property>JBoss Tools</property>
+ modules.</para>
+ <para><property>JBoss Tools</property> is an umbrella project for the JBoss developed plugins
+ that will make it into <property>JBoss Developer Studio</property>. The JBoss Tools modules are:</para>
+ <itemizedlist>
+ <listitem>
+ <para>JBoss AS Tools</para>
+ </listitem>
+ <listitem>
+ <para>Seam Tools</para>
+ </listitem>
+ <listitem>
+ <para>Hibernate Tools</para>
+ </listitem>
+ <listitem>
+ <para>Visual Page Editor</para>
+ </listitem>
+ <listitem>
+ <para>JST Tools</para>
+ </listitem>
+ <listitem>
+ <para>JBPM Tools</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>To install the JBoss Tools plugins for Eclipse, you need the following:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Get Eclipse and Web Tools (make sure you have the
+ <ulink url="http://www.jboss.org/community/wiki/Matrixofsupportedplatformsruntimesand...">appropriate version of Eclipse</ulink>)</para>
+ </listitem>
+ </itemizedlist>
+ <para>The current version of JBoss Tools (3.1.M2) targets at Eclipse 3.5/Galileo which is available from <ulink url="http://www.eclipse.org/downloads/">eclipse.org</ulink></para>
+
+ <tip>
+ <title>Tip:</title>
+ <para>We recommend you do not use Eclipse.org update site to go from old version of Eclipse to new one.
+ Instead we suggest that you download the full binary from <ulink url="http://www.eclipse.org/downloads/">here</ulink>.</para>
+ </tip>
+
+ <para>If you can only use Eclipse 3.3 use <ulink url="http://www.jboss.org/tools/download.html">JBoss Tools 2.1.2</ulink>, but
+ JBoss Tools 2.x will not have any of the new features.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>Remember to choose the download that matches your OS and use Java 5 when you run
+ it.</para>
+ </note>
+
+ <itemizedlist>
+ <listitem>
+ <para>Get the <ulink url="http://download.jboss.org/jbosstools/builds/nightly/latestBuild.html"
+ >latest JBoss Tools build</ulink></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Some of our newer plugins, like TPTP and BIRT, need additional drivers. On the left side of
+ the download page you can find all of the required drivers for chosen build and their versions.</para>
+ <para>If you need to install any standalone plug-in from JBoss Tools visit a <ulink url="http://labs.jboss.com/wiki/InstallingJBossTools">JBoss Tools Wiki</ulink> page to read
+ about dependencies between standalone plug-ins.</para>
+ <section>
+ <title>Installation From Update Site</title>
+
+
+ <para>Instead of downloading installation/updating manually, it's also possible to
+ get the latest release of <property>JBoss Tools</property> from one of our update sites:
+ <itemizedlist id="sites">
+ <listitem>
+ <para>Stable Updates: <ulink url="http://download.jboss.org/jbosstools/updates/stable"
+ >http://download.jboss.org/jbosstools/updates/stable</ulink></para>
+ </listitem>
+ <listitem>
+ <para> Development Updates: <ulink url="http://download.jboss.org/jbosstools/updates/development"
+ >http://download.jboss.org/jbosstools/updates/development</ulink></para>
+ </listitem>
+ <listitem>
+ <para> Nightly Builds: <ulink url="http://download.jboss.org/jbosstools/updates/nightly/trunk/"
+ >http://download.jboss.org/jbosstools/updates/nightly/trunk/</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </para>
+<itemizedlist>
+ <para>To install/update Jboss Tools from one of the update sites you should follow the steps:</para>
+ <listitem><para>First, download the correct version of Eclipse
+ for your platform which is compatible with the version of JBoss
+ Tools you plan to install.For example if you want to install
+ 3.1.0.GA Eclipse 3.5 is required.</para></listitem>
+ <listitem><para>If you do not already have Java 5 or 6 installed and in your path,
+ download and install it.</para></listitem>
+ <listitem><para>When Eclipse is started, go to <itemizedlist>
+ <listitem><para>Help->Software Updates... ->Available Software->Manage Sites...->Add...<emphasis>(Eclipse 3.4)</emphasis></para></listitem>
+ <listitem><para>Help->Install New Software->Add..<emphasis>(Eclipse 3.5)</emphasis></para></listitem>
+ </itemizedlist>
+ </para></listitem>
+ <listitem><para>After clicking <emphasis>Add</emphasis> button <property>Add Site</property> View should appear.
+ In the <property>Location</property> field you should paste one of the update sites described
+ <link linkend="sites">above</link>.In <property>Name</property> you can write any name you like.
+ In the end press the <property>Ok</property> button.</para>
+ <figure>
+ <title>Add Update Site</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_4a.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem id="from_point"><para>In the <property>Install</property> View select features to install, then click <emphasis>Next</emphasis>.</para>
+ <figure>
+ <title>Jboss Tools installation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_4b.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>And the system checks whether all necessary requirements and
+ dependencies are installed on your Eclipse.</para>
+ <figure>
+ <title>Requirements and
+ dependencies check</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_10.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>If some of them are missing an error message will appear and
+ the installation process will be terminated.
+ </para>
+ <note>
+ <title>Note:</title>
+ <para>Sometimes when a user changes the list of plugins for download and clicks
+ <emphasis>Next</emphasis>, after required dependences check,
+ the list of missing dependencies of the previous attempt is showed.
+ In this case the completely close of the <emphasis>Install New Software</emphasis> dialog can help.</para>
+ </note>
+ <para>If Jboss Tools are already installed on your Eclipse and you are doing updating but not
+ installation the following messages will appear in your <emphasis>Details</emphasis> section.
+ Ignore them and press <emphasis>Next.</emphasis></para>
+ <figure>
+ <title>Possible messages</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_4c.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem><para>When you click Finish the prosses of Installation/Updating starts up. </para></listitem>
+ <listitem><para>Install. Restart when prompted.</para>
+ <figure>
+ <title>Message dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_4d.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem><para>After fetching all the features and plugins for installation,
+ you may be prompted that your selection contains unsigned jars.
+ This is normal,simply accept the warning and continue. </para>
+ <figure>
+ <title>Warning Message</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_4e.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+</itemizedlist>
+
+ <note>
+ <title>Note:</title>
+ <para>While installing JBoss Tools on GNU/Linux (64-bit) through the eclipse installation manager you may run into some problems which can interrupt your installation process.
+ Please, read the
+ <ulink url="http://www.jboss.org/community/wiki/ManualinstallationofJBossTools31xonEc...">Manual installation of JBoss Tools 3.1.x on Eclipse 3.5 on GNU/Linux (64-bit)</ulink>
+ wiki article which provides you with the necessary steps to do it correct.</para>
+ </note>
+ </section>
+ <section>
+ <title>Installation From Zip file</title>
+ <para>You can download Jboss tools in a zip file from one of the pages below:</para>
+ <itemizedlist id="zip_sites">
+ <listitem>
+ <para>Stable Releases: <ulink url="http://www.jboss.org/tools/download/stable.html"
+ >http://www.jboss.org/tools/download/stable.html</ulink></para>
+ </listitem>
+ <listitem>
+ <para> Development Updates: <ulink url="http://www.jboss.org/tools/download/dev.html"
+ >http://www.jboss.org/tools/download/dev.html</ulink></para>
+ </listitem>
+ <listitem>
+ <para> Nightly Builds: <ulink url="http://download.jboss.org/jbosstools/updates/nightly/"
+ >http://download.jboss.org/jbosstools/updates/nightly/</ulink></para>
+ </listitem>
+ </itemizedlist>
+ <para>When you downloaded Jboss Tools Zip please <emphasis>DO NOT UNZIP IT</emphasis> and follow the steps described below:</para>
+ <itemizedlist>
+ <listitem><para>When Eclipse is started, go to <property>Help -> Install New Software... -> Add... -> Archive...</property></para></listitem>
+ <listitem><para>Browse for the update site zip.In the <emphasis>Name</emphasis> field you can write any name you like.
+ In the end press <property>Ok</property> button.</para>
+ <figure>
+ <title>Installation from a zip file</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_4f.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem><para>All the other steps are the same as it was described in the <link linkend="from_point">
+ Installation From Update Site section</link>. </para>
+ </listitem>
+ </itemizedlist>
+
+ </section>
+
+ </section>
+ </section>
+
+ <section id="Welcome">
+ <title>Welcome to JBoss Developer Studio</title>
+ <para>In this section we'll show you how to work with the welcome page of the <property>JBoss
+ Developer Studio</property>.</para>
+ <para>The welcome page is the first page you see when you first launch <property>JBoss Developer
+ Studio</property>. </para>
+
+ <figure>
+ <title>Welcome to JBoss Developer Studio</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>With the help of its page you will be able:</para>
+ <itemizedlist>
+ <listitem>
+ <para>to get quick access to Getting Started Documentation (guides, tutorials and
+ viewlets)</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Getting Started Documentation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>to create new Seam projects, jBPM Process, JSF or Struts projects using JBDS
+ wizards</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Create New...</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_7.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>to get short description of perspectives that JBDS offers for more productive
+ development</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Perspectives</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>to visit JBoss Developer Studio web resources.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Web Resources</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_9.png" scale="90"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Start work with <property>JBoss Developer Studio</property> by clicking on <emphasis>
+ <property>Workbench</property>
+ </emphasis> button or simply close the Welcome page.</para>
+
+ </section>
+
+ <section id="Upgrading">
+ <?dbhtml filename="Upgrading.html"?>
+ <title>Upgrading</title>
+ <para>To upgrade, of course you can uninstall your current version and install the new one.</para>
+ <para>Now it's possible to upgrade from JBDS 2.0 to 2.1 using the update site which is available at
+ <ulink url="is available at http://devstudio.jboss.com/updates/2.1">http://devstudio.jboss.com/updates/2.1</ulink>.
+ This is described more fully in the <ulink url="http://www.jboss.com/products/devstudio/update/">JBDS Update Guide</ulink>.</para>
+ <note>
+ <title>Note:</title>
+ <para>You <emphasis><property>CAN NOT</property></emphasis> upgrade from 2.1 to 3.0 using update site because of some platform change.Full installation is required.</para>
+ </note>
+ </section>
+
+ <section id="Uninstalling">
+ <?dbhtml filename="Uninstalling.html"?>
+ <title>Uninstalling</title>
+ <itemizedlist>
+ <listitem>
+ <para>Make sure <property>JBoss Developer Studio</property> is not running</para>
+ </listitem>
+ <listitem>
+ <para>Uninstall your current version of <property>JBoss Developer Studio</property> by running
+ Uninstaller</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="Support">
+ <?dbhtml filename="Support.html"?>
+ <title>Support</title>
+ <para>If you have comments or questions, you can discuss them at our <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=258">JBoss
+ Developer Studio Forum</ulink>.</para>
+ <para>When writing to the forum for questions, please include the following information:</para>
+ <orderedlist>
+ <listitem>
+ <para>JBoss Developer Studio version</para>
+ </listitem>
+ <listitem>
+ <para>Exact error message</para>
+ </listitem>
+ <listitem>
+ <para>Steps to reproduce the issue</para>
+ </listitem>
+ </orderedlist>
+
+ <para><property>JBDS</property> subscribers can get necessary support on our <ulink url="https://network.jboss.com/jbossnetwork/login.html">Support Portal</ulink>.</para>
+ </section>
+
+
+ <section id="OtherRelevantResourcesOnTheTopic33">
+ <?dbhtml filename="OtherRelevantResourcesOnTheTopic33.html"?>
+ <title>Other relevant resources on the topic</title>
+ <para>JBDS on RedHat: <ulink url="http://www.redhat.com/developer_studio">JBoss Developer
+ Studio</ulink></para>
+ <para>Forum: <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=258">JBoss
+ Forum</ulink></para>
+ <para>
+ Wiki: <ulink url="http://www.jboss.org/community/wiki/JBossTools"> JBossToolsWiki </ulink>
+ </para>
+ <para>Subscription: <ulink url="https://www.redhat.com/apps/store/developers/jboss_developer_studio.html">JBDS
+ Subscription</ulink></para>
+
+ <para>The latest documentation builds are available <ulink url="http://download.jboss.org/jbosstools/nightly-docs/">here</ulink>.</para>
+
+ <para>
+ <ulink url="http://www.jboss.org/community/wiki/Matrixofsupportedplatformsruntimesand...">Matrix of supported platforms, runtimes and technologies in JBossTools/JBDS</ulink></para>
+ </section>
+
+</chapter>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/gsg_faq.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/gsg_faq.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/gsg_faq.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<chapter id="gsg_faq" xreflabel="gsg_faq" role="updated">
+ <?dbhtml filename="gsg_faq.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>FAQ</title>
+
+ <para>For more information on <property>JBoss Developer Studio</property> features, refer to the
+ following FAQ to get the answers on the most "popular" questions.</para>
+
+ <section id="question_1">
+ <title>What should I do if Visual Page Editor does not start under Linux</title>
+
+ <para>Linux users may need to do the following to get the <property>Visual Page
+ Editor</property> to work correctly on their machines.</para>
+
+ <orderedlist>
+ <listitem>
+ <para>On Red Hat based Linux distributions install the xpLib.i386 package</para>
+ </listitem>
+ <listitem>
+ <para>Type</para>
+ <programlisting role="JAVA"><![CDATA[ln -s libstdc++.so.5.0.7 libstdc++.so.5
+]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>and/or use</para>
+ <programlisting role="JAVA"><![CDATA[yum install libXp
+]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>Open the JBDS perspective. If you see the Help view open, close it and restart
+ JBDS</para>
+ </listitem>
+ <listitem><para> If it doesn't help and you use Fedora Core Linux and Eclipse Version: 3.4.1,the issue can be produced because libswt-xulrunner-gtk-3449.so file doesn't present
+ in eclipse-swt-3.4.1-5.fc10.x86_64.rpm/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.4.1.v3449c.jar.To add this file to eclipse you should:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>Decompress eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.4.1.v3449c.jar form eclipse-SDK-3.4.1-linux-gtk-x86_64.tar.gz</para>
+ </listitem>
+ <listitem>
+ <para>Copy <property>libswt-xulrunner-gtk-3449.so</property> file to your Fedora Eclipse location.</para>
+ </listitem>
+
+ <listitem>
+ <para>Open the file eclipse.ini,which can be found in your Fedora Eclipse location and add the following line: </para>
+ <programlisting role="JAVA"><![CDATA[-Dswt.library.path=/usr/lib/eclipse
+]]></programlisting><para>,where <code>/usr/lib/eclipse</code> is the path to your eclipse folder.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>If none of these work, do the following:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Clear the Eclipse log file,
+ <emphasis><workspace>\.metadata\.log</emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Start Eclipse with the -debug option:</para>
+ <programlisting role="JAVA"><![CDATA[eclipse -debug
+]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>Post the Eclipse log file
+ (<emphasis><workspace>\.metadata\.log</emphasis>) on
+ the forums.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </orderedlist>
+ </section>
+
+ <section id="question_2">
+ <title>Do I need to have JBoss Server installed to run JBoss Developer Studio?</title>
+
+ <para>No. <property>JBoss Developer Studio</property> already comes bundled with JBoss
+ Server. We bundle it together so that you don't need to download any additional
+ software and can test your application in a Web browser right away.</para>
+ <para>If you want to use a different JBoss server installation, after <property>JBoss
+ Developer Studio</property> is installed open Servers View (select
+ <emphasis><property>Window > Show View > Others > Server
+ > Servers</property>),</emphasis> then right click on this <emphasis>
+ <property>view > New > Server</property>
+ </emphasis> and follow the wizards steps to point to another Jboss Server
+ installation.</para>
+ <para><property>JBoss Developer Studio</property> works with any servlet container, not just
+ JBoss. For more information on deployment, please see the Deploying Your Application
+ section.</para>
+ </section>
+
+ <section id="question_3">
+ <title>I have an existing Seam 1.2.1 project. Can I migrate/import the project to a JBDS
+ Seam project?</title>
+
+ <para>We highly recommend you to create Seam 1.2.1 project using the
+ <property>JBDS</property>. In other case try to do manually:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Create a Seam Web project to get the JBoss tools structure</para>
+ </listitem>
+ </itemizedlist>
+ <para>Then from your Seam 1.2.1 seam-gen project start doing the following:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Copy <property>src</property> to <property>src</property></para>
+ </listitem>
+ <listitem>
+ <para>Copy <property>view</property> to <property>Web content</property></para>
+ </listitem>
+ <listitem>
+ <para>Copy resources individual files to where they are in the seam web project
+ etc.</para>
+ </listitem>
+ </itemizedlist>
+
+ </section>
+ <section id="questio_4">
+ <title>I have an existing Struts or JSF project. Can I open the project in JBDS?</title>
+
+ <para>Yes. From main menu select <emphasis>
+ <property>File > Import > Other > JSF Project (or Struts
+ Project)</property>
+ </emphasis> and follow wizards steps.</para>
+
+ </section>
+
+ <section id="question_5">
+ <title>Can I import a .war file?</title>
+
+ <para>Yes. Select <emphasis><property>File > Import > Web > WAR
+ file</property>, </emphasis> then follow importing steps.</para>
+ </section>
+
+ <section id="question_6">
+ <title>Is it possible to increase the performance of Eclipse after installing your
+ product?</title>
+
+ <para><property>JBoss Developer Studio</property> preconfigures eclipse via the eclipse.ini
+ file to allocate extra memory, but if you for some reason need more memory then by
+ default, you can manually make adjustments in this file. For example:</para>
+ <programlisting role="XML">
+ <![CDATA[-vmargs -Xms128m -Xmx512m -XX:MaxPermSize=128m
+]]></programlisting>
+ </section>
+
+ <section id="question_7">
+ <title>How can I add my own tag library to the JBoss Tools Palette?</title>
+
+ <para>See the section on Adding Tag
+ Libraries in the Visual Web Tools Guide.</para>
+ </section>
+
+ <section id="question_8">
+ <title>How to get Code Assist for Seam specific resources in an externally generated
+ project?</title>
+
+ <para>To get Code Assist for Seam specific resources in an externally generated project, you
+ should enable Seam features in Project Preferences. Right click an imported project and
+ navigate <emphasis>
+ <property>Properties > Seam Settings</property>.</emphasis> Check <emphasis>
+ <property>Seam support</property>
+ </emphasis> box to enable all available Seam
+ Settings.</para>
+ </section>
+
+ <section id="question_9">
+ <title>How to import an example Seam project from jboss-eap directory?</title>
+
+ <para>To import an example Seam project from <emphasis>
+ <property>jboss-eap</property>
+ </emphasis> into your working directory, you should perform the following steps:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Go to <emphasis>
+ <property>New > Other > Java Project from Existing Buildfile</property>
+ </emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para>Point to the <emphasis>
+ <property>build.xml</property>
+ </emphasis> of any chosen project by pressing <emphasis>
+ <property>Browse</property>
+ </emphasis> button</para>
+ </listitem>
+
+ <listitem>
+ <para>Hit <emphasis>
+ <property>Finish</property>
+ </emphasis> to open the project</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>As these seam examples are non WTP projects, next you should enable Seam support for
+ them. To do that, right click the project and go to <emphasis>
+ <property>Properties > Seam Settings</property>.</emphasis></para>
+ </section>
+
+ <section id="question_10">
+ <title>Is a cross-platform project import possible for JBDS?</title>
+
+ <para>Yes. You can easily import created in Linux JSF, Struts or Seam project to Windows and
+ vice versa.</para>
+
+ <para>To do the transferring JSF, Struts or Seam project, go to <emphasis>
+ <property>Menu > Import > General > Existing Projects into Workspace</property>,</emphasis>
+ select the folder where your project stored and press <emphasis>
+ <property>Finish</property>.</emphasis></para>
+ </section>
+</chapter>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/favicon0.ico
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/favicon0.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam10.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam11.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam12.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam13.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam13.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam14.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam14.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam15.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam15.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam16.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam16.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam17.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam17.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam18.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam18.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam19.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam19.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam2.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam20.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam20.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam21.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam21.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam22.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam22.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam23.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam23.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam24.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam24.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam25.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam25.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam26.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam26.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam27.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam27.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam28.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam28.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam29.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam29.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam3.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam30.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam30.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam31.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam31.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam32.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam32.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam33.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam33.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam34.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam34.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam34a.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam34a.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam35.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam35.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam36.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam36.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam37.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam37.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam38.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam38.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam39.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam39.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam4.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam40.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam40.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam41.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam41.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam42.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam42.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam43.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam43.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam44.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam44.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam45.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam45.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam46.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam46.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam47.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam47.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam48.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam48.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam49.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam49.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam5.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam6.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam7.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam7.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam8.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam8.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam8_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam8_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam9.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/first_seam9.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_10.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_3_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_3_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_3_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4a.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4a.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4b.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4b.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4c.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4c.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4d.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4d.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4e.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4e.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4f.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_4f.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_5.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_6.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_7.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_7.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_8.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_8.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_9.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/getting_started_9.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/update_wizard_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/update_wizard_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/update_wizard_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/getting_started/update_wizard_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_10.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_11.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_12.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_13.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_13.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_14.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_14.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_15.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_15.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_16.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_16.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_17.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_17.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_18.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_18.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_19_finger_touch.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_19_finger_touch.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_5.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_6.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_8.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_8.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_9.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/jsp_application/jsp_application_9.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/eap5runtime.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/eap5runtime.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_11.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_15.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_15.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_16.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_16.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_17.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_17.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_6.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_8.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_8.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_9.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/manage/manage_9.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_5.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_user_site.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/pr_example_user_site.png
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/preferences.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/project_examples/preferences.png
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_10.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_11.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_12.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_13.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_13.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_14.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_14.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_15.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_15.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_16.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_16.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_17.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_17.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_18.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_18.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_19.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_19.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_20.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_20.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_21.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_21.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_22.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_22.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_23.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_23.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_5.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_6.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_7.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_7.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_8.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_8.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_8a.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_8a.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_8b.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_8b.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_9.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/GettingStartedGuide/en-US/images/rad_jsf_application/rad_jsf_application_9.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/GettingStartedGuide/en-US/jsp_application.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/jsp_application.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/jsp_application.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,441 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="jsp_application" xreflabel="jsp_application">
+ <?dbhtml filename="jsp_application.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JSP</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Developing a simple JSP web application</title>
+
+ <note>
+ <title>Note:</title>
+ <para>We highly recommend developing in <property>Seam</property>. This chapter is for users
+ who for some reason cannot use Seam.</para>
+ </note>
+
+ <para>In this chapter you'll find out how to create a simple <ulink
+ url="http://java.sun.com/products/jsp/">JSP</ulink> application using the
+ <property>JBoss Developer Studio</property>. The application will show a classic
+ "Hello World!" on the page.</para>
+ <para>We'll assume that you have already launched <property>JBoss Developer
+ Studio</property> and also that the <property>Web Development</property> perspective is the
+ current perspective. If not, make it active by selecting <emphasis>
+ <property>Window > Open Perspective > Web Development</property>
+ </emphasis> from the menu bar or by selecting <emphasis>
+ <property>Window > Open Perspective > Other...</property>
+ </emphasis> from the menu bar and then selecting Web Development from the Select Perspective
+ dialog box.</para>
+
+ <section id="SettingUpTheProject">
+ <?dbhtml filename="SettingUpTheProject.html"?>
+ <title>Setting Up the Project</title>
+ <para>We are going to start with the creating a Dynamic Web Project with a minimal
+ structure, i.e. with just required facets. Thus this section will perform you all
+ necessary steps on how to do this.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Go to the menu bar and select <emphasis>
+ <property>File > New > Other...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Web > Dynamic Web Project</property>
+ </emphasis> in the New Project dialog box</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Next</property>
+ </emphasis>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Enter "jspHello" as a project name</para>
+ </listitem>
+ <listitem>
+ <para>Then select <emphasis>
+ <property>Minimal Configuration</property>
+ </emphasis> from the list of possible configurations and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Create New Web Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <emphasis>
+ <property>jspHello</property>
+ </emphasis> node should appear in the upper-left <property>Package Explorer</property>
+ view.</para>
+ <figure>
+ <title>New Web Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="CreatingJSPPage">
+ <?dbhtml filename="CreatingJSPPage.html"?>
+ <title>Creating JSP Page</title>
+ <para>This section covers all the points how to create, edit and then preview JSP page.</para>
+ <para>In our simple application we need to create only one JSP page which displays a
+ <emphasis>"Hello World!"</emphasis> message.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis><property>WebContent > New >
+ JSP</property>. </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type "hello.jsp" for a file name and click the <emphasis>
+ <property>Next</property>
+ </emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <para>In the next window you can choose a template for your jsp page and see its preview.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property>New JSP File (xhtml)</property>
+ </emphasis> template and click <emphasis>
+ <property>Finish</property>
+ </emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Create JSP Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Our <emphasis><property>hello.jsp</property></emphasis> page will now appear in
+ <property>Project Explorer</property>.
+ </para>
+ <section id="EditingJSPPage">
+ <?dbhtml filename="EditingJSPPage.html"?>
+ <title>Editing a JSP Page</title>
+ <para>Let's now make a little change so that a jsp page displays
+ <emphasis>"Hello World!"</emphasis> message.</para>
+ <itemizedlist>
+ <listitem>
+ <!--<para>Insert this line inside the <emphasis role="bold">
+ <property><body></property>
+ </emphasis><emphasis role="bold">
+ <property></body></property>
+ </emphasis> tag: </para>-->
+ <para>
+
+ Insert this line inside the
+ <code><body> </body>
+ </code>
+ tag:
+ </para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<% System.out.println("Hello World!"); %>]]>
+ </programlisting>
+
+ <para>Notice that content assist functionality is always available when you are typing:</para>
+ <figure>
+ <title>Content Assist in JSP Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>After changes made your <emphasis>
+ <property>hello.jsp</property>
+ </emphasis> page should look like this:</para>
+ <figure>
+ <title>Hello.jsp Page Source</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>This line will actually output <emphasis>"Hello
+ World!"</emphasis> message in the <property>Console</property>. To make the
+ message displayed in the Browser, just replace this line with the simple
+ <emphasis>Hello World!</emphasis>.</para>
+ </section>
+
+ <section id="WebXML">
+ <?dbhtml filename="WebXML.html"?>
+ <title>web.xml file</title>
+ <para>When you are creating web project the wizard creates the <emphasis>
+ <property>web.xml</property>
+ </emphasis> for you automatically. The <property>web.xml file editor</property>
+ provided by <property>JBoss Developer Studio</property> is available in two modes:
+ <property>Tree</property> and <property>Source</property>.</para>
+ <figure>
+ <title>Web.xml in Design and Source Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_6.png" scale="90"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Both modes are fully synchronized. Let's add mapping to our <emphasis>
+ <property>hello.jsp</property>
+ </emphasis> page in <emphasis>
+ <property>web.xml</property>
+ </emphasis> file.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to <property>Source</property> tab.</para>
+ </listitem>
+ <listitem>
+ <para>Add the next code into
+ <code><welcome-file-list></code>
+ :</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<welcome-file>hello.jsp</welcome-file>
+]]></programlisting>
+ <para>If you come back to <property>Tree</property> mode you will see that the changes
+ made are automatically reflected in that mode.</para>
+ <para>Actually you don't really need to do any configurations right now.</para>
+ </section>
+
+ <section id="DeployTheProject">
+ <?dbhtml filename="DeployTheProject.html"?>
+ <title>Deploying the project</title>
+ <para>While creating any web project you could experience a pain writing ant scripts and
+ managing the packaging even when writing the most trivial web applications. With
+ <property>JBoss Developer Studio</property> you are saved from such a pain. All
+ you need is to start <property>JBoss Server</property> and launch your application
+ in your favorite browser.</para>
+ <para>You can also create a war archive with JBDS's Archive Tools
+ and export it to any web server.</para>
+ <section id="WarConfig">
+ <?dbhtml filename="WarConfig.html"?>
+ <title>WAR Config</title>
+ <para>Project archives managing is available through Project Archives view.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Window > Show view > Other > JBoss
+ Tools > Project archives</property>
+ </emphasis> from menu bar</para>
+ </listitem>
+ <listitem>
+ <para>Select a project in Package Explorer you want to be archived</para>
+ </listitem>
+ </itemizedlist>
+ <para>In <property>Project Archives</property> you will see available archive types
+ for the project:</para>
+ <figure>
+ <title>Project Archives</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click, for example, <emphasis>
+ <property>WAR</property>
+ </emphasis> option to create war archive</para>
+ </listitem>
+ </itemizedlist>
+ <para>In the <property>New WAR</property> dialog you can see automatically selected
+ default values.</para>
+ <figure>
+ <title>New WAR Archive</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Next</property>
+ </emphasis> to see a stub archive configuration for your project: <figure>
+ <title>Stub Archive Configuration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsp_application/jsp_application_10.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>. </emphasis> The
+ <emphasis>.war</emphasis> file will appear in <property>Package
+ Explorer</property> and also in <property>Project Archives</property>
+ view as structure tree: <figure>
+ <title>Archive is Created</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsp_application/jsp_application_11.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure>
+ <title>Archive in Project Archives View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsp_application/jsp_application_12.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>Via <property>Project Archives</property> view you could now edit your
+ archive, add new folders, publish to server, and so on:</para>
+ <figure>
+ <title>Configure Archive</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_13.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="AutoRedeploy">
+ <?dbhtml filename="AutoRedeploy.html"?>
+ <title>Auto redeploy</title>
+ <para>When you are creating a web application and register it on <property>JBoss
+ Server</property> it is automatically deployed into
+ <emphasis>/deploy</emphasis> directory of the server. JBDS comes with the
+ feature of auto-redeploy. It means that you don't need to restart
+ <property>JBoss Server</property>. Any changes made in the application in
+ exploded format will trigger a redeployment on the server.</para>
+
+ <para>You can also use the "Finger touch" button for a quick restart of the project without restarting the server:</para>
+ <figure>
+ <title>Finger Touch button</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_19_finger_touch.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>The "Finger" touches descriptors dependent on project (i.e. web.xml for WAR, application.xml for EAR, jboss-esb.xml in ESB projects).</para>
+
+ </section>
+
+ </section>
+
+ <section id="Previewtab">
+ <?dbhtml filename="Previewtab.html"?>
+ <title>JSP Page Preview</title>
+ <para><property>JBDS</property> comes with JSP design-time preview features. When
+ designing JSP pages you can easily preview how they will look during runtime. You
+ can even attach your stylesheet to the
+ Preview.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Make a little change to <emphasis>
+ <property>hello.jsp</property>
+ </emphasis> page, e.g. put this code snippet:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<%= new java.util.Date() %>
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Save</property>
+ </emphasis> button.</para>
+ </listitem>
+ <listitem>
+ <para>Switch to Preview page by clicking <property>Preview</property> tab at the
+ bottom of the page. You will see how the page will look at runtime.</para>
+ </listitem>
+ </itemizedlist>
+ <!-- <figure>
+ <title>Preview Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_14.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ -->
+ </section>
+ <section id="LaunchingTheProject">
+ <?dbhtml filename="LaunchingTheProject.html"?>
+ <title>Launch JSP Project</title>
+ <para>Let's now launch our project on server. We'll use
+ <property>JBoss Server</property> that is shipped with <property>JBoss Developer
+ Studio</property>. You can do it by performing one of the following actions:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Start JBoss Server from JBoss
+ Server view by clicking the Start the server icon (
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_18.png"/>
+ </imageobject>
+ </inlinemediaobject> ) .</para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para>Click the Run icon or right click your project folder and select <emphasis>
+ <property>Run As > Run on Server</property>. </emphasis> If you
+ haven't made any changes in <emphasis>
+ <property>web.xml</property>
+ </emphasis> file or cleared it out you can launch the application by right
+ clicking the <emphasis>
+ <property>hello.jsp</property>
+ </emphasis> page and selecting <emphasis>
+ <property>Run on the Server</property> </emphasis>(
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_16.png"/>
+ </imageobject>
+ </inlinemediaobject> ).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>You should see the next page in a Browser :</para>
+ <figure>
+ <title>Running Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_17.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Thus with the help of this chapter you've learnt how to organize a Dynamic
+ Web Project with a minimal configuration, add any staff to it (in our case it's
+ just one jsp page) and deploy and run it on the <property>JBoss Server</property>
+ shipped with <property>JBDS</property>.
+ </para>
+ </section>
+
+ </section>
+</chapter>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/manage.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/manage.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/manage.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,308 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="manage" xreflabel="manage">
+ <?dbhtml filename="manage.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Deploy</keyword>
+ <keyword>Deployment</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Manage JBoss AS from JBoss Developer Studio</title>
+
+ <para>In this chapter we'll focus more on how to operate the <property>JBoss
+ AS</property> from <property>JBoss Developer Studio</property>.</para>
+ <para><property>JBoss Developer Studio 2.1.0.GA</property> is shipped with <property>JBoss EAP 5
+ </property>. When you followed the default installation of <property>JBoss
+ Developer Studio</property>, you should already have a JBoss EAP 5 Server installed and
+ defined. To run JBoss AS you need JDK 1.5, JDK 6 is not formally supported yet, although
+ you may be able to start the server with it.</para>
+
+ <section id="JBossbundled">
+ <?dbhtml filename="JBossbundled.html"?>
+ <title>How to Manage the JBoss AS Bundled in JBDS</title>
+ <para>This section covers the basics of working with the <property>JBoss Server</property>
+ supported directly by <property>JBDS</property> via bundled AS plug-in. The server points to
+ the JBoss Enterprise Application Platform 5.0 Runtime shipped with <property>JBDS</property>.</para>
+
+ <figure>
+ <title>JBoss EAP 5.0 Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/eap5runtime.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>To read more about AS plug-in, refer to the Server Manager guide.</para>
+ <section id="StartingServer">
+ <?dbhtml filename="StartingServer.html"?>
+ <title>Starting JBoss Server</title>
+ <para>Starting <property>JBoss Server</property> is quite simple. <property>JBoss
+ Developer Studio</property> allows you to control its behaviour with the help of
+ a special toolbar, where you could start it in a regular or debug mode, stop it or
+ restart it.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>To launch the server click the green-with-white-arrow icon on the
+ <property>JBoss Server View </property>or right click server name in
+ this view and select <emphasis>
+ <property>Start</property>
+ </emphasis>. If this view is not open, select <emphasis>
+ <property>Window > Show View > Other > Server
+ > JBoss Server View</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Starting from Icon</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>While launching, server output is written to the <property>Console
+ view</property>:</para>
+
+ <figure>
+ <title>Console Output</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>When the server is started you should see <emphasis>
+ <property>Started</property>
+ </emphasis> in the square brackets right next its name in <property>JBoss Server
+ View</property>.</para>
+
+ <figure>
+ <title>Server is Started</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <!--para>To see event log after the server is started, expand <property>Event
+ Log</property> branch beneath <property>JBoss Server View</property>:</para>
+ <figure>
+ <title>Event Log</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure-->
+ </section>
+
+ <section id="StoppingJBoss">
+ <?dbhtml filename="StoppingJBoss.html"?>
+ <title>Stopping JBoss Server</title>
+ <para>To stop the server, click the <emphasis>
+ <property>Stop</property>
+ </emphasis> icon in <property>JBoss Server View</property> or right click the server
+ name and press <emphasis>
+ <property>Stop</property>. </emphasis></para>
+
+ <figure>
+ <title>Stopping Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>When the server is stopped you will see <emphasis>
+ <property>Stopped</property>
+ </emphasis> in the square brackets next to its name.</para>
+ </section>
+ <section id="ServerPreferences">
+ <?dbhtml filename="ServerPreferences.html"?>
+ <title>Server Container Preferences</title>
+ <para>You can control how <property>JBoss Developer Studio</property> interacts with
+ server containers in the <property>Server editor</property>. Double-click the server
+ to open it in the editor.</para>
+
+ <figure>
+ <title>Server Overview</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Here you can specify some common settings: host name, server name, runtime as well
+ as settings related to the publishing, timeouts and server ports.</para>
+
+ </section>
+ </section>
+
+ <section id="JBossInstances">
+ <?dbhtml filename="JBossInstances.html"?>
+ <title>How to Use Your Own JBoss AS Instance with JBDS</title>
+ <para>Although <property>JBoss Developer Studio</property> works closely with
+ <property>JBoss EAP 5</property> we do not ultimately tie you to any particular
+ server for deployment. There are some servers that Studio supports directly (via the
+ bundled Eclipse WTP plug-ins). In this section we discuss how to manage self-installed
+ JBoss AS. Suppose you want to deploy the application to <property>JBoss 4.2.3
+ server</property>. First of all you need to install it.</para>
+ <section id="JBossInstalling">
+ <?dbhtml filename="JBossInstalling.html"?>
+ <title>JBoss AS Installation</title>
+ <itemizedlist>
+ <listitem>
+ <para>Download the binary package of JBoss AS, e.g. <property>JBoss 4.2.3</property> and save
+ it on your computer: <ulink url="http://labs.jboss.com/jbossas/downloads"
+ >http://labs.jboss.com/jbossas/downloads</ulink></para>
+ </listitem>
+ </itemizedlist>
+ <para>It does not matter where on your system you install JBoss server.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>The installation of JBoss server into a directory that has a name containing
+ spaces provokes problems in some situations with Sun-based VMs. Try to avoid
+ using installation folders that have spaces in their names.</para>
+ </note>
+
+ <para>There is no requirement for root access to run JBoss Server on UNIX/Linux systems
+ because none of the default ports are within the 0-1023 privileged port
+ range.</para>
+ <itemizedlist>
+ <listitem>
+ <para>After you have the binary archive you want to install, use the JDK jar
+ tool (or any other ZIP extraction tool) to extract the jboss-4.2.3.GA.zip
+ archive contents into a location of your choice. The jboss-4.2.3.GA.tgz
+ archive is a gzipped tar file that requires a gnutar compatible tar which
+ can handle the long pathnames in the archive. The extraction process will
+ create a jboss-4.2.3.GA directory. </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="AddingJBossServer">
+ <?dbhtml filename="AddingJBossServer.html"?>
+ <title>Adding and Configuring JBoss Server</title>
+ <para>Now we should add just installed server into server manager in <property>JBoss
+ Developer Studio</property>.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open the <property>JBoss Server View</property> by selecting <emphasis>
+ <property>Window > Show View > Other > Server
+ > JBoss Server View</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Right click anywhere in this view and select <emphasis>
+ <property>New Server</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>JBoss Community > JBoss 4.2 Server</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Selecting Server Name and Server Type</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <note>
+ <title>Note:</title>
+
+ <para>Now in the <property>New Server wizard</property> there is a separation
+ between the .org servers (the <emphasis>
+ <property>JBoss Community</property>
+ </emphasis> category) and product server that comes bundled with JBoss EAP (the
+ <emphasis>
+ <property>JBoss Enterprise Middleware</property></emphasis> category).</para>
+ </note>
+
+ <itemizedlist>
+ <listitem>
+ <para>To create a new runtime, which Jboss AS 4.2 matches to, click <emphasis>
+ <property>Next</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para>In the next step make <property>JBoss Developer Studio</property> to know
+ where you have installed the Server and define JRE.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Defining JBoss Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_11.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <note>
+ <title>Note:</title>
+ <para>When adding a new server you will need to specify what JRE to use. It is
+ important to set this value to a full JDK, not JRE. Again, you need a full JDK
+ to run Web applications, JRE will not be enough.</para>
+ </note>
+
+ <itemizedlist>
+ <listitem>
+ <para>In the next dialog verify the specified information and if something is
+ unfair go back and correct it</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>JBoss Runtime Summary</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_15.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>In the last wizard's dialog modify the projects that are
+ configured on the server and click <emphasis>
+ <property>Finish</property>
+ </emphasis>.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Configuring Projects</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_16.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>A new <property>JBoss Server</property> should now appear in the <property>JBoss
+ Server view</property>.</para>
+ <figure>
+ <title>New JBoss Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_17.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Now, we are ready to create the first web application.</para>
+ </section>
+
+ </section>
+</chapter>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/master.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/master.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/master.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+[
+<!ENTITY getting_started SYSTEM "getting_started.xml">
+<!ENTITY manage SYSTEM "manage.xml">
+<!ENTITY first_seam SYSTEM "first_seam.xml">
+<!ENTITY jsp_application SYSTEM "jsp_application.xml">
+<!ENTITY rad_jsf_application SYSTEM "rad_jsf_application.xml">
+<!ENTITY gsg_faq SYSTEM "gsg_faq.xml">
+<!ENTITY further_reading SYSTEM "further_reading.xml">
+<!ENTITY project_examples SYSTEM "project_examples.xml">
+
+
+<!ENTITY seamlink "../../seam/html_single/index.html">
+<!ENTITY aslink "../../as/html_single/index.html">
+<!ENTITY esblink "../../esb_ref_guide/html_single/index.html">
+<!ENTITY gsglink "../../GettingStartedGuide/html_single/index.html">
+<!ENTITY hibernatelink "../../hibernatetools/html_single/index.html">
+<!ENTITY jbpmlink "../../jbpm/html_single/index.html">
+<!ENTITY jsflink "../../jsf/html_single/index.html">
+<!ENTITY jsfreflink "../../jsf_tools_ref_guide/html_single/index.html">
+<!ENTITY jsftutoriallink "../../jsf_tools_tutorial/html_single/index.html">
+<!ENTITY strutsreflink "../../struts_tools_ref_guide/html_single/index.html">
+<!ENTITY strutstutoriallink "../../struts_tools_tutorial/html_single/index.html">
+<!ENTITY jbossportallink "../../jboss_portal_tools_ref_guide/html_single/index.html">
+<!ENTITY migrationlink "../../Exadel-migration/html_single/index.html">
+<!ENTITY wslink "../../ws_ref_guide/html_single/index.html">
+<!ENTITY smookslink "../../jboss_smooks_plugin_ref_guide/html_single/index.html">
+<!ENTITY droolslink "../../drools_tools_ref_guide/html_single/index.html">
+<!ENTITY jmxlink "../../jmx_ref_guide/html_single/index.html">
+<!ENTITY guvnorlink "../../guvnor_tools_ref_guide/html_single/index.html">
+
+
+]>
+
+<book>
+ <bookinfo>
+ <title>Getting Started Guide</title>
+
+ <copyright>
+ <year>2007</year>
+ <year>2008</year>
+ <year>2009</year>
+ <year>2010</year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo>Version: 3.0.0.GA</releaseinfo>
+ <abstract>
+ <title/>
+ <para>
+ <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/GettingStartedGuide/...">PDF version</ulink>
+ </para>
+</abstract>
+
+
+</bookinfo>
+ <toc/>
+
+
+
+&getting_started;
+ &manage;
+ &first_seam;
+ &jsp_application;
+ &rad_jsf_application;
+ &project_examples;
+ &gsg_faq;
+ &further_reading;
+
+</book>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/master_output.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/master_output.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/master_output.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,4414 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+[
+<!ENTITY getting_started SYSTEM "modules/getting_started.xml">
+<!ENTITY manage SYSTEM "modules/manage.xml">
+<!ENTITY first_seam SYSTEM "modules/first_seam.xml">
+<!ENTITY jsp_application SYSTEM "modules/jsp_application.xml">
+<!ENTITY rad_jsf_application SYSTEM "modules/rad_jsf_application.xml">
+<!ENTITY gsg_faq SYSTEM "modules/gsg_faq.xml">
+<!ENTITY further_reading SYSTEM "modules/further_reading.xml">
+<!ENTITY project_examples SYSTEM "modules/project_examples.xml">
+
+
+<!ENTITY seamlink "../../seam/html_single/index.html">
+<!ENTITY aslink "../../as/html_single/index.html">
+<!ENTITY esblink "../../esb_ref_guide/html_single/index.html">
+<!ENTITY gsglink "../../GettingStartedGuide/html_single/index.html">
+<!ENTITY hibernatelink "../../hibernatetools/html_single/index.html">
+<!ENTITY jbpmlink "../../jbpm/html_single/index.html">
+<!ENTITY jsflink "../../jsf/html_single/index.html">
+<!ENTITY jsfreflink "../../jsf_tools_ref_guide/html_single/index.html">
+<!ENTITY jsftutoriallink "../../jsf_tools_tutorial/html_single/index.html">
+<!ENTITY strutsreflink "../../struts_tools_ref_guide/html_single/index.html">
+<!ENTITY strutstutoriallink "../../struts_tools_tutorial/html_single/index.html">
+<!ENTITY jbossportallink "../../jboss_portal_tools_ref_guide/html_single/index.html">
+<!ENTITY migrationlink "../../Exadel-migration/html_single/index.html">
+<!ENTITY wslink "../../ws_ref_guide/html_single/index.html">
+<!ENTITY smookslink "../../jboss_smooks_plugin_ref_guide/html_single/index.html">
+<!ENTITY droolslink "../../drools_tools_ref_guide/html_single/index.html">
+<!ENTITY jmxlink "../../jmx_ref_guide/html_single/index.html">
+<!ENTITY guvnorlink "../../guvnor_tools_ref_guide/html_single/index.html">
+
+
+]><book xmlns:diffmk="http://diffmk.sf.net/ns/diff">
+ <bookinfo>
+ <title>Getting Started with JBoss Developer Studio</title>
+
+ <copyright>
+ <year>2007</year>
+ <year>2008</year>
+ <year>2009</year>
+ <year>2010</year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo>Version: 3.0.0.GA</releaseinfo>
+ <abstract>
+ <title></title>
+ <para>
+ <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/GettingStartedGuide/...">PDF version</ulink>
+ </para>
+</abstract>
+
+
+</bookinfo>
+ <toc></toc>
+
+
+
+
+<chapter id="getting_started" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/GettingStartedGuide/en/modules/getting_started.xml" xreflabel="getting_started">
+ <?dbhtml filename="getting_started.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Getting Started with JBoss Developer Studio</title>
+
+ <section id="intro1">
+ <title>What is JBDS?</title>
+ <para><property moreinfo="none">JBoss Developer Studio</property> is a set of eclipse-based development tools that
+ are pre-configured for JBoss Enterprise Middleware Platforms and Red Hat Enterprise Linux.
+ Developers are not required to use <property moreinfo="none">JBoss Developer Studio</property> to develop on
+ JBoss Enterprise Middleware and/or Red Hat Linux. But, many find these pre-configured tools offer
+ significant time-savings and value, making them more productive and speeding time to deployment.</para>
+ <para>This guide covers the first steps to get started working with <property moreinfo="none">JBoss Developer
+ Studio</property>. You will learn how to install and configure necessary software for your OS
+ (currently Linux, Microsoft Windows or Mac OSX).</para>
+ <para>Thus this guide will provide you with detailed info on how to start JDK, JBDS and JBoss
+ Tools.</para>
+ </section>
+
+<section>
+ <title>Key Features of JBoss Developer Studio and Requirements</title>
+ <para>For a start, we propose you to look through the table of main features of JBoss Developer Studio:</para>
+
+ <table>
+
+ <title>Key Functionality of JBoss Developer Studio</title>
+ <tgroup cols="2">
+
+ <colspec align="left" colnum="1" colwidth="2*"></colspec>
+ <colspec colnum="2" colwidth="4*"></colspec>
+
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry><para>JBoss Enterprise Application Platform</para></entry>
+ <entry><para>JBoss Developer Studio includes and integrates JBoss Enterprise Application Platform, the same version of the middleware platform that Red Hat supports in production for 5 years.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>New Seam Tools</para></entry>
+ <entry><para>JBoss Developer Studio includes brand new tools for Seam. They provide wizards for creating new Seam projects, validation tools, expression language code completion, testing tools, and wizards for generating entity objects.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Visual Page Editor</para></entry>
+ <entry><para>JBoss Developer Studio includes a Visual Page Editor for combined visual and source editing of Web pages. The Visual Page Editor even renders AJAX-enabled RichFaces components.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>AJAX Capabilities</para></entry>
+ <entry><para>JBoss Developer Studio includes a Technology Preview of JBoss RichFaces. RichFaces provides nearly 70 skinnable components, including calendar, tree, dropdown menu, drag-and-drop components, and more. JBoss Developer Studio’s Visual Page Editor can render RichFaces components.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>JBoss Tools Palette</para></entry>
+ <entry><para>The JBoss Tools Palette contains a developer’s project tag libraries and enables inserting tags into a JSP with one click. The Tools Palette supports custom and 3rd party tags.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>JBoss jBPM Tools</para></entry>
+ <entry><para>JBoss Developer Studio includes jBPM tooling for defining Seam page flows.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Spring Tools</para></entry>
+ <entry><para>JBoss Developer Studio includes Spring IDE for developing Spring applications.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Struts Tools</para></entry>
+ <entry><para>JBoss Developer Studio includes Struts tools for Struts 1.x applications.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Optimized JBoss Application Server adapter</para></entry>
+ <entry><para>JBoss Developer Studio’s advanced JBoss AS adapter includes features like incremental deployment for fast development and is pre-configured for the included JBoss Application server.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>Red Hat Enterprise Linux and RHN Access</para></entry>
+ <entry><para>JBoss Developer Studio includes access to Red Hat Enterprise Linux, Linux development tools, and Red Hat Network for development purposes.</para></entry>
+ </row>
+
+ <row>
+ <entry><para> Project Examples</para></entry>
+ <entry><para> Tooling for easy installation of Examples.</para></entry>
+ </row>
+
+ <row>
+ <entry><para>JBossWeb Service</para></entry>
+ <entry><para>JBoss WS is a web service framework developed as a part of the JBoss Application Server. It implements the JAX-WS specification that defines a programming model and run-time architecture for implementing web services in Java, targeted at the Java Platform, Enterprise Edition 5 (Java EE 5).</para></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para><property moreinfo="none">JBDS</property> requires JDK 5+ (JDK 6 in case of EAP 5.0). Also it's important that
+ the JVM's architecture matches the particular <property moreinfo="none">JBDS</property> build, i.e. if you're on a
+ 64-bit system and use the 64-bit JVM, you need the 64-bit JBDS.</para>
+
+ <para>For the 32-bit version of JBDS use the 32-bit JVM or just use <literal moreinfo="none">-vm</literal> flag to
+ tell JBDS to use 32-bit java if the 64-bit one is found as the default.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>On Linux system with 64-bit JVM the visual editor may fail to start. In this case you need the <literal moreinfo="none">libstdc++.so.5</literal> library.
+ See also the <link linkend="question_1">FAQ</link>.</para>
+ </note>
+</section>
+
+ <section id="ConfigJavaEnvironment">
+ <?dbhtml filename="ConfigJavaEnvironment.html"?>
+ <title>Configuring Your Java Environment</title>
+ <para>You must have a working installation of JDK before you install <property moreinfo="none">JBoss Developer
+ Studio</property>. Thus in this
+ guide we will show you how to install a 32-bit Sun JDK 5.0 on a Linux Platform and Microsoft
+ Windows Platform.</para>
+
+ <section id="InstallJDK50onLinux">
+ <title>Installing and Configuring 32-bit Sun JDK 5.0 on Linux</title>
+ <para>To install 32-bit Sun JDK 5.0 on Linux and configure it, you should follow the next steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Download the <ulink url="http://java.sun.com/javase/downloads/index_jdk5.jsp">Sun JDK 5.0
+ (Java 2 Development Kit)</ulink> from Sun's website. Choose "JDK 5.0 Update
+ <x>" (where "x" is the latest update number) for
+ download and then select "Red Hat Package Manager in self-extracting" file
+ for Linux. Read the instructions on Sun's website for installing the JDK.</para>
+ </listitem>
+ <listitem>
+ <para>If you don't want to use SysV service scripts you can install the
+ "self-extracting file" for Linux instead of choosing the "RPM in
+ self-extracting" file. In that case you can skip the next step mentioned here. But it
+ is recommended to use the SysV service scripts for production servers.</para>
+ </listitem>
+ <listitem>
+ <para>Download and install the appropriate -compat RPM from JPackage <ulink url="ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/RPMS.non-free/">here</ulink>.
+ Please ensure you choose a matching version of the -compat package to the JDK you've
+ installed.</para>
+ </listitem>
+ <listitem>
+ <para>Create an environment variable that points to the JDK installation directory and call it
+ JAVA_HOME. Add <emphasis>
+ <property moreinfo="none">$JAVA_HOME/bin</property>
+ </emphasis> to the system path to be able to run java from the command line. You can do this
+ by adding the following lines to the .bashrc file in your home directory.</para>
+ <programlisting format="linespecific"><![CDATA[#In this example /usr/java/jdk1.5.0_11 is the JDK installation directory.
+export JAVA_HOME=/usr/java/jdk1.5.0_11
+export PATH=$PATH:$JAVA_HOME/bin]]></programlisting>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <title>Note:</title>
+
+ <para>If you have JDK already installed and added in your system path, you should add
+ <emphasis>$JAVA_HOME/bin</emphasis> before the old <emphasis>$PATH</emphasis> (not after it)
+ so that the new version of JDK can be found first, i. e. <emphasis>
+ <emphasis>export PATH=$JAVA_HOME/bin:$PATH</emphasis>
+ </emphasis> This way, the machine will pick up the new JVM first. You only need to run
+ "alternative" as a safe guard for the right JVM. </para>
+ </note>
+
+ <para>Set this variable for your account doing the installation and also for the user account
+ that will run the server.</para>
+ <itemizedlist>
+ <listitem>
+ <para>If you have more than one version of JVM installed on your machine, make sure you are
+ using the JDK 1.5 installation as the default java and javac. You can do this using the
+ alternatives system. The alternatives system allows different versions of Java from different
+ sources to co-exist on your system.</para>
+ </listitem>
+ </itemizedlist>
+ <section id="SelectAlternativesforJava">
+ <title>Select alternatives for java, javac and java_sdk_1.5.0</title>
+ <itemizedlist>
+ <listitem>
+ <para>As a root user, type the following command at the shell prompt and you should see
+ something like this:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific"><![CDATA[[root@vsr ~]$ /usr/sbin/alternatives --config java
+There are 2 programs that provide 'java'.
+Selection Command
+-----------------------------------------------
+ 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
+*+ 2 /usr/lib/jvm/jre-1.5.0-sun/bin/java
+Enter to keep the current selection[+], or type selection number:]]></programlisting>
+ <para>Make sure the Sun version [jre-1.5.0-sun in this case] is selected (marked with a
+ '+' in the output), or select it by entering its number as prompted.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Repeat the same for javac and java_sdk_1.5.0.</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific"><![CDATA[[root@vsr ~]$ /usr/sbin/alternatives --config javac
+There is 1 program that provides 'javac'.
+ Selection Command
+-----------------------------------------------
+*+ 1 /usr/lib/jvm/java-1.5.0-sun/bin/javac
+Enter to keep the current selection[+], or type selection number:
+
+[root@vsr ~]$ /usr/sbin/alternatives --config java_sdk_1.5.0
+There is 1 program that provide 'java_sdk_1.5.0'.
+ Selection Command
+-----------------------------------------------
+*+ 1 /usr/lib/jvm/java-1.5.0-sun
+Enter to keep the current selection[+], or type selection number:]]></programlisting>
+ <para>You should verify that java, javac and java_sdk_1.5.0 all point to the same manufacturer
+ and version.</para>
+ <note>
+ <title>Note:</title>
+ <para>You can always override this step by setting the JAVA_HOME environment variable as
+ explained in the previous step.</para>
+ </note>
+ <itemizedlist>
+ <listitem>
+ <para>Make sure that the java executable is in your path and that you are using an appropriate
+ version. To verify your Java environment, type "java -version" at the shell
+ prompt and you should see something like this:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific"><![CDATA[[root@vsr ~]$ java -version
+java version "1.5.0_11"
+Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
+Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)]]></programlisting>
+ </section>
+
+ </section>
+ <section id="InstallJDK50onWindows">
+ <title>Installing and Configuring 32-bit Sun JDK 5.0 on Microsoft Windows</title>
+
+ <para>To install and configure 32-bit Sun JDK 5.0 on Microsoft Windows, follow these steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Download the <ulink url="http://java.sun.com/javase/downloads/index_jdk5.jsp">Sun JDK 5.0
+ (Java 2 Development Kit)</ulink> from Sun's website. Choose "JDK 5.0 Update
+ <x>" (where "x" is the latest update number) for
+ download and then select your Windows Platform options to perform the installation.</para>
+ </listitem>
+ <listitem>
+ <para>Create an environment variable called JAVA_HOME that points to the JDK installation
+ directory, for example:
+ <emphasis>C:\Program Files\Java\jdk1.5.0_11\</emphasis>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>In order to run java from the command line, add the <emphasis>jre\bin</emphasis> directory
+ to your path, for example:</para>
+ <para>
+ <emphasis>C:\Program Files\Java\jdk1.5.0_11\jre\bin</emphasis>
+ </para>
+ <para>To do this, open the <emphasis>
+ <property moreinfo="none">Control Panel</property>
+ </emphasis> from the <emphasis>
+ <property moreinfo="none">Start</property>
+ </emphasis> menu, switch to Classic View if necessary, open the System Control Panel applet (<emphasis>
+ <property moreinfo="none">System</property>
+ </emphasis>), select the <emphasis>
+ <property moreinfo="none">Advanced</property>
+ </emphasis> Tab, and click on the <emphasis>
+ <property moreinfo="none">Environment Variables</property>
+ </emphasis> button.</para>
+ <para>Now, when 32-bit Sun JDK 5.0 has been successfully installed, we can pass on to the next
+ step.</para>
+ </section>
+
+ </section>
+
+ <section id="InstallingJBDS">
+ <?dbhtml filename="InstallingRHDS.html"?>
+ <title>JBoss Developer Studio Installation</title>
+
+ <para>This chapter will provide you with detailed information on how to install <property moreinfo="none">JBoss
+ Developer Studio</property>.</para>
+
+ <para>JBDS comes with a simple installer, bundled with tested/pre-configured versions of Eclipse,
+ WTP, JBossEAP, Seam, and SpringIDE. Thus, to start perform the next steps:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>First of all you need the appropriate installation file for your platform from
+ <ulink url="https://www.redhat.com/apps/store/developers/jboss_developer_studio.html">Red Hat
+ website</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>Then run in console:</para>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[java -jar jbdevstudio-eap-linux-gtk-2.1.0.GA.jar
+]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>Follow the instructions presented by the installation wizard:</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>JBoss Developer Studio Installation Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Provide the installation path</para>
+ </listitem>
+ <listitem>
+ <para>Select Java VM</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Select Java VM</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <tip>
+ <title>Tip:</title>
+ <para>By selecting <emphasis>
+ <property moreinfo="none">Default Java VM</property>
+ </emphasis> you set default Java VM of your system (to verify your Java environment, type
+ "java -version" in console).</para>
+ </tip>
+
+ <para>Selecting <emphasis>
+ <property moreinfo="none">Specific Java VM</property>
+ </emphasis> you can provide the path to non-default Java VM.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>JBoss Developer Studio needs Java 5 and "gij" isn't available on
+ every platform.</para>
+ </note>
+
+ <itemizedlist>
+ <listitem>
+ <para>Installation process includes <ulink url="http://www.jboss.com/products/platforms/application">JBoss Enterprise Application
+ Platform</ulink>. Select <emphasis>
+ <property moreinfo="none">Yes</property></emphasis> to use it in JBoss Developer Studio.</para>
+ <note>
+ <title>Note:</title>
+ <para>JBDS 2.0.0.GA comes integrated with JBoss EAP 4.3, while the current 2.1.0.GA release of JBDS comes with JBoss EAP 5 that support EAP 5 adapter
+ and Seam 2.2.</para>
+ </note>
+
+ <para>This step lets you configure locally available JBoss Application Servers: </para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>JBoss Enterprise Application Platform Installing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+<itemizedlist>
+ <listitem><para>You can fill the list automatically using the <emphasis><property moreinfo="none">Find</property></emphasis> button: click <emphasis><property moreinfo="none">Find</property></emphasis>, select a folder where search of available JBoss Application Servers should be started and click on <emphasis><property moreinfo="none">Ok</property></emphasis>: </para> </listitem>
+</itemizedlist>
+
+ <figure float="0">
+ <title>Finding Servers in the Selected Directory</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3_3_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para></para>
+
+ <itemizedlist>
+ <listitem><para> All available servers in the selected directory will be added to the list with the following information specified: Name, Type, Version and Location.
+ </para></listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem> <para>You can also add servers one by one using the <emphasis><property moreinfo="none">Add</property></emphasis> button:</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Add Server to be Configured</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para></para>
+
+<para>Click on <emphasis><property moreinfo="none">Browse</property></emphasis> and select the server location. Fields Name, Type and Version will be filled in automatically:</para>
+
+ <figure float="0">
+ <title>Specify Server Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para></para>
+
+
+ <para>Click on <emphasis><property moreinfo="none">Ok</property></emphasis>. The server is added to the list with the details on its type, version and location.</para>
+
+
+
+ <para>The <emphasis><property moreinfo="none">Remove</property></emphasis> button will the remove the selected server from the list. If necessary, you can edit the server details clicking on the <emphasis><property moreinfo="none">Edit</property></emphasis> button:</para>
+
+ <figure float="0">
+ <title>Edit Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_3_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para></para>
+
+
+
+ <!-- <note>
+ <title>Note:</title>
+ <para>The installer installs JBoss Enterprise Application Platform for running your applications
+ if you select this option during the installation process. If you want to use a different server
+ than ours, you can change the setting in JBoss Developer Studio.</para>
+ </note>-->
+
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis><property moreinfo="none">Next</property></emphasis>. Check your installation paths and see the components to install. If you'd like to change
+ something, press the <emphasis>
+ <property moreinfo="none">Previous</property>
+ </emphasis> button. Click <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> to start installation. </para>
+ </listitem>
+ </itemizedlist>
+
+ <para></para>
+
+ <figure float="0">
+ <title>Summary Information</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="jbds_jbosstools">
+
+ <title>JBoss Developer Studio and JBoss Tools</title>
+
+ <para>This section uncovers the points on the differences between <property moreinfo="none">JBoss Developer
+ Studio</property> and <property moreinfo="none">JBoss Tools</property> and provides the steps on <property moreinfo="none">JBoss
+ Tools</property> installation as well.</para>
+
+ <section id="WhatDifferenceBetweenJBDSAndJBossTools">
+ <title>What is the difference?</title>
+
+ <para><property moreinfo="none">JBoss Tools</property> is what went into our <property moreinfo="none">JBoss Developer
+ Studio</property> which comes as an easy-to-install Eclipse based IDE fully configured and ready
+ to run with the bundled <property moreinfo="none">JBoss Enterprise Application Platform</property>.</para>
+
+ <para>In short <property moreinfo="none">JBoss Tools</property> are just a set of Eclipse plugins and
+ <property moreinfo="none">JBoss Developer Studio</property> adds:</para>
+ <itemizedlist>
+ <listitem>
+ <para>An installer</para>
+ </listitem>
+ <listitem>
+ <para>Eclipse and Web Tools preconfigured</para>
+ </listitem>
+ <listitem>
+ <para>JBoss EAP with JBoss AS and Seam preconfigured</para>
+ </listitem>
+ <listitem>
+ <para>3rd party plugins bundled and configured</para>
+ </listitem>
+ <listitem>
+ <para>Access to RHEL and Red Hat Network</para>
+ </listitem>
+ <listitem>
+ <para>Access to the JBoss/Red Hat supported software</para>
+ </listitem>
+ </itemizedlist>
+ <para> For additional information see <ulink url="http://www.jboss.com/products/devstudio">JBoss.com</ulink></para>
+ </section>
+
+ <section id="JBossToolsInstall">
+ <title>JBoss Tools Installation and Update</title>
+ <para>Here, let's consider the installation of the <property moreinfo="none">JBoss Tools</property>
+ modules.</para>
+ <para><property moreinfo="none">JBoss Tools</property> is an umbrella project for the JBoss developed plugins
+ that will make it into <property moreinfo="none">JBoss Developer Studio</property>. The JBoss Tools modules are:</para>
+ <itemizedlist>
+ <listitem>
+ <para>JBoss AS Tools</para>
+ </listitem>
+ <listitem>
+ <para>Seam Tools</para>
+ </listitem>
+ <listitem>
+ <para>Hibernate Tools</para>
+ </listitem>
+ <listitem>
+ <para>Visual Page Editor</para>
+ </listitem>
+ <listitem>
+ <para>JST Tools</para>
+ </listitem>
+ <listitem>
+ <para>JBPM Tools</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>To install the JBoss Tools plugins for Eclipse, you need the following:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Get Eclipse and Web Tools (make sure you have the
+ <ulink url="http://www.jboss.org/community/wiki/Matrixofsupportedplatformsruntimesand...">appropriate version of Eclipse</ulink>)</para>
+ </listitem>
+ </itemizedlist>
+ <para>The current version of JBoss Tools (3.1.M2) targets at Eclipse 3.5/Galileo which is available from <ulink url="http://www.eclipse.org/downloads/">eclipse.org</ulink></para>
+
+ <tip>
+ <title>Tip:</title>
+ <para>We recommend you do not use Eclipse.org update site to go from old version of Eclipse to new one.
+ Instead we suggest that you download the full binary from <ulink url="http://www.eclipse.org/downloads/">here</ulink>.</para>
+ </tip>
+
+ <para>If you can only use Eclipse 3.3 use <ulink url="http://www.jboss.org/tools/download.html">JBoss Tools 2.1.2</ulink>, but
+ JBoss Tools 2.x will not have any of the new features.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>Remember to choose the download that matches your OS and use Java 5 when you run
+ it.</para>
+ </note>
+
+ <itemizedlist>
+ <listitem>
+ <para>Get the <ulink url="http://download.jboss.org/jbosstools/builds/nightly/latestBuild.html">latest JBoss Tools build</ulink></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Some of our newer plugins, like TPTP and BIRT, need additional drivers. On the left side of
+ the download page you can find all of the required drivers for chosen build and their versions.</para>
+ <para><diffmk:wrapper diffmk:change="added">If you need to install any standalone plug-in from JBoss Tools visit a </diffmk:wrapper><ulink diffmk:change="added" url="http://labs.jboss.com/wiki/InstallingJBossTools"><diffmk:wrapper diffmk:change="added">JBoss Tools Wiki</diffmk:wrapper></ulink><diffmk:wrapper diffmk:change="added"> page to read
+ about dependencies between standalone plug-ins.</diffmk:wrapper></para>
+ <section diffmk:change="added">
+ <title diffmk:change="added"><diffmk:wrapper diffmk:change="added">Installation From Update Site</diffmk:wrapper></title>
+
+
+ <para diffmk:change="added"><diffmk:wrapper diffmk:change="added">Instead of downloading installation/updating manually, it's also possible to
+ get the latest release of </diffmk:wrapper><property moreinfo="none">JBoss Tools</property><diffmk:wrapper diffmk:change="changed"> from one of our update sites:
+ </diffmk:wrapper><itemizedlist id="sites">
+ <listitem>
+ <para>Stable Updates: <ulink url="http://download.jboss.org/jbosstools/updates/stable">http://download.jboss.org/jbosstools/updates/stable</ulink></para>
+ </listitem>
+ <listitem>
+ <para> Development Updates: <ulink url="http://download.jboss.org/jbosstools/updates/development">http://download.jboss.org/jbosstools/updates/development</ulink></para>
+ </listitem>
+ <listitem diffmk:change="added">
+ <para diffmk:change="added"><diffmk:wrapper diffmk:change="added"> Nightly Builds: </diffmk:wrapper><ulink diffmk:change="added" url="http://download.jboss.org/jbosstools/updates/nightly/trunk/"><diffmk:wrapper diffmk:change="added">http://download.jboss.org/jbosstools/updates/nightly/trunk/</diffmk:wrapper></ulink></para>
+ </listitem>
+ </itemizedlist>
+ </para>
+<itemizedlist>
+ <para diffmk:change="added"><diffmk:wrapper diffmk:change="added">To install/update Jboss Tools from one of the update sites you should follow the steps:</diffmk:wrapper></para>
+ <listitem><para><diffmk:wrapper diffmk:change="changed">First, download the correct version of Eclipse
+ for your platform which is compatible with the version of JBoss
+ Tools you plan to install.For example if you want to install
+ 3.1.0.GA Eclipse 3.5 is required.</diffmk:wrapper></para></listitem>
+ <listitem diffmk:change="added"><para diffmk:change="added"><diffmk:wrapper diffmk:change="added">If you do not already have Java 5 or 6 installed and in your path,
+ download and install it.</diffmk:wrapper></para></listitem>
+ <listitem diffmk:change="added"><para diffmk:change="added"><diffmk:wrapper diffmk:change="added">When Eclipse is started, go to </diffmk:wrapper><itemizedlist diffmk:change="added">
+ <listitem diffmk:change="added"><para><diffmk:wrapper diffmk:change="changed">Help->Software Updates... ->Available Software->Manage Sites...->Add...</diffmk:wrapper><emphasis><diffmk:wrapper diffmk:change="added">(Eclipse 3.4)</diffmk:wrapper></emphasis></para></listitem>
+ <listitem diffmk:change="added"><para><diffmk:wrapper diffmk:change="added">Help->Install New Software->Add..</diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper diffmk:change="added">(Eclipse 3.5)</diffmk:wrapper></emphasis></para></listitem>
+ </itemizedlist>
+ </para></listitem>
+ <listitem diffmk:change="added"><para><diffmk:wrapper diffmk:change="added">After clicking </diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper diffmk:change="added">Add</diffmk:wrapper></emphasis><diffmk:wrapper diffmk:change="added"> button </diffmk:wrapper><property diffmk:change="added" moreinfo="none"><diffmk:wrapper diffmk:change="added">Add Site</diffmk:wrapper></property><diffmk:wrapper diffmk:change="added"> View should appear.
+ In the </diffmk:wrapper><property diffmk:change="added" moreinfo="none"><diffmk:wrapper diffmk:change="added">Location</diffmk:wrapper></property><diffmk:wrapper diffmk:change="added"> field you should paste one of the update sites described
+ </diffmk:wrapper><link diffmk:change="added" linkend="sites"><diffmk:wrapper diffmk:change="added">above</diffmk:wrapper></link><diffmk:wrapper diffmk:change="added">.In </diffmk:wrapper><property diffmk:change="added" moreinfo="none"><diffmk:wrapper diffmk:change="added">Name</diffmk:wrapper></property><diffmk:wrapper diffmk:change="added"> you can write any name you like.
+ In the end press the </diffmk:wrapper><property diffmk:change="added" moreinfo="none"><diffmk:wrapper diffmk:change="added">Ok</diffmk:wrapper></property><diffmk:wrapper diffmk:change="added"> button.</diffmk:wrapper></para>
+ <figure float="0">
+ <title><diffmk:wrapper diffmk:change="changed">Add Update Site</diffmk:wrapper></title>
+ <mediaobject>
+ <imageobject>
+ <imagedata diffmk:change="added" fileref="images/getting_started/getting_started_4a.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem diffmk:change="added" id="from_point"><para diffmk:change="added"><diffmk:wrapper diffmk:change="added">In the </diffmk:wrapper><property diffmk:change="added" moreinfo="none"><diffmk:wrapper diffmk:change="added">Install</diffmk:wrapper></property><diffmk:wrapper diffmk:change="added"> View select features to install, then click </diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper diffmk:change="added">Next</diffmk:wrapper></emphasis><diffmk:wrapper diffmk:change="added">.</diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper diffmk:change="added">Jboss Tools installation</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added" fileref="images/getting_started/getting_started_4b.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem diffmk:change="added"> <para diffmk:change="added"><diffmk:wrapper diffmk:change="added">If Jboss Tools are already installed on your Eclipse and you are doing updating but not
+ installation the following messages will appear in your </diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper diffmk:change="added">Details</diffmk:wrapper></emphasis><diffmk:wrapper diffmk:change="added"> section.
+ Ignore them and press </diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper diffmk:change="added">Next.</diffmk:wrapper></emphasis></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper diffmk:change="added">Possible messages</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added" fileref="images/getting_started/getting_started_4c.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem diffmk:change="added"><para><diffmk:wrapper diffmk:change="changed">When you click Finish the prosses of Installation/Updating starts up. </diffmk:wrapper></para></listitem>
+ <listitem diffmk:change="added"><para><diffmk:wrapper diffmk:change="changed">Install. Restart when prompted.</diffmk:wrapper></para>
+ <figure float="0">
+ <title><diffmk:wrapper diffmk:change="changed">Message dialog</diffmk:wrapper></title>
+ <mediaobject>
+ <imageobject>
+ <imagedata diffmk:change="added" fileref="images/getting_started/getting_started_4d.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem diffmk:change="added"><para diffmk:change="added"><diffmk:wrapper diffmk:change="added">After fetching all the features and plugins for installation,
+ you may be prompted that your selection contains unsigned jars.
+ This is normal,simply accept the warning and continue. </diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper diffmk:change="added">Warning Message</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added" fileref="images/getting_started/getting_started_4e.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+</itemizedlist>
+
+ <note>
+ <title>Note:</title>
+ <para>While installing JBoss Tools on GNU/Linux (64-bit) through the eclipse installation manager you may run into some problems which can interrupt your installation process.
+ Please, read the
+ <ulink url="http://www.jboss.org/community/wiki/ManualinstallationofJBossTools31xonEc...">Manual installation of JBoss Tools 3.1.x on Eclipse 3.5 on GNU/Linux (64-bit)</ulink>
+ wiki article which provides you with the necessary steps to do it correct.</para>
+ </note>
+ </section>
+ <section diffmk:change="added">
+ <title diffmk:change="added"><diffmk:wrapper diffmk:change="added">Installation From Zip file</diffmk:wrapper></title>
+ <para diffmk:change="added"><diffmk:wrapper diffmk:change="added">You can download Jboss tools in a zip file from one of the pages below:</diffmk:wrapper></para>
+ <itemizedlist diffmk:change="added" id="zip_sites">
+ <listitem diffmk:change="added">
+ <para diffmk:change="added"><diffmk:wrapper diffmk:change="added">Stable Releases: </diffmk:wrapper><ulink diffmk:change="added" url="http://www.jboss.org/tools/download/stable.html"><diffmk:wrapper diffmk:change="added">http://www.jboss.org/tools/download/stable.html</diffmk:wrapper></ulink></para>
+ </listitem>
+ <listitem diffmk:change="added">
+ <para diffmk:change="added"><diffmk:wrapper diffmk:change="added"> Development Updates: </diffmk:wrapper><ulink diffmk:change="added" url="http://www.jboss.org/tools/download/dev.html"><diffmk:wrapper diffmk:change="added">http://www.jboss.org/tools/download/dev.html</diffmk:wrapper></ulink></para>
+ </listitem>
+ <listitem diffmk:change="added">
+ <para diffmk:change="added"><diffmk:wrapper diffmk:change="added"> Nightly Builds: </diffmk:wrapper><ulink diffmk:change="added" url="http://download.jboss.org/jbosstools/updates/nightly/"><diffmk:wrapper diffmk:change="added">http://download.jboss.org/jbosstools/updates/nightly/</diffmk:wrapper></ulink></para>
+ </listitem>
+ </itemizedlist>
+ <para diffmk:change="added"><diffmk:wrapper diffmk:change="added">When you downloaded Jboss Tools Zip please </diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper diffmk:change="added">DO NOT UNZIP IT</diffmk:wrapper></emphasis><diffmk:wrapper diffmk:change="added"> and follow the steps described below:</diffmk:wrapper></para>
+ <itemizedlist diffmk:change="added">
+ <listitem diffmk:change="added"><para diffmk:change="added"><diffmk:wrapper diffmk:change="added">When Eclipse is started, go to </diffmk:wrapper><property diffmk:change="added" moreinfo="none"><diffmk:wrapper diffmk:change="added">Help -> Install New Software... -> Add... -> Archive...</diffmk:wrapper></property></para></listitem>
+ <listitem diffmk:change="added"><para diffmk:change="added"><diffmk:wrapper diffmk:change="added">Browse for the update site zip.In the </diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper diffmk:change="added">Name</diffmk:wrapper></emphasis><diffmk:wrapper diffmk:change="added"> field you can write any name you like.
+ In the end press </diffmk:wrapper><property diffmk:change="added" moreinfo="none"><diffmk:wrapper diffmk:change="added">Ok</diffmk:wrapper></property><diffmk:wrapper diffmk:change="added"> button.</diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper diffmk:change="added">Installation from a zip file</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added" fileref="images/getting_started/getting_started_4f.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem diffmk:change="added"><para diffmk:change="added"><diffmk:wrapper diffmk:change="added">All the other steps are the same as it was described in the </diffmk:wrapper><link diffmk:change="added" linkend="from_point"><diffmk:wrapper diffmk:change="added">
+ Installation From Update Site section</diffmk:wrapper></link><diffmk:wrapper diffmk:change="added">. </diffmk:wrapper></para>
+ </listitem>
+ </itemizedlist>
+
+ </section>
+
+ </section>
+ </section>
+
+ <section id="Welcome">
+ <title>Welcome to JBoss Developer Studio</title>
+ <para>In this section we'll show you how to work with the welcome page of the <property moreinfo="none">JBoss
+ Developer Studio</property>.</para>
+ <para>The welcome page is the first page you see when you first launch <property moreinfo="none">JBoss Developer
+ Studio</property>. </para>
+
+ <figure float="0">
+ <title>Welcome to JBoss Developer Studio</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>With the help of its page you will be able:</para>
+ <itemizedlist>
+ <listitem>
+ <para>to get quick access to Getting Started Documentation (guides, tutorials and
+ viewlets)</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Getting Started Documentation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>to create new Seam projects, jBPM Process, JSF or Struts projects using JBDS
+ wizards</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Create New...</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>to get short description of perspectives that JBDS offers for more productive
+ development</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Perspectives</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>to visit JBoss Developer Studio web resources.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Web Resources</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/getting_started/getting_started_9.png" scale="90"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Start work with <property moreinfo="none">JBoss Developer Studio</property> by clicking on <emphasis>
+ <property moreinfo="none">Workbench</property>
+ </emphasis> button or simply close the Welcome page.</para>
+
+ </section>
+
+ <section id="Upgrading">
+ <?dbhtml filename="Upgrading.html"?>
+ <title>Upgrading</title>
+ <para>To upgrade, of course you can uninstall your current version and install the new one.</para>
+ <para>Now it's possible to upgrade from JBDS 2.0 to 2.1 using the update site which is available at
+ <ulink url="is available at http://devstudio.jboss.com/updates/2.1">http://devstudio.jboss.com/updates/2.1</ulink>.
+ This is described more fully in the <ulink url="http://www.jboss.com/products/devstudio/update/">JBDS Update Guide</ulink>.</para>
+ <note diffmk:change="added">
+ <title diffmk:change="added"><diffmk:wrapper diffmk:change="added">Note:</diffmk:wrapper></title>
+ <para diffmk:change="added"><diffmk:wrapper diffmk:change="added">You </diffmk:wrapper><emphasis diffmk:change="added"><property diffmk:change="added" moreinfo="none"><diffmk:wrapper diffmk:change="added">CAN NOT</diffmk:wrapper></property></emphasis><diffmk:wrapper diffmk:change="added"> upgrade from 2.1 to 3.0 using update site because of some platform change.Full installation is required.</diffmk:wrapper></para>
+ </note>
+ </section>
+
+ <section id="Uninstalling">
+ <?dbhtml filename="Uninstalling.html"?>
+ <title>Uninstalling</title>
+ <itemizedlist>
+ <listitem>
+ <para>Make sure <property moreinfo="none">JBoss Developer Studio</property> is not running</para>
+ </listitem>
+ <listitem>
+ <para>Uninstall your current version of <property moreinfo="none">JBoss Developer Studio</property> by running
+ Uninstaller</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="Support">
+ <?dbhtml filename="Support.html"?>
+ <title>Support</title>
+ <para>If you have comments or questions, you can discuss them at our
+ <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=258">JBoss
+ Developer Studio Forum</ulink>.</para>
+ <para>When writing to the forum for questions, please include the following information:</para>
+ <orderedlist continuation="restarts" inheritnum="ignore">
+ <listitem>
+ <para>JBoss Developer Studio version</para>
+ </listitem>
+ <listitem>
+ <para>Exact error message</para>
+ </listitem>
+ <listitem>
+ <para>Steps to reproduce the issue</para>
+ </listitem>
+ </orderedlist>
+
+ <para><property moreinfo="none">JBDS</property> subscribers can get necessary support on our <ulink url="https://network.jboss.com/jbossnetwork/login.html">Support Portal</ulink>.</para>
+ </section>
+
+
+ <section id="OtherRelevantResourcesOnTheTopic33">
+ <?dbhtml filename="OtherRelevantResourcesOnTheTopic33.html"?>
+ <title>Other relevant resources on the topic</title>
+ <para>JBDS on RedHat: <ulink url="http://www.redhat.com/developer_studio">JBoss Developer
+ Studio</ulink></para>
+ <para>Forum: <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=258">JBoss
+ Forum</ulink></para>
+ <para>
+ Wiki: <ulink url="http://www.jboss.org/community/wiki/JBossTools"> JBossToolsWiki </ulink>
+ </para>
+ <para>Subscription: <ulink url="https://www.redhat.com/apps/store/developers/jboss_developer_studio.html">JBDS
+ Subscription</ulink></para>
+
+ <para>The latest documentation builds are available <ulink url="http://download.jboss.org/jbosstools/nightly-docs/">here</ulink>.</para>
+
+ <para>
+ <ulink url="http://www.jboss.org/community/wiki/Matrixofsupportedplatformsruntimesand...">Matrix of supported platforms, runtimes and technologies in JBossTools/JBDS</ulink></para>
+ </section>
+
+</chapter>
+
+
+<chapter id="manage" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/GettingStartedGuide/en/modules/manage.xml" xreflabel="manage">
+ <?dbhtml filename="manage.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Deploy</keyword>
+ <keyword>Deployment</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Manage JBoss AS from JBoss Developer Studio</title>
+
+ <para>In this chapter we'll focus more on how to operate the <property moreinfo="none">JBoss
+ AS</property> from <property moreinfo="none">JBoss Developer Studio</property>.</para>
+ <para><property moreinfo="none">JBoss Developer Studio 2.1.0.GA</property> is shipped with <property moreinfo="none">JBoss EAP 5
+ </property>. When you followed the default installation of <property moreinfo="none">JBoss
+ Developer Studio</property>, you should already have a JBoss EAP 5 Server installed and
+ defined. To run JBoss AS you need JDK 1.5, JDK 6 is not formally supported yet, although
+ you may be able to start the server with it.</para>
+
+ <section id="JBossbundled">
+ <?dbhtml filename="JBossbundled.html"?>
+ <title>How to Manage the JBoss AS Bundled in JBDS</title>
+ <para>This section covers the basics of working with the <property moreinfo="none">JBoss Server</property>
+ supported directly by <property moreinfo="none">JBDS</property> via bundled AS plug-in. The server points to
+ the JBoss Enterprise Application Platform 5.0 Runtime shipped with <property moreinfo="none">JBDS</property>.</para>
+
+ <figure float="0">
+ <title>JBoss EAP 5.0 Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/eap5runtime.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>To read more about AS plug-in, refer to the <ulink url="../../as/html_single/index.html">Server Manager guide</ulink>.</para>
+ <section id="StartingServer">
+ <?dbhtml filename="StartingServer.html"?>
+ <title>Starting JBoss Server</title>
+ <para>Starting <property moreinfo="none">JBoss Server</property> is quite simple. <property moreinfo="none">JBoss
+ Developer Studio</property> allows you to control its behaviour with the help of
+ a special toolbar, where you could start it in a regular or debug mode, stop it or
+ restart it.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>To launch the server click the green-with-white-arrow icon on the
+ <property moreinfo="none">JBoss Server View </property>or right click server name in
+ this view and select <emphasis>
+ <property moreinfo="none">Start</property>
+ </emphasis>. If this view is not open, select <emphasis>
+ <property moreinfo="none">Window > Show View > Other > Server
+ > JBoss Server View</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Starting from Icon</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>While launching, server output is written to the <property moreinfo="none">Console
+ view</property>:</para>
+
+ <figure float="0">
+ <title>Console Output</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>When the server is started you should see <emphasis>
+ <property moreinfo="none">Started</property>
+ </emphasis> in the square brackets right next its name in <property moreinfo="none">JBoss Server
+ View</property>.</para>
+
+ <figure float="0">
+ <title>Server is Started</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <!--para>To see event log after the server is started, expand <property>Event
+ Log</property> branch beneath <property>JBoss Server View</property>:</para>
+ <figure>
+ <title>Event Log</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure-->
+ </section>
+
+ <section id="StoppingJBoss">
+ <?dbhtml filename="StoppingJBoss.html"?>
+ <title>Stopping JBoss Server</title>
+ <para>To stop the server, click the <emphasis>
+ <property moreinfo="none">Stop</property>
+ </emphasis> icon in <property moreinfo="none">JBoss Server View</property> or right click the server
+ name and press <emphasis>
+ <property moreinfo="none">Stop</property>. </emphasis></para>
+
+ <figure float="0">
+ <title>Stopping Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>When the server is stopped you will see <emphasis>
+ <property moreinfo="none">Stopped</property>
+ </emphasis> in the square brackets next to its name.</para>
+ </section>
+ <section id="ServerPreferences">
+ <?dbhtml filename="ServerPreferences.html"?>
+ <title>Server Container Preferences</title>
+ <para>You can control how <property moreinfo="none">JBoss Developer Studio</property> interacts with
+ server containers in the <property moreinfo="none">Server editor</property>. Double-click the server
+ to open it in the editor.</para>
+
+ <figure float="0">
+ <title>Server Overview</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Here you can specify some common settings: host name, server name, runtime as well
+ as settings related to the publishing, timeouts and server ports.</para>
+
+ </section>
+ </section>
+
+ <section id="JBossInstances">
+ <?dbhtml filename="JBossInstances.html"?>
+ <title>How to Use Your Own JBoss AS Instance with JBDS</title>
+ <para>Although <property moreinfo="none">JBoss Developer Studio</property> works closely with
+ <property moreinfo="none">JBoss EAP 5</property> we do not ultimately tie you to any particular
+ server for deployment. There are some servers that Studio supports directly (via the
+ bundled Eclipse WTP plug-ins). In this section we discuss how to manage self-installed
+ JBoss AS. Suppose you want to deploy the application to <property moreinfo="none">JBoss 4.2.3
+ server</property>. First of all you need to install it.</para>
+ <section id="JBossInstalling">
+ <?dbhtml filename="JBossInstalling.html"?>
+ <title>JBoss AS Installation</title>
+ <itemizedlist>
+ <listitem>
+ <para>Download the binary package of JBoss AS, e.g. <property moreinfo="none">JBoss 4.2.3</property> and save
+ it on your computer: <ulink url="http://labs.jboss.com/jbossas/downloads">http://labs.jboss.com/jbossas/downloads</ulink></para>
+ </listitem>
+ </itemizedlist>
+ <para>It does not matter where on your system you install JBoss server.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>The installation of JBoss server into a directory that has a name containing
+ spaces provokes problems in some situations with Sun-based VMs. Try to avoid
+ using installation folders that have spaces in their names.</para>
+ </note>
+
+ <para>There is no requirement for root access to run JBoss Server on UNIX/Linux systems
+ because none of the default ports are within the 0-1023 privileged port
+ range.</para>
+ <itemizedlist>
+ <listitem>
+ <para>After you have the binary archive you want to install, use the JDK jar
+ tool (or any other ZIP extraction tool) to extract the jboss-4.2.3.GA.zip
+ archive contents into a location of your choice. The jboss-4.2.3.GA.tgz
+ archive is a gzipped tar file that requires a gnutar compatible tar which
+ can handle the long pathnames in the archive. The extraction process will
+ create a jboss-4.2.3.GA directory. </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="AddingJBossServer">
+ <?dbhtml filename="AddingJBossServer.html"?>
+ <title>Adding and Configuring JBoss Server</title>
+ <para>Now we should add just installed server into server manager in <property moreinfo="none">JBoss
+ Developer Studio</property>.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open the <property moreinfo="none">JBoss Server View</property> by selecting <emphasis>
+ <property moreinfo="none">Window > Show View > Other > Server
+ > JBoss Server View</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Right click anywhere in this view and select <emphasis>
+ <property moreinfo="none">New Server</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">JBoss Community > JBoss 4.2 Server</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Selecting Server Name and Server Type</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <note>
+ <title>Note:</title>
+
+ <para>Now in the <property moreinfo="none">New Server wizard</property> there is a separation
+ between the .org servers (the <emphasis>
+ <property moreinfo="none">JBoss Community</property>
+ </emphasis> category) and product server that comes bundled with JBoss EAP (the
+ <emphasis>
+ <property moreinfo="none">JBoss Enterprise Middleware</property></emphasis> category).</para>
+ </note>
+
+ <itemizedlist>
+ <listitem>
+ <para>To create a new runtime, which Jboss AS 4.2 matches to, click <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para>In the next step make <property moreinfo="none">JBoss Developer Studio</property> to know
+ where you have installed the Server and define JRE.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Defining JBoss Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_11.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <note>
+ <title>Note:</title>
+ <para>When adding a new server you will need to specify what JRE to use. It is
+ important to set this value to a full JDK, not JRE. Again, you need a full JDK
+ to run Web applications, JRE will not be enough.</para>
+ </note>
+
+ <itemizedlist>
+ <listitem>
+ <para>In the next dialog verify the specified information and if something is
+ unfair go back and correct it</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>JBoss Runtime Summary</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_15.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>In the last wizard's dialog modify the projects that are
+ configured on the server and click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis>.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Configuring Projects</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_16.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>A new <property moreinfo="none">JBoss Server</property> should now appear in the <property moreinfo="none">JBoss
+ Server view</property>.</para>
+ <figure float="0">
+ <title>New JBoss Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/manage/manage_17.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Now, we are ready to create the first web application.</para>
+ </section>
+
+ </section>
+</chapter>
+
+
+<chapter id="first_seam" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/GettingStartedGuide/en/modules/first_seam.xml" xreflabel="first_seam">
+ <?dbhtml filename="first_seam.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Write Your First Project with JBoss Developer Studio</title>
+
+ <para>This chapter is a set of hands-on labs. You get step-by-step information about how the JBoss
+ Developer Studio can be used during the development process.</para>
+
+ <section id="create_seam_application">
+ <title>Create a Seam Application</title>
+
+ <para>In this section you get to know how to create a Seam project in JBDS, how to start the
+ server and what a structure your project has after creating.</para>
+
+ <section id="start_dev_db">
+ <title>Start Development Database</title>
+
+ <para>Before opening the JBoss Developer studio you need to <ulink url="http://anonsvn.jboss.org/repos/jbosstools/trunk/documentation/guides/Gett...">download</ulink> and start a Workshop Database.</para>
+ <para>To start the database just run <property moreinfo="none">./runDBServer.sh</property> or
+ <property moreinfo="none">runDBServer.bat</property> from the database directory.</para>
+ <para>The end result should be a console window that looks like:</para>
+
+ <figure float="0">
+ <title>Starting DataBase</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="create_deploy_seam">
+ <title>Create and deploy Seam Web Project</title>
+
+ <para>Minimize the terminal window and run the <property moreinfo="none">JBoss Developer Studio</property>
+ from Applications Menu or from the desktop icon.</para>
+ <para>First of all you get the Workspace Launcher. Change the default workspace location if
+ it's needed. Click on <property moreinfo="none">Ok</property>. </para>
+
+ <figure float="0">
+ <title>Workspace Launcher Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After startup, you see the welcome page. You could read how to work with welcome pages
+ in <link linkend="Welcome">previous</link> chapter. Now select <property moreinfo="none">Create
+ New...</property> icon and then press on <property moreinfo="none">Create Seam Project</property>
+ link.</para>
+
+ <para>The <property moreinfo="none">New Seam Project wizard</property> is started. You need to enter a name
+ (e.g., "workshop") and a location directory for your new project. The
+ wizard has an option for selecting the actual Server (and not just WTP runtime) that will be
+ used for the project. This allows the wizard to correctly identify where the needed
+ datasource and driver libraries need to go.</para>
+
+ <figure float="0">
+ <title>New Seam Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>All settings are already specified here, you can just modify the Configuration. Click on
+ the <emphasis>
+ <property moreinfo="none">Modify...</property>
+ </emphasis> button to configure your custom facets pattern:</para>
+
+
+ <figure float="0" id="ProjectFacetsSpecifyingScreen">
+ <title>Project Facets Specifying</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the whole the dialog allows to select the "features" you want to use in your project.
+ Doing this <property moreinfo="none">JBoss Developer Studio</property> setups the appropriate tooling for
+ your project. Since JBoss Seam integrates all popular Java EE frameworks, you can select any
+ combination of technologies from the list. Here, for the default configuration, Dynamic Web
+ Module, Java, JavaServer Faces (JSF), and Seam Facet are already selected for a typical
+ database-driven web application. The default project facets should suffice.</para>
+
+ <para>In the <property moreinfo="none">Project Facets</property> form you can also bring up server runtimes
+ panel by clicking <property moreinfo="none"> Runtimes</property> tab on the right corner. This panel shows
+ available server runtimes.</para>
+
+ <figure float="0">
+ <title>Runtimes Selecting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Click on <emphasis>
+ <property moreinfo="none">Ok</property>
+ </emphasis> and then <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> to proceed further.</para>
+
+ <para>A dynamic web application contains both web pages and Java code. The wizard will ask you
+ where you want to put those files. You can just leave the default values or choose another
+ folder.</para>
+
+ <figure float="0">
+ <title>Web Module Settings</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the next form, you will be able to select where those library JARs come from. The
+ easiest is just to select the JARs provided by the JBoss AS runtime associated with this
+ project. That is why it is important to chose the right JBoss AS 4.2 runtime in the project
+ setup window.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Check <emphasis>
+ <property moreinfo="none">Server Supplied JSF Implementation</property>
+ </emphasis>. We will use <ulink url="../../seam/html_single/index.html#addJSFCapab">JSF
+ implementation</ulink> that comes with JBoss server</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>JSF Capabilities Adding</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Next wizard step needs more settings that previous. Let's start with
+ <property moreinfo="none">General</property> section.</para>
+ <para>Leave the default Seam runtime and check a WAR deployment.</para>
+
+ <figure float="0">
+ <title>Seam Facet Setting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Next <property moreinfo="none">Database</property> section is a little tricky. The <property moreinfo="none">Connection
+ Profile</property> needs to be edited so that the new project works properly with the
+ external HSQLDB server. By default the project wizard tries to use the JBoss embedded
+ HSQLDB, but the tutorial uses an external database to replicate a more real world
+ development scenario. Click on <property moreinfo="none">Edit</property> to modify the Connection
+ Profile.</para>
+
+ <figure float="0">
+ <title>DataBase Setting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam8_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Select <property moreinfo="none">JDBC Connection Properties</property>. Make sure the URL is set to <emphasis>
+ <property moreinfo="none">jdbc:hsqldb:hsql://localhost:1701</property>
+ </emphasis></para>
+
+ <figure float="0">
+ <title>JDBC Connection Properties</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Try click on <property moreinfo="none">Test Connection</property> button. It probably won’t work. This
+ happens if the hsql jdbc driver is not exactly the same. This can be worked around by
+ modifying the HSQLDB database driver settings. To modify the settings, click the
+ <property moreinfo="none">“...”</property> next to the drop-down box.</para>
+
+ <para>The proper Driver JAR File should be listed under <property moreinfo="none">Driver File(s)</property>.
+ Select the hsqldb.jar file found in the database/lib directory and click on
+ <property moreinfo="none">Ok</property>.</para>
+
+ <figure float="0">
+ <title>Driver Details</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam10.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Select <property moreinfo="none">Hypersonic DB</property> and click on <property moreinfo="none">Ok</property>. Again,
+ this only happens if the selected hsqldb.jar is different from the running database.</para>
+
+ <figure float="0">
+ <title>Hypersonic DB Selecting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam11.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, the <property moreinfo="none">Test Connection</property> should succeed. After testing the
+ connection, click on Ok.</para>
+
+ <figure float="0">
+ <title>Connection Testing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam12.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You can leave the <property moreinfo="none">Code Generation</property> section as is. It refers to Java
+ packages in which the generated code will be placed.</para>
+
+ <figure float="0">
+ <title>Code Generation Setting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam13.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Click on <property moreinfo="none">Finish</property> button. Now, there should be a new Seam project
+ called “workshop” listed in Package Explorer view.</para>
+
+ <figure float="0">
+ <title>"worskhop" Project in the Package Explorer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam14.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="start_JBossAS">
+ <title>Start JBoss Application Server</title>
+
+ <para>The complete information on how to manage JBoss AS from JBoss Developer Studio you can
+ read in a <link linkend="manage">corresponding chapter</link>.</para>
+ <para>Now you just need to start the server by clicking on the Start the server icon (
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam15.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject> ) in the
+ JBoss Server View.</para>
+
+ <para>Then run the project by selecting the project and use <emphasis><property moreinfo="none">Run As... >
+ Run on Server</property>.</emphasis></para>
+
+ <note>
+ <title>Note:</title>
+ <para>If the project does not show up, then you can use a normal browser and use <emphasis>
+ <property moreinfo="none">http://localhost:8080/workshop/home.seam</property>
+ </emphasis> as the url.</para>
+ </note>
+
+ <para>Your project looks like this:</para>
+
+ <figure float="0">
+ <title>"workshop" Project Started</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam16.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="workshop_code_overview">
+ <title>Workshop Project Code Overview</title>
+
+ <para>Now let's examine the project and its structure. Go back to the Package Explorer view in
+ JBoss Developer Studio.</para>
+
+ <para>It seems like it's not much for project but this shell application contains a login
+ screen with default login logic, a menu template that can be further modified, and other
+ layout templates.</para>
+
+ <para>It's important to note that the business logic will reside in the <emphasis>
+ <property moreinfo="none">src/hot</property>
+ </emphasis> folder, by default. And, the package naming conventions that were used in <property moreinfo="none">New Seam
+ project wizard</property> could have been changed to something different from <emphasis>
+ <property moreinfo="none">org.domain.workshop.session</property>.
+ </emphasis> Also, notice that there is a default <property moreinfo="none">Authenticator. java</property>
+ file. This is where custom security logic can be added. Seam has a nice declarative security
+ model that we will explore in a bit more detail later on. The <emphasis>
+ <property moreinfo="none">src/main</property>
+ </emphasis> folder is a model directory. It stores the project's JPA entity beans.</para>
+
+ <figure float="0">
+ <title>Project Structure</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam17.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The view tier of the
+ application is also important. Seam uses facelets and there is a built-in facelets GUI
+ editor that has some nice WYSIWYG and component drag/drop functionality. Try this out by
+ opening <property moreinfo="none">home.xhtml</property> from <property moreinfo="none">WebContent</property> folder.</para>
+
+ <figure float="0">
+ <title>Facelets GUI Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam18.png" scale="85"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Notice that the templates reside in the <emphasis>
+ <property moreinfo="none">WebContent/layout</property>
+ </emphasis> folder. There is a stylesheet in the <emphasis>
+ <property moreinfo="none">WebContent/stylesheet</property>
+ </emphasis> folder. There is also a login and default error page. The Facelet editor will be
+ explored in more detail later in the lab.</para>
+
+ <para>The project already has a datasource that was created per the Seam project wizard
+ database settings. And, obviously all of the Seam specific configuration files and JAR
+ dependencies are included and placed in the proper locations. On last noteworthy line item
+ is related to the build script. There isn’t a build script because the Eclipse WTP(Web Tools
+ Project) plugin is used to publish web application changes. As you can see, JBoss Developer
+ Studio is removing a great deal of complexity from the enterprise Java project
+ setup/deployment process. The end result is a developer that is writing code, not spending
+ days/weeks trying to figure out how to get a decent development environment and project
+ build process.</para>
+
+ </section>
+
+ </section>
+
+
+ <section id="seam_action_dev">
+ <title>Seam Action Development</title>
+
+ <para>Now, it’s time to write some code. The good news is that JBoss Developer Studio can also
+ help out in this respect. In this section, we will create a new Seam Action POJO and facelet
+ with some custom business logic and some GUI changes.</para>
+
+ <section id="create_seam_action">
+ <title>Create a New Seam Action</title>
+
+ <para>Go to main menu bar and click on <emphasis>
+ <property moreinfo="none">File > New > New Seam Action</property>
+ </emphasis> to start the New Seam Action wizard.</para>
+
+ <para>Specify a <property moreinfo="none">Seam component name</property> (e.g., "myAction").
+ The other properties will be auto-completed for you so there is no need to change them.
+ Click on <property moreinfo="none">Finish</property>.</para>
+
+ <figure float="0">
+ <title>New Seam Action Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam19.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, open the <property moreinfo="none">MyAction.java</property> file and replace the
+ "myAction" method with this logic:</para>
+
+ <programlisting format="linespecific"><![CDATA[public void myAction() {
+Calendar cal = Calendar.getInstance();
+log.info("myAction.myAction() action called");
+facesMessages.add("MyAction Executed on:" + cal.getTime());
+}]]></programlisting>
+
+ <para>You also need to import the <property moreinfo="none">java.util.Calendar</property> class by clicking
+ <emphasis><property moreinfo="none">CTRL + Shift + O</property>.</emphasis></para>
+
+ </section>
+
+ <section id="test_seam_action">
+ <title>Test Seam Action</title>
+
+ <para>The new action can be tested by browsing the workshop-test project. JBoss Developer
+ Studio has already created a TestNG test case for you.</para>
+
+ <figure float="0">
+ <title>"workshop-test" Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam20.png" scale="85"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The test case simulates a Seam component/method execution for the
+ <property moreinfo="none">MyAction.myAction()</property> logic.</para>
+ <para>To run the test case, right click on <property moreinfo="none">MyActionTest.xml</property> and click <emphasis>
+ <property moreinfo="none">Run As > TestNG Suite</property>
+ </emphasis> or use the <property moreinfo="none">Run As...</property> toolbar shortcut as shown
+ below.</para>
+
+ <figure float="0">
+ <title>TestNG Running</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam21.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>With any luck, the test case will pass. Look at the TestNG view.</para>
+
+ <figure float="0">
+ <title>TestNG Results</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam22.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, it’s safe to test the new Seam Action in a web browser. The fastest way to do that
+ is to right click on <property moreinfo="none">myAction.xhtml</property> and use <emphasis>
+ <property moreinfo="none">Run As... > Run On Server</property>
+ </emphasis> which will show the appropriate url in the browser. Alternatively you can
+ manually enter <emphasis>
+ <property moreinfo="none">http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> into a browser.</para>
+
+ <figure float="0">
+ <title>Seam Action in a Web Browser</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam23.png" scale="90"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="modify_seam_action">
+ <title>Modify Seam Action User Interface</title>
+
+ <para>Browse to <emphasis>
+ <property moreinfo="none">http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> and click on <property moreinfo="none">myAction</property>. This executes the “myAction” method.
+ This looks pretty good, but we could make this page look a little better.</para>
+
+ <para>Open <emphasis>
+ <property moreinfo="none">WebContent/myAction.xhtml</property>
+ </emphasis> in JBoss Developer Studio to use the nice facelets editor.</para>
+
+ <figure float="0">
+ <title>Open Seam Action with Editor </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam24.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Right click on the "myAction!" button in the visual part of editor and
+ select <property moreinfo="none"><h:commandButton> Attributes</property>.</para>
+
+ <figure float="0">
+ <title>Seam Action Editing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam25.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Change the <property moreinfo="none">value</property> of the button to something different. If desired,
+ you can change any other text on the page. Then, type <emphasis>
+ <property moreinfo="none">CTRL + S</property>
+ </emphasis> to save the facelet.</para>
+
+ <figure float="0">
+ <title>Attributes Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam26.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Refresh <emphasis>
+ <property moreinfo="none">http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> and now you should see your changes.</para>
+
+ <para>Notice that you did not have to publish the application. JBoss Developer Studio
+ auto-published it for you.</para>
+
+ <figure float="0">
+ <title>Seam Action Is Modified</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam27.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+
+ </section>
+
+ <section id="declarative_security">
+ <title>Declarative Security</title>
+
+ <para>In this section you will see how it’s easy to secure the facelets and facelet components
+ in Seam. Let’s go ahead and secure the action button, then we will secure the entire
+ page.</para>
+
+ <section id="edit_login">
+ <title>Edit Login Authentication Logic</title>
+
+ <para>There is a class called <property moreinfo="none">Authenticator.java</property>. The login page will
+ execute the <property moreinfo="none">Authenticator.authenticate()</property> method by default, so we’ll
+ start by adding some custom login logic.</para>
+ <para>Open <property moreinfo="none">Authenticator.java</property> in JBoss Developer Studio and replace the
+ <property moreinfo="none">authenticate()</property> method with this code:</para>
+
+ <programlisting format="linespecific"><![CDATA[public boolean authenticate() {
+if (identity.getUsername().equals("admin")
+&& identity.getPassword().equals("password")) {
+identity.addRole("admin");
+return true;
+}
+else
+return true;
+}]]></programlisting>
+
+ </section>
+ <section id="secure_seam_page">
+ <title>Secure Seam Page Component</title>
+
+ <para>Open <property moreinfo="none">myAction.xhtml</property> and add a new secured command button:</para>
+ <programlisting format="linespecific"><![CDATA[<h:commandButton id="myActionSecured"
+value="Secured Action Button"
+action="#{myAction.myAction}"
+rendered="#{s:hasRole('admin')}"/>]]></programlisting>
+
+ <para>Refresh <emphasis>
+ <property moreinfo="none">http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> If you are not logged in you will only see one button. If you are logged in,
+ there will be two buttons.</para>
+
+
+ <figure float="0">
+ <title>One Button on a Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam28.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The secured button is not visible because the user isn’t logged in as
+ <property moreinfo="none">"admin"</property>.</para>
+
+ <figure float="0">
+ <title>Secured Button is Visible</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam29.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The user is logged in as <property moreinfo="none">"admin"</property>. Securing
+ components is easy but securing pages is pretty simple as well. </para>
+ <para>Open <emphasis>
+ <property moreinfo="none">WebContent/WEB-INF/pages.xml</property>
+ </emphasis>. Then add this markup directly underneath the <pages>
+ element:</para>
+
+ <programlisting format="linespecific"><![CDATA[<page view-id="/myAction.xhtml" login-required="true"/>]]></programlisting>
+
+ <para>Refresh <emphasis>
+ <property moreinfo="none">http://localhost:8080/workshop/myAction.seam</property>
+ </emphasis> If you are not logged in you will get bounced back to the login page.</para>
+
+ <figure float="0">
+ <title>Login Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam30.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Thus, if you enter login credentials for the
+ <property moreinfo="none">"admin"</property> user, you will be re-directed to the
+ secured page and secured component. If you enter different login credentials, page access
+ will be granted, but the secured component will not be displayed.</para>
+
+ <para>Congratulations! You have secured your new action both at the facelet component and page
+ level. You also added custom authentication logic to the login action.</para>
+
+ </section>
+
+ </section>
+
+ <section id="browsing_workshop_db">
+ <title>Browsing Workshop Database</title>
+
+ <para>In this section you get to know how to use the workshop database that was started at the
+ beginning of the lab.</para>
+
+ <section id="database_connectivity">
+ <title>Database Connectivity Setup</title>
+
+ <para>The workshop data can be browsed inside of JBoss Developer Studio.</para>
+
+ <para>To open the Data Source Explorer, click on <emphasis><property moreinfo="none">Window > Open Perspective
+ > Other > Database Development</property>.</emphasis></para>
+ <para>In the Data Source Explorer, expand a <property moreinfo="none">Databases</property> node and select a
+ <property moreinfo="none">Default</property> database. Right click on it, select
+ <property moreinfo="none">Connect</property> from the context menu.</para>
+
+ <figure float="0">
+ <title>Data Source Explorer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam31.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="browsing_workshop_db2">
+ <title>Browse Workshop Database</title>
+
+ <para>Then in the current view, drill down to the <property moreinfo="none">CUSTOMERS</property> table.</para>
+
+ <figure float="0">
+ <title>"CUSTOMERS" Table</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam32.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Right click on <property moreinfo="none">CUSTOMERS</property>, select <emphasis>
+ <property moreinfo="none">Data > Sample Contents</property>
+ </emphasis> to view the data in the table.</para>
+
+ <para>There should be a SQL Results view on the workbench, but it could be hidden. Click on
+ the <property moreinfo="none">"Result1"</property> tab in the right side and you should
+ see the data in the CUSTOMERS table.</para>
+
+
+ <figure float="0">
+ <title>SQL Results View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam33.png" scale="92"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <note>
+ <title>Note:</title>
+ <para>If you can’t find the SQL Results view tab, click on <emphasis><property moreinfo="none">Window > Show
+ View > Other > SQL Development > SQL Results</property>.</emphasis></para>
+ </note>
+
+ <para>Congratulations! You just connected to the workshop database and queried the content
+ using Database Explorer tools.</para>
+
+ </section>
+
+ </section>
+
+ <section id="db_programming">
+ <title>Database Programming</title>
+
+ <para>Now, it’s time to reverse engineer the workshop database into a fully functioning Seam
+ CRUD(Create Read Update Delete) application.</para>
+
+ <section id="reverse_engineer_crud">
+ <title>Reverse Engineer CRUD from a Running Database</title>
+
+ <para>In <property moreinfo="none">JBoss Developer Studio</property>, switch to <property moreinfo="none">Seam
+ perspective</property>, and then right-click the project and select
+ <emphasis><property moreinfo="none">New > Seam Generate Entities</property>.</emphasis></para>
+
+ <para>"workshop" project in the <property moreinfo="none">Seam Generate Entities
+ wizard</property> will be selected automatically. There is no need to change something
+ more, click <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> to proceed further.</para>
+
+ <figure float="0">
+ <title>Generate Seam Entities</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam34.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the next page use the <emphasis>
+ <property moreinfo="none">Include</property>
+ </emphasis> button to include all the tables from the database and click <emphasis>
+ <property moreinfo="none">Finish</property>.</emphasis></para>
+
+ <figure float="0">
+ <title>Selecting Tables</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam34a.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After running the Generate Entities action, you will see new <emphasis>
+ <property moreinfo="none">org.domain.workshop.entity</property>
+ </emphasis> classes. These classes represent insert/update/delete/query logic.</para>
+
+ <figure float="0">
+ <title>org.domain.workshop.entity Classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam35.png" scale="90"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>There are also <emphasis>
+ <property moreinfo="none">org.domain.workshop.entity</property>
+ </emphasis> package that contains the JPA classes. These are the entity beans that are
+ mapped to database tables.Note,that you can use Seam refactoring tools with Seam components.
+ Read more about it in <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/seam/html_single/ind...">Seam refactoring tools chapter</ulink> of Seam Dev Tools Reference Guide.</para>
+
+ <para>Last, but not least, there are facelets for all of the CRUD screens. The best way to get
+ a feel for the generated code is to open a browser and play around with the application. Go
+ to <emphasis>
+ <property moreinfo="none">http://localhost:8080/workshop</property>
+ </emphasis> and insert/update/delete/query a few records. There is quite a bit of AJAX in
+ this application, but which we will explore further later on in the lab. For now, take note
+ of the page tabs, required field logic and data table sorting in the list pages. </para>
+
+ <figure float="0">
+ <title>CustomersList.xhtml in the Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam36.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Congratulations! You now have a fully functioning CRUD application that is already AJAX
+ enabled.</para>
+
+ </section>
+
+ <section id="use_hibernate_tools">
+ <title>Use Hibernate Tools to Query Data via JPA</title>
+
+ <para>Now, it's time to write some JPA queries using the Hibernate perspective in
+ <property moreinfo="none">JBoss Developer Studio</property>.</para>
+ <para>In the upper right corner of the workbench there is a small icon (see the figure below),
+ click on it and choose <property moreinfo="none">Hibernate</property>.</para>
+
+ <figure float="0">
+ <title>Hibernate Perspective</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam37.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Look at the Hibernate Configurations view. In the "workshop" project,
+ drill down on the <property moreinfo="none">Session Factory</property> and notice that the JPA
+ entities/attributes are listed in a nice tree view.</para>
+
+ <figure float="0">
+ <title>Hibernate Configurations View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam38.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Right click on the <property moreinfo="none">Session Factory</property> and select <property moreinfo="none">HQL
+ Editor</property>. This will open a JPA query scratch pad window.</para>
+
+ <para>Write your query and click on the "Hibernate Dynamic SQL Preview" tab.
+ You should see the SQL that will be executed if this JPA query is run.</para>
+
+ <figure float="0">
+ <title>JPA Query Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam39.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Run the query by clicking on the green run icon.</para>
+
+ <para>The results are listed in the "Hibernate Query Result" tab. There is a
+ "Properties" tab in the workbench that can be used to see a specific JPA
+ result. These results represent the JPA objects because our query did not specify column
+ names.</para>
+
+ <figure float="0">
+ <title>Hibernate Query Result View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam40.png" scale="80"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The query can be refined, and take note that there is nice code completion in the JPA
+ query editor.</para>
+
+ <figure float="0">
+ <title>Code Completion</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam41.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>A refined query will return results that are more ResultSet oriented. Notice the join
+ logic that JPA supports.</para>
+
+ <figure float="0">
+ <title>The Hibernate Query Result</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam42.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>There was no need to specify an <property moreinfo="none">Employees</property> table in the
+ <property moreinfo="none">from</property> part of the JPA query because JPA supports reference traversal
+ via Java class attribute references. Not only are JPA and HQL queries fully supported, but
+ Criteria based queries can also be written in the Criteria Editor. You should spend some
+ time tinkering with different queries and possibly Criteria based queries, even though the
+ instructions are not provided in this lab.</para>
+
+ <figure float="0">
+ <title>Criteria Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam43.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="use_hibernate_to_vizualize">
+ <title>Use Hibernate Tools to visualize the Data Model</title>
+
+ <para>Now, it’s time to view the data model for the workshop database.</para>
+
+ <para>In the Hibernate Configurations view, select "workshop" project and
+ expand the <property moreinfo="none">Configuration</property> node. Select the
+ <property moreinfo="none">Customers</property> entity, right click on it, choose <property moreinfo="none">Open Mapping
+ Diagram</property>.</para>
+
+ <figure float="0">
+ <title>Mapping Diagram Opening</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam44.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>You see a Diagram tab for the CUSTOMERS table and any tables that have FK references.
+ This is a handy way to view the data model and JPA mappings. Now, you’ve got access to
+ something that the Erwin Data Modeler can’t do.</para>
+
+
+ <figure float="0">
+ <title>Diagram Tab</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam45.png" scale="80"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+ </section>
+
+
+ <section id="rich_components">
+ <title>Rich Components</title>
+
+ <para>This lab will conclude with one last AJAX twist. In this section we add a RichFaces
+ <property moreinfo="none">inputNumberSlider</property> to the Order Details edit screen.</para>
+
+ <section id="add_richfaces">
+ <title>Add a Richfaces component to the CRUD Application</title>
+
+ <para>Switch to Seam perspective, open <emphasis>
+ <property moreinfo="none">WebContent/OrderdetailsEdit.xhtml</property>
+ </emphasis> in JBoss Developer Studio.</para>
+ <para>Change the form field values using the visual editor. Seam has generated the form field
+ names that match the database column names. This is not ideal for business users.</para>
+
+ <figure float="0">
+ <title>Form Fields Editing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam46.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Also, replace the QTY Ordered input field with a <property moreinfo="none">inputNumberSlider</property>.
+ You can use the JBoss Developer Studio palette or right click on the form and insert the
+ RichFaces component.</para>
+
+ <figure float="0">
+ <title>Insert RichFaces Component from Context Menu</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam47.png" scale="85"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>One the last option is to use the source view and manually copy the inputNumberSlider
+ markup listed below:</para>
+
+ <programlisting format="linespecific"><![CDATA[<rich:inputNumberSlider id="quantityOrdered" required="true"
+ value="#{orderdetailsHome.instance.quantityordered}"/>]]></programlisting>
+
+ <figure float="0">
+ <title>Manually coping Source Code</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam48.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The end result is an edit page that has better form labels and a new RichFaces
+ control.</para>
+
+ <figure float="0">
+ <title>The Result Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/first_seam/first_seam49.png" scale="85"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Congratulations! You have completed the JBoss Developer Studio lab.</para>
+
+ </section>
+
+ </section>
+</chapter>
+
+
+<chapter id="jsp_application" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/GettingStartedGuide/en/modules/jsp_application.xml" xreflabel="jsp_application">
+ <?dbhtml filename="jsp_application.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JSP</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Developing a simple JSP web application</title>
+
+ <note>
+ <title>Note:</title>
+ <para>We highly recommend developing in <property moreinfo="none">Seam</property>. This chapter is for users
+ who for some reason cannot use Seam.</para>
+ </note>
+
+ <para>In this chapter you'll find out how to create a simple <ulink url="http://java.sun.com/products/jsp/">JSP</ulink> application using the
+ <property moreinfo="none">JBoss Developer Studio</property>. The application will show a classic
+ "Hello World!" on the page.</para>
+ <para>We'll assume that you have already launched <property moreinfo="none">JBoss Developer
+ Studio</property> and also that the <property moreinfo="none">Web Development</property> perspective is the
+ current perspective. If not, make it active by selecting <emphasis>
+ <property moreinfo="none">Window > Open Perspective > Web Development</property>
+ </emphasis> from the menu bar or by selecting <emphasis>
+ <property moreinfo="none">Window > Open Perspective > Other...</property>
+ </emphasis> from the menu bar and then selecting Web Development from the Select Perspective
+ dialog box.</para>
+
+ <section id="SettingUpTheProject">
+ <?dbhtml filename="SettingUpTheProject.html"?>
+ <title>Setting Up the Project</title>
+ <para>We are going to start with the creating a Dynamic Web Project with a minimal
+ structure, i.e. with just required facets. Thus this section will perform you all
+ necessary steps on how to do this.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Go to the menu bar and select <emphasis>
+ <property moreinfo="none">File > New > Other...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">Web > Dynamic Web Project</property>
+ </emphasis> in the New Project dialog box</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Enter "jspHello" as a project name</para>
+ </listitem>
+ <listitem>
+ <para>Then select <emphasis>
+ <property moreinfo="none">Minimal Configuration</property>
+ </emphasis> from the list of possible configurations and click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Create New Web Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <emphasis>
+ <property moreinfo="none">jspHello</property>
+ </emphasis> node should appear in the upper-left <property moreinfo="none">Package Explorer</property>
+ view.</para>
+ <figure float="0">
+ <title>New Web Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="CreatingJSPPage">
+ <?dbhtml filename="CreatingJSPPage.html"?>
+ <title>Creating JSP Page</title>
+ <para>This section covers all the points how to create, edit and then preview JSP page.</para>
+ <para>In our simple application we need to create only one JSP page which displays a
+ <emphasis>"Hello World!"</emphasis> message.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis><property moreinfo="none">WebContent > New >
+ JSP</property>. </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type "hello.jsp" for a file name and click the <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <para>In the next window you can choose a template for your jsp page and see its preview.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">New JSP File (xhtml)</property>
+ </emphasis> template and click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Create JSP Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Our <emphasis><property moreinfo="none">hello.jsp</property></emphasis> page will now appear in
+ <property moreinfo="none">Project Explorer</property>.
+ </para>
+ <section id="EditingJSPPage">
+ <?dbhtml filename="EditingJSPPage.html"?>
+ <title>Editing a JSP Page</title>
+ <para>Let's now make a little change so that a jsp page displays
+ <emphasis>"Hello World!"</emphasis> message.</para>
+ <itemizedlist>
+ <listitem>
+ <!--<para>Insert this line inside the <emphasis role="bold">
+ <property><body></property>
+ </emphasis><emphasis role="bold">
+ <property></body></property>
+ </emphasis> tag: </para>-->
+ <para>
+
+ Insert this line inside the
+ <code><body> </body>
+ </code>
+ tag:
+ </para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="XML"><![CDATA[<% System.out.println("Hello World!"); %>]]>
+ </programlisting>
+
+ <para>Notice that content assist functionality is always available when you are typing:</para>
+ <figure float="0">
+ <title>Content Assist in JSP Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>After changes made your <emphasis>
+ <property moreinfo="none">hello.jsp</property>
+ </emphasis> page should look like this:</para>
+ <figure float="0">
+ <title>Hello.jsp Page Source</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>This line will actually output <emphasis>"Hello
+ World!"</emphasis> message in the <property moreinfo="none">Console</property>. To make the
+ message displayed in the Browser, just replace this line with the simple
+ <emphasis>Hello World!</emphasis>.</para>
+ </section>
+
+ <section id="WebXML">
+ <?dbhtml filename="WebXML.html"?>
+ <title>web.xml file</title>
+ <para>When you are creating web project the wizard creates the <emphasis>
+ <property moreinfo="none">web.xml</property>
+ </emphasis> for you automatically. The <property moreinfo="none">web.xml file editor</property>
+ provided by <property moreinfo="none">JBoss Developer Studio</property> is available in two modes:
+ <property moreinfo="none">Tree</property> and <property moreinfo="none">Source</property>.</para>
+ <figure float="0">
+ <title>Web.xml in Design and Source Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_6.png" scale="90"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Both modes are fully synchronized. Let's add mapping to our <emphasis>
+ <property moreinfo="none">hello.jsp</property>
+ </emphasis> page in <emphasis>
+ <property moreinfo="none">web.xml</property>
+ </emphasis> file.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to <property moreinfo="none">Source</property> tab.</para>
+ </listitem>
+ <listitem>
+ <para>Add the next code into
+ <code><welcome-file-list></code>
+ :</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="XML"><![CDATA[<welcome-file>hello.jsp</welcome-file>
+]]></programlisting>
+ <para>If you come back to <property moreinfo="none">Tree</property> mode you will see that the changes
+ made are automatically reflected in that mode.</para>
+ <para>Actually you don't really need to do any configurations right now.</para>
+ </section>
+
+ <section id="DeployTheProject">
+ <?dbhtml filename="DeployTheProject.html"?>
+ <title>Deploying the project</title>
+ <para>While creating any web project you could experience a pain writing ant scripts and
+ managing the packaging even when writing the most trivial web applications. With
+ <property moreinfo="none">JBoss Developer Studio</property> you are saved from such a pain. All
+ you need is to start <property moreinfo="none">JBoss Server</property> and launch your application
+ in your favorite browser.</para>
+ <para>You can also create a war archive with <ulink url="../../as/html_single/index.html#Project_archivesView">JBDS's Archive Tools</ulink>
+ and export it to any web server.</para>
+ <section id="WarConfig">
+ <?dbhtml filename="WarConfig.html"?>
+ <title>WAR Config</title>
+ <para>Project archives managing is available through <ulink url="../../as/html_single/index.html#Project_archivesView">Project Archives view</ulink>.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">Window > Show view > Other > JBoss
+ Tools > Project archives</property>
+ </emphasis> from menu bar</para>
+ </listitem>
+ <listitem>
+ <para>Select a project in Package Explorer you want to be archived</para>
+ </listitem>
+ </itemizedlist>
+ <para>In <property moreinfo="none">Project Archives</property> you will see available archive types
+ for the project:</para>
+ <figure float="0">
+ <title>Project Archives</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click, for example, <emphasis>
+ <property moreinfo="none">WAR</property>
+ </emphasis> option to create war archive</para>
+ </listitem>
+ </itemizedlist>
+ <para>In the <property moreinfo="none">New WAR</property> dialog you can see automatically selected
+ default values.</para>
+ <figure float="0">
+ <title>New WAR Archive</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> to see a stub archive configuration for your project: <figure float="0">
+ <title>Stub Archive Configuration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_10.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Finish</property>. </emphasis> The
+ <emphasis>.war</emphasis> file will appear in <property moreinfo="none">Package
+ Explorer</property> and also in <property moreinfo="none">Project Archives</property>
+ view as structure tree: <figure float="0">
+ <title>Archive is Created</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_11.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure float="0">
+ <title>Archive in Project Archives View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_12.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>Via <property moreinfo="none">Project Archives</property> view you could now edit your
+ archive, add new folders, publish to server, and so on:</para>
+ <figure float="0">
+ <title>Configure Archive</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_13.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="AutoRedeploy">
+ <?dbhtml filename="AutoRedeploy.html"?>
+ <title>Auto redeploy</title>
+ <para>When you are creating a web application and register it on <property moreinfo="none">JBoss
+ Server</property> it is automatically deployed into
+ <emphasis>/deploy</emphasis> directory of the server. JBDS comes with the
+ feature of auto-redeploy. It means that you don't need to restart
+ <property moreinfo="none">JBoss Server</property>. Any changes made in the application in
+ exploded format will trigger a redeployment on the server.</para>
+
+ <para>You can also use the "Finger touch" button for a quick restart of the project without restarting the server:</para>
+ <figure float="0">
+ <title>Finger Touch button</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_19_finger_touch.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>The "Finger" touches descriptors dependent on project (i.e. web.xml for WAR, application.xml for EAR, jboss-esb.xml in ESB projects).</para>
+
+ </section>
+
+ </section>
+
+ <section id="Previewtab">
+ <?dbhtml filename="Previewtab.html"?>
+ <title>JSP Page Preview</title>
+ <para><property moreinfo="none">JBDS</property> comes with JSP design-time preview features. When
+ designing JSP pages you can easily preview how they will look during runtime. You
+ can even <ulink url="../../jsf/html_single/index.html#el_exp_para">attach your stylesheet to the
+ Preview</ulink>.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Make a little change to <emphasis>
+ <property moreinfo="none">hello.jsp</property>
+ </emphasis> page, e.g. put this code snippet:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="XML"><![CDATA[<%= new java.util.Date() %>
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Save</property>
+ </emphasis> button.</para>
+ </listitem>
+ <listitem>
+ <para>Switch to Preview page by clicking <property moreinfo="none">Preview</property> tab at the
+ bottom of the page. You will see how the page will look at runtime.</para>
+ </listitem>
+ </itemizedlist>
+ <!-- <figure>
+ <title>Preview Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_14.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ -->
+ </section>
+ <section id="LaunchingTheProject">
+ <?dbhtml filename="LaunchingTheProject.html"?>
+ <title>Launch JSP Project</title>
+ <para>Let's now launch our project on server. We'll use
+ <property moreinfo="none">JBoss Server</property> that is shipped with <property moreinfo="none">JBoss Developer
+ Studio</property>. You can do it by performing one of the following actions:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Start JBoss Server from <ulink url="../../as/html_single/index.html#JBossServerView">JBoss
+ Server view</ulink> by clicking the Start the server icon (
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_18.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject> ) .</para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para>Click the Run icon or right click your project folder and select <emphasis>
+ <property moreinfo="none">Run As > Run on Server</property>. </emphasis> If you
+ haven't made any changes in <emphasis>
+ <property moreinfo="none">web.xml</property>
+ </emphasis> file or cleared it out you can launch the application by right
+ clicking the <emphasis>
+ <property moreinfo="none">hello.jsp</property>
+ </emphasis> page and selecting <emphasis>
+ <property moreinfo="none">Run on the Server</property> </emphasis>(
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_16.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject> ).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>You should see the next page in a Browser :</para>
+ <figure float="0">
+ <title>Running Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_17.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Thus with the help of this chapter you've learnt how to organize a Dynamic
+ Web Project with a minimal configuration, add any staff to it (in our case it's
+ just one jsp page) and deploy and run it on the <property moreinfo="none">JBoss Server</property>
+ shipped with <property moreinfo="none">JBDS</property>.
+ </para>
+ </section>
+
+ </section>
+</chapter>
+
+
+<chapter id="rad_jsf_application" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/GettingStartedGuide/en/modules/rad_jsf_application.xml" xreflabel="rad_jsf_application">
+ <?dbhtml filename="rad_jsf_application.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JSF</keyword>
+ <keyword>JBoss</keyword>
+ <keyword>RAD</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>RAD development of a simple JSF application</title>
+
+ <note>
+ <title>Note:</title>
+ <para>We highly recommend developing in <property moreinfo="none">Seam</property>. This chapter is for users
+ who for some reason cannot use <property moreinfo="none">Seam</property>.</para>
+ </note>
+
+ <para>In this chapter you will see how to create a simple JSF application being based on
+ <property moreinfo="none">"RAD"</property> philosophy. We will create the familiar
+ Guess Number application. The scenario is the following. You are asked to guess a number
+ between 0 and 100. If the guess is correct, a success page is displayed with a link to play
+ again. If the guess is incorrect, a message is printed notifying that a smaller or a larger
+ number should be entered and the game continues.</para>
+ <para>We'll show you how to create such an application from scratch, along the way
+ demonstrating powerful features of JBoss Developer Studio such as project templating, Visual
+ Page Editor, code completion and others. You will design the JSF application and then run
+ the application from inside JBoss Developer Studio using the bundled JBoss server.</para>
+
+ <section id="SettingUpTheProject12">
+ <?dbhtml filename="SettingUpTheProject12.html"?>
+ <title>Setting up the project</title>
+ <para>First, you should create a JSF 1.2 project using an integrated JBDS's new
+ project wizard and predefined templates. Follow the next steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>In Web Projects View (if it is not open select <emphasis>
+ <property moreinfo="none">Window > Show View > Others > JBoss Tools Web
+ > Web Projects View</property>) </emphasis> click <emphasis>
+ <property moreinfo="none">Create New JSF Project</property>
+ </emphasis> button. <figure float="0">
+ <title>Create New JSF Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure></para>
+ </listitem>
+
+ <listitem>
+ <para>Put <property moreinfo="none">GuessNumber</property> as a project name, in JSF Environment
+ drop down list choose <property moreinfo="none">JSF 1.2</property></para>
+ </listitem>
+ <listitem>
+ <para>Leave everything else as it is and click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>Our project will appear in Project Explorer and Web Projects Views. As you can see
+ JBoss Developer Studio has created for us the whole skeleton for the project with all
+ needed libraries, faces-config.xml and web.xml files.</para>
+ <figure float="0">
+ <title>New JSF Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>As the project has been set up, new JSP pages should be created now.</para>
+ </section>
+ <section id="CreatingJSPPages">
+ <?dbhtml filename="CreatingJSPPages.html"?>
+ <title>Creating JSP Pages</title>
+
+ <para>Here, we are going to add two pages to our application. The first page is
+ inputnumber.jsp. It prompts you to enter a number. If the guess is incorrect, the same
+ page will be redisplayed with a message indicating whether a smaller or a larger number
+ should be tried. The second page is success.jsp. This page will be shown after you guess
+ the number correctly. From this page you also have the option to play the game again.</para>
+
+ <para>Now, we will guide you through the steps on how to do this.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open <emphasis>
+ <property moreinfo="none">faces-config.xml</property>
+ </emphasis> file</para>
+ </listitem>
+ <listitem>
+ <para>Right click anywhere on the diagram mode</para>
+ </listitem>
+ <listitem>
+ <para>From the context menu select <emphasis>
+ <property moreinfo="none">New View</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Create New View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+
+ <listitem>
+ <para>Type <emphasis>
+ <property moreinfo="none">pages/inputnumber</property>
+ </emphasis> as the value for <emphasis>
+ <property moreinfo="none">From-view-id</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Leave everything else as is and click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In the same way create another jsf view. Type <emphasis>
+ <property moreinfo="none">pages/success</property>
+ </emphasis> as the value for <emphasis>
+ <property moreinfo="none">From-view-id</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">File > Save</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>On the diagram you will see two created views.</para>
+ <figure float="0">
+ <title>New Views</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="CreatingTransition">
+ <?dbhtml filename="CreatingTransition.html"?>
+ <title>Creating Transition between two views</title>
+ <para>Then, we should create connection between jsp pages.</para>
+ <itemizedlist>
+ <listitem>
+ <para>In the diagram, select the <emphasis>
+ <property moreinfo="none">Create New Connection</property>
+ </emphasis> icon third from the top along the upper left side of the diagram to
+ get an arrow cursor with a two-pronged plug at the arrow's bottom <figure float="0">
+ <title>Create Connection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">pages/inputnumber</property>
+ </emphasis> page icon and then click on the <emphasis>
+ <property moreinfo="none">pages/success</property>
+ </emphasis> page icon</para>
+ </listitem>
+ </itemizedlist>
+ <para>A transition should appear between the two icons of views.</para>
+ <figure float="0">
+ <title>Created Connection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">File > Save</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="CreatingResourceFile">
+ <?dbhtml filename="CreatingResourceFile.html"?>
+ <title>Creating Resource File</title>
+ <para>A resource file is just a file with a <emphasis>.properties</emphasis> extension for
+ collecting text messages in one central place. JBoss Developer Studio allows you to
+ create quickly a resource file. The messages stored in resource file can be displayed to
+ you on a Web page during application execution. </para>
+ <para>With resource file first, you don't hard code anything into the JSP pages.
+ And second, it makes it easier to translate your application to other languages. All you
+ have to do is to translate all your messages to the other language and save them in a
+ new properties file with a name that ends with the appropriate ISO-639 language code.</para>
+ <para>It is a good idea to keep your resources inside the <emphasis>
+ <property moreinfo="none">JavaSource</property>
+ </emphasis> folder, where you keep your .java files. Every time you build the project,
+ all <emphasis>.properties</emphasis> files will then be copied to the
+ <emphasis>classes</emphasis> folder by default.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property moreinfo="none">JavaSource</property>
+ </emphasis> folder and select <emphasis>
+ <property moreinfo="none">New > Folder</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property moreinfo="none">game</property>
+ </emphasis> for Folder name and click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>Your resource file and java bean will be stored in this folder.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click on <emphasis>
+ <property moreinfo="none">game folder</property>
+ </emphasis> and select <emphasis>
+ <property moreinfo="none">New > Properties File</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property moreinfo="none">messages</property>
+ </emphasis> as the value for "name" attribute and click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>JBoss Developer Studio will automatically open
+ <property moreinfo="none">messages.properties</property> file for editing.</para>
+ <figure float="0">
+ <title>Messages.properties File</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Add</property>
+ </emphasis> button for adding new attribute to your resource file</para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis role="italic">
+ <property moreinfo="none">how_to_play</property>
+ </emphasis> for "name" and <emphasis role="italic">
+ <property moreinfo="none">Please pick a number between 0 and 100.</property>
+ </emphasis> for value</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In such a way add the next properties:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[makeguess_button=Make Guess
+trayagain_button=Play Again?
+success_text=How cool.. You have guessed the number, {0} is correct!
+tryagain_smaller=Oops..incorrect guess. Please try a smaller number.
+tryagain_bigger=Oops..incorrect guess. Please try a bigger number.
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">File > Save</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ <para>Your .properties file should now look like follows:</para>
+ <figure float="0">
+ <title>Properties are Added</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para><emphasis>
+ <property moreinfo="none">Up</property></emphasis>
+ and <emphasis>
+ <property moreinfo="none">Down</property>
+ </emphasis> buttons allow you to move you attribute on the list. For delete the attribute, choose it and press <emphasis>
+ <property moreinfo="none">Delete</property></emphasis> button.</para>
+ <para>If you want to change a value or a name of your attribute, click on it and than on <emphasis>
+ <property moreinfo="none">Edit</property></emphasis> button.</para>
+
+ <para>If the .properties file is rather big and there are a lot of entries in it, you can use filtering and regular expressions to find the necessary ones. The Filter and Regular Expressions Search is implemented by an expandable panel, closed by default: </para>
+ <para>When "Expression" is not selected (as by default), filter is case insensitive. When "Expression" is selected, filter uses regular expressions which are case sensitive</para>
+ <figure float="0">
+ <title>Filter and Regular Expressions Search Panel</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_8a.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para> Enter the characters that should be searched for in the entries to the 'name' or 'value' input fields accordingly. The filtered results will be displayed in the table below:</para>
+
+ <figure float="0">
+ <title>Filter results</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_8b.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>When using regular expressions please note, that regular expression syntax does not use "*" for any characters and "?" for any one character. It's necessary to use "." for any one character and ".*" for any characters. Symbols "*" and "?" are used to show that the preceding token is not required, for example, "a.a" matches "aba" but not "aa", while "a.?a" or a.*a" matches both; besides "a.*a" matches "abcda".</para>
+ <para>To find the exact match, use sequences \A and \z in expression. For example, expression "\Adate\z" matches only string "date"; expression "\Adate" matches "date" and "dateline", expression "date\z" matches "date" and "Begin date", and expression "date" matches all of them.</para>
+
+ </section>
+
+ <section id="CreatingJavaBean">
+ <?dbhtml filename="CreatingJavaBean.html"?>
+ <title>Creating Java Bean</title>
+ <para>In this section you'll see how to create a Java bean that will hold business
+ logic of our application.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property moreinfo="none">game folder</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">New > Class</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property moreinfo="none">NumberBean</property>
+ </emphasis> for bean name</para>
+ </listitem>
+ </itemizedlist>
+ <para>A java bean is created.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Declare the variable of your entered number:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[Integer userNumber;
+]]></programlisting>
+ <para>JBDS allows to quickly generate getters and setters for java bean.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property moreinfo="none">NumberBean.java</property>
+ </emphasis> in Package Explorer</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">Source > Generate Getters and Setters...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Check <emphasis>
+ <property moreinfo="none">userNumber</property>
+ </emphasis> box and click <emphasis>
+ <property moreinfo="none">OK</property>
+ </emphasis>
+ <figure float="0">
+ <title>Generate Getters and Setters</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Add the declaration of the second variable</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[int randomNumber;
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>.. other bean methods:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[public NumberBean ()
+{
+ randomNumber = (int)(Math.random()*100);
+ System.out.println ( "Random number: "+randomNumber);
+ }
+ public String playagain ()
+ {
+ FacesContext context = FacesContext.getCurrentInstance();
+ HttpSession session =
+ (HttpSession) context.getExternalContext().getSession(false);
+ session.invalidate();
+ return "playagain";
+ }
+ public String checkGuess ()
+ {
+
+ // if guessed, return 'success' for navigation
+ if ( userNumber.intValue() == randomNumber )
+ {
+ return "success";
+ }
+else
+ {
+ FacesContext context = FacesContext.getCurrentInstance();
+ ResourceBundle bundle = ResourceBundle.getBundle("game.messages",
+ context.getViewRoot().getLocale());
+ String msg = "";
+ // if number bigger, get appropriate message
+ if ( userNumber.intValue() > randomNumber )
+ msg = bundle.getString("tryagain_smaller");
+ else // if number smaller, get appropriate message
+ msg = bundle.getString("tryagain_bigger");
+ // add message to be displayed on the page via <h:messages> tag
+ context.addMessage (null, new FacesMessage(msg));
+ // return 'tryagain' for navigation
+ return "tryagain";
+ }
+ }
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>And the import declarations:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[import javax.faces.context.FacesContext;
+import javax.servlet.http.HttpSession;
+import javax.faces.application.FacesMessage;
+import java.util.Locale;
+import java.util.ResourceBundle;
+]]></programlisting>
+ <para>The whole java bean should look as follows:</para>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[import javax.faces.context.FacesContext;
+import javax.servlet.http.HttpSession;
+import javax.faces.application.FacesMessage;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+public class NumberBean
+{
+ Integer userNumber;
+ int randomNumber; // random number generated by application
+public Integer getUserNumber ()
+ {
+ return userNumber;
+ }
+ public void setUserNumber (Integer value)
+ {
+ this.userNumber = value;
+ }
+
+ // constructor, generates random number
+ public NumberBean ()
+ {
+ randomNumber = (int)(Math.random()*100);
+ System.out.println (
+ "Random number: " + randomNumber);
+ }
+
+ public String playagain ()
+ {
+ FacesContext context = FacesContext.getCurrentInstance();
+ HttpSession session =
+ (HttpSession) context.getExternalContext().getSession(false);
+ session.invalidate();
+ return "playagain";
+ }
+
+ // check if user guessed the number
+ public String checkGuess ()
+ {
+ // if guessed, return 'success' for navigation
+ if ( userNumber.intValue() == randomNumber )
+ {
+ return "success";
+ }
+ // incorrect guess
+ else
+ {
+ // get a reference to properties file to retrieve messages
+ FacesContext context = FacesContext.getCurrentInstance();
+ ResourceBundle bundle =
+ ResourceBundle.getBundle("game.messages",
+ context.getViewRoot().getLocale());
+ String msg = "";
+ // if number is bigger, get appropriate message
+ if ( userNumber.intValue() > randomNumber )
+ msg = bundle.getString("tryagain_smaller");
+ else // if number smaller, get appropriate message
+ msg = bundle.getString("tryagain_bigger");
+
+ // add message to be displayed on the page via <h:messages> tag
+ context.addMessage (null, new FacesMessage(msg));
+ // return 'tryagain' for navigation
+ return "tryagain";
+ }
+ }
+}
+]]></programlisting>
+ </section>
+
+ <section id="EditingFacesConfig">
+ <?dbhtml filename="EditingFacesConfig.html"?>
+ <title>Editing faces-config.xml File</title>
+ <para>In this section you know about faces-config.xml file.</para>
+ <para>This file holds two navigation rules and defines the backing bean used.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open faces-config.xml file in a source mode</para>
+ </listitem>
+ <listitem>
+ <para>Add here one more navigation rule and a managed bean declarations that the
+ content of the file looks like this:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee
+xmlns:xi="http://www.w3.org/2001/XInclude"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+ http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2_.xsd">
+
+ <navigation-rule>
+ <from-view-id>*</from-view-id>
+ <navigation-case>
+ <from-outcome>playagain</from-outcome>
+ <to-view-id>/pages/inputnumber.jsp</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+
+ <navigation-rule>
+ <from-view-id>/pages/inputnumber.jsp</from-view-id>
+ <navigation-case>
+ <from-outcome>success</from-outcome>
+ <to-view-id>/pages/success.jsp</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+
+ <managed-bean>
+ <managed-bean-name>NumberBean</managed-bean-name>
+ <managed-bean-class>game.NumberBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+
+</faces-config>
+]]></programlisting>
+ <para>The first navigation rule states that from any page (<property moreinfo="none">*</property> stands for
+ any page) an outcome of playagain will take you to <emphasis>
+ <property moreinfo="none">/pages/inputnumber.jsp</property>
+ </emphasis>. Outcome values are returned from backing bean methods in this example. The
+ second navigation rule states that if you are at the page <emphasis>
+ <property moreinfo="none">/pages/inputnumber.jsp</property>
+ </emphasis>, and the outcome is success, then navigate to the <emphasis>
+ <property moreinfo="none">/pages/success.jsp</property>
+ </emphasis> page. </para>
+ </section>
+ <section id="EditingTheJSPViewFiles2">
+ <?dbhtml filename="EditingTheJSPViewFiles2.html"?>
+ <title>Editing the JSP View Files</title>
+ <para>Now, we will continue editing the JSP files for our two "views" using
+ Visual Page Editor.</para>
+ <section id="EditingInputjsp">
+ <?dbhtml filename="EditingInputjsp.html"?>
+ <title>Editing inputnumber.jsp page</title>
+ <para>First, let's dwell on how to edit inputnumber.jsp.</para>
+ <para>On this page we will have an output text component displaying a message, a text
+ field for user's number entering and a button for input submission.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open inputnumber.jsp by double-clicking on the <emphasis>
+ <property moreinfo="none">/pages/inputnumber. jsp</property>
+ </emphasis> icon</para>
+ </listitem>
+ </itemizedlist>
+ <para>The Visual Page Editor will open in a screen split between source code along the
+ top and a WYSIWIG view along the bottom. You can see that some JSF code will be
+ already generated as we choose a template when creating the page.</para>
+ <para>At the beginning it's necessary to create a
+ <code><h:form></code>
+ component where all others components are put.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Place the mouse cursor inside
+ <code><f:view>
+ </f:view></code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Go to JBoss Tools Palette and expand JSF HTML folder by selecting
+ it</para>
+ </listitem>
+ <listitem>
+ <para>Click on
+ <code><h:form></code>
+ tag <figure float="0">
+ <title>Insert h:form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_10.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>In the dialog Insert Tag select <emphasis>
+ <property moreinfo="none">id</property>
+ </emphasis> and click on this line below the value header. A blinking cursor
+ will appear in a input text field inviting to enter a value of id <figure float="0">
+ <title>Define Id of Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_11.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property moreinfo="none">inputNumbers</property>
+ </emphasis> and click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>In source view you can see the declaration of a form.</para>
+ <figure float="0">
+ <title>Created Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_12.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>First let's declare the properties file in inputnumber.jsp page using the
+ loadBundle JSF tag.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Put this declaration on the top of a page, right after the first two
+ lines:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="XML"><![CDATA[<f:loadBundle basename="game.messages" var="msg"/>
+]]></programlisting>
+ <para>As always JBDS provides code assist:</para>
+ <figure float="0">
+ <title>Code Assist</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_13.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to Visual tab, so it could be possible to work with the editor
+ completely in its WYSIWYG mode</para>
+ </listitem>
+ <listitem>
+ <para>Click on <emphasis>
+ <property moreinfo="none">outputText</property>, </emphasis> drag the cursor over to the
+ editor, and drop it inside the blue box in the editor</para>
+ </listitem>
+
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">value</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property moreinfo="none">...</property> button next to the value field</para>
+ </listitem>
+ </itemizedlist>
+ <para>JBDS will nicely propose you to choose within available values:</para>
+ <figure float="0">
+ <title>Choose Value</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_14.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Expand <emphasis>
+ <property moreinfo="none">Resource Bundles > msg</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">how_to_play</property>
+ </emphasis> value and click <emphasis>
+ <property moreinfo="none">Ok</property>. </emphasis> Then click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis>
+ <figure float="0">
+ <title>Selecting Value</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_15.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>The text will appear on the page:</para>
+ <figure float="0">
+ <title>Created OutputText Component</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_16.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to Source mode and insert
+ <code><br/></code>
+ tag after
+ <code><h:outputText></code>
+ component to make a new line.</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Save</property>
+ </emphasis> button.</para>
+ </listitem>
+ <listitem>
+ <para>On the Palette click on <emphasis>
+ <property moreinfo="none">inputText</property>, </emphasis> drag the cursor over to the
+ editor, and drop it inside the editor after the text.</para>
+ </listitem>
+ <listitem>
+ <para>Switch to a Source mode and insert
+ <code><br/></code>
+ tag after
+ <code><h:outputText></code>
+ component to make a new line</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Save</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>On the Palette click on <emphasis>
+ <property moreinfo="none">inputText</property>, </emphasis> drag the cursor over to the
+ editor, and drop it inside the editor after the text</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">value</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property moreinfo="none">...</property> button next to the value field</para>
+ </listitem>
+ <listitem>
+ <para>Expand <emphasis>
+ <property moreinfo="none">Managed Beans > NumberBean</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">userNumber</property>
+ </emphasis> value and click <emphasis>
+ <property moreinfo="none">Ok</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Switch <emphasis>
+ <property moreinfo="none">Advanced</property>
+ </emphasis> tab</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">id</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property moreinfo="none">userNumber</property>
+ </emphasis> in text field</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">required</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property moreinfo="none">...</property> button next to the value field</para>
+ </listitem>
+ <listitem>
+ <para>Expand <emphasis>
+ <property moreinfo="none">Enumeration</property>
+ </emphasis> and select <emphasis>
+ <property moreinfo="none">true</property>
+ </emphasis> as a value</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Add "required" Attribute</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_17.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Ok</property>, </emphasis> then click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Go to Source mode</para>
+ </listitem>
+ <listitem>
+ <para>Add the validation attribute to
+ <code><f:validateLongRange></code>
+ for user input validation</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="XML"><![CDATA[<h:inputText id="userNumber" value="#{NumberBean.userNumber}" required="true">
+ <f:validateLongRange minimum="0" maximum="100"/>
+</h:inputText>
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Save</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>Again select <emphasis>
+ <property moreinfo="none">Visual</property>
+ </emphasis> mode</para>
+ </listitem>
+ <listitem>
+ <para>On the Palette, click on <emphasis>
+ <property moreinfo="none">commandButton</property>, </emphasis> drag the cursor over to
+ the editor, and drop it inside the editor after the inputText
+ component.</para>
+ </listitem>
+ <listitem>
+ <para>In the editing dialog select <emphasis>
+ <property moreinfo="none">value</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property moreinfo="none">...</property> button next to the value field</para>
+ </listitem>
+ <listitem>
+ <para>Expand <emphasis>
+ <property moreinfo="none">Resource Bundles > msg</property>
+ </emphasis> and select <emphasis>
+ <property moreinfo="none">makeguess_button</property>
+ </emphasis> as a value</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Ok</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property moreinfo="none">action</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property moreinfo="none">NumberBean.checkGuess</property>
+ </emphasis> in text field</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In Source mode add
+ <code><br/></code>
+ tags between
+ <code><outputText></code>
+ , <code><inputText></code>
+ and <code><commandButton></code>
+ components to place them on different lines</para>
+ </listitem>
+ </itemizedlist>
+ <para>inputnumber.jsp page should look like this:</para>
+ <programlisting format="linespecific" role="XML"><![CDATA[<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<f:loadBundle basename="game.messages" var="msg" />
+<html>
+<head>
+<title></title>
+</head>
+ <body>
+ <f:view>
+ <h:form id="inputNumbers">
+ <h:outputText value="#{msg.how_to_play}" />
+ <br />
+ <h:messages style="color: blue" />
+ <br />
+ <h:inputText value="#{NumberBean.userNumber}" id="userNumber"
+ required="true">
+ <f:validateLongRange minimum="0" maximum="100" />
+ </h:inputText>
+ <br />
+ <br />
+ <h:commandButton value="#{msg.makeguess_button}"
+ action="#{NumberBean.checkGuess}" />
+ </h:form>
+ </f:view>
+ </body>
+</html>
+]]></programlisting>
+ </section>
+ <section id="EditingSuccessJsp">
+ <?dbhtml filename="EditingSuccessJsp.html"?>
+ <title>Editing success.jsp page</title>
+ <para>In the same way like inputnumber.jsp, edit success.jsp page. Its whole source
+ should be the next:</para>
+ <programlisting format="linespecific" role="XML"><![CDATA[<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<f:loadBundle basename="game.messages" var="msg"/>
+
+<html>
+ <head>
+ <title></title>
+ </head>
+ <body>
+ <f:view>
+ <h:form id="result">
+ <h:outputFormat value="#{msg.success_text}">
+ <f:param value="#{NumberBean.userNumber}" />
+ </h:outputFormat>
+ <br />
+ <br />
+ <h:commandButton value="#{msg.trayagain_button}"
+ action="#{NumberBean.playagain}" />
+ </h:form>
+ </f:view>
+ </body>
+</html>
+
+]]></programlisting>
+ <para>Again you can use code assist provided by JBDS when editing jsp page:</para>
+ <figure float="0">
+ <title>Code Assist for <f:param></title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_18.png" scale="80"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>This page, success.jsp, is shown if you correctly guessed the number. The
+ <code><h:outputFormat></code>
+ tag will get the value of success_text from the properties file. The {0}
+ in success_text will be substituted for by the value of the value attribute within
+ the <code><f:param></code>
+ tag during runtime.</para>
+ <para>At the end, you have a button which allows you to replay the game. The action
+ value references a backing bean method. In this case, the method only terminates the
+ current session so that when you are shown the first page, the input text box is
+ clear and a new random number is generated.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to Preview mode to see how this page will look in a browser:</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Success.jsp in Preview Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_19.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ </section>
+ <section id="CreatingIndexjsp">
+ <?dbhtml filename="CreatingIndexjsp.html"?>
+ <title>Creating index.jsp page</title>
+ <para>Now you know how to create index.jsp page.</para>
+ <para>The index.jsp page is the entry point of our application. It's just
+ forwarding to inputnumber.jsp page.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property moreinfo="none">WebContent > New > JSP File</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property moreinfo="none">index</property>
+ </emphasis> for name field and choose <emphasis>
+ <property moreinfo="none">JSPRedirect</property>
+ </emphasis> as a template</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>The source for this page should be like the following:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="XML"><![CDATA[<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <body>
+ <jsp:forward page="/pages/inputnumber.jsf" />
+ </body>
+</html>
+
+]]></programlisting>
+ <para>Note the <emphasis>.jsf</emphasis> extension of a page. It means that we trigger the
+ JSF controller servlet to handle the page according the servlet mapping in the
+ faces-config.xml file.</para>
+ </section>
+ <section id="RunningTheApplication33">
+ <?dbhtml filename="RunningTheApplication33.html"?>
+ <title>Running the Application</title>
+ <para>Finally, we have all the pieces needed to run the application.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Start up JBoss server by clicking on the <emphasis>
+ <property moreinfo="none">Start</property>
+ </emphasis> icon in JBoss Server view. (If JBoss is already running, stop it by
+ clicking on the red icon and then start it again. After the messages in the
+ Console tabbed view stop scrolling, JBoss is available)</para>
+ </listitem>
+ <listitem>
+ <para>Right-click on project <emphasis>
+ <property moreinfo="none">Run AS > Run on Server</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Play with the application by entering correct as well as incorrect
+ values</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>You are Asked to Enter a Number Between 0 and 100</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_20.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure float="0">
+ <title>Your Input is Validated and an Error Message is Displayed if Invalid Input was
+ Entered</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_21.png" scale="90"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure float="0">
+ <title>After You Enter a Guess, the Application Tells You Whether a Smaller or a Larger
+ Number Should be Tried</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_22.png" scale="90"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure float="0">
+ <title>Your Guess is Correct</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_23.png" scale="90"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+</chapter>
+
+
+
+<chapter id="project_examples" role="new" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/GettingStartedGuide/en/modules/project_examples.xml" xreflabel="project_examples">
+ <?dbhtml filename="project_examples.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Project Examples</title>
+
+ <para><emphasis><property moreinfo="none">JBoss Developer Studio</property></emphasis> provides an option to download and import a ready-made
+ project that you can explore and derive some useful technology implementation lessons from. </para>
+
+ <para>
+ To adjust the settings of the Project Examples feature you need to navigate to <property moreinfo="none">Windows> Preferences > JBoss Tools > Project Examples
+ </property>. </para>
+
+ <figure float="0">
+ <title>Project Examples Preferences</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/preferences.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <property moreinfo="none">Show experimental sites</property> checkbox serves to enable/disable representing the user sites in the <property moreinfo="none">Project Example</property> dialog ( <property moreinfo="none">Help > Project Examples</property>). </para>
+
+
+ <section id="UserSites">
+ <title>User Sites</title>
+ <para>
+ As you can see from the <emphasis role="bold">Project Examples Preferences</emphasis> image you can add a custom project example that can be provided by anyone.
+ This feature can, for example, facilitate project testing.
+
+ </para>
+ <para>
+ In oder to add a new project example you need to select the <property moreinfo="none">User sites</property>
+ option and press the <property moreinfo="none">Add</property> button to the right.
+ </para>
+ <para>When the <property moreinfo="none">Add</property> button is pressed the
+ <property moreinfo="none">Add Project Example Site</property> dialog is displayed. The dialog contains 2
+ input fields: <property moreinfo="none">Name</property> where you need to specify the name of the new entry and <property moreinfo="none">URL</property>
+ that has to point to the xml file that contains example project(s) properties.
+ In more detail the structure of the xml file is discussed further in the chapter of the guide.
+ Alternatively, if the xml is stored on your local machine, you can hit the <property moreinfo="none">Browse</property> button to select the file in the file system.</para>
+ <para>Here is an example of the xml file that holds project example settings:</para>
+
+ <programlisting format="linespecific" role="XML"><![CDATA[
+<projects>
+ <project>
+ <category>User Examples</category>
+ <name>User Project Example</name>
+ <shortDescription>
+ Short project description.
+ </shortDescription>
+ <description>
+ Full project description.
+ </description>
+ <size>10900</size>
+ <url>
+ http://projectexample.org/projectexample.zip
+ </url>
+ </project>
+</projects>
+]]></programlisting>
+
+ <para>Once you define the location of the xml file with projects settings you will see a new user site entry added.
+ Please note now if you select the entry you can edit and remove it with the corresponding buttons to the right.
+ You can not do such operations with the <property moreinfo="none">Plugin provides sites</property>.</para>
+
+ <para>When the user sites location is set up you can download and install the project(s).
+ Please see the next chapter of the guide. </para>
+ </section>
+
+
+
+ <section id="DownloadingProjectExample">
+ <title>Downloading a Project Example</title>
+
+ <para>To download a project example and start working with it you need to take a few steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Go to the menu bar and select <emphasis><property moreinfo="none">File > New > Other...</property></emphasis>
+ </para></listitem>
+
+ <listitem><para>Select <emphasis><property moreinfo="none">Jboss Tools > Project Examples</property></emphasis> (You can also call the <emphasis><property moreinfo="none">Project Examples</property></emphasis> from menu bar: <property moreinfo="none">Help > Project Examples...</property> or directly from <emphasis><property moreinfo="none">File > New > Example...</property></emphasis> menu )</para></listitem>
+
+
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Project Examples</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ Alternatively, you should navigate to <property moreinfo="none">New > Other..</property>, scroll down to find the <property moreinfo="none">JBoss Tools</property> option (or just type in the first letters of the word "JBoss" for quick search), expand the option and select <property moreinfo="none">Project Examples</property>, click <property moreinfo="none">Next</property>.
+ </para>
+ <itemizedlist>
+ <listitem><para>Now in the <property moreinfo="none">New Project Example</property> dialog you can select a project you would like to explore and a site to download it from</para>
+ <para>Project Examples Wizard provides a filter field to more easily locate the project examples you want, so you can type in the project you would like to explore in the field.</para></listitem>
+
+ </itemizedlist>
+
+
+ <figure float="0">
+ <title>Selecting a Project Example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>If you have previously specified user sites (see the <link linkend="UserSites">User Sites</link> chapter) they also will be displayed in the list of project examples in the category that was defined in the xml file with user sites settings. </para>
+ <figure float="0">
+ <title>User Site</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_user_site.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ Pleas note that to view the user sites you need to have <property moreinfo="none">Show experimental sites</property> checked.
+ </para>
+
+ <note>
+ <title>Note:</title>
+ <para>
+ The <emphasis><property moreinfo="none">Show the Quick Fix Dialog</property></emphasis> option is described in the <link linkend="QuickFixes">Quick Fixes</link> section.
+ </para>
+ </note>
+
+ <itemizedlist>
+ <listitem><para>Press <emphasis><property moreinfo="none">Finish</property></emphasis> to start downloading the project from the repository
+ </para></listitem>
+
+ </itemizedlist>
+
+ <para>When downloading is finished the project will be imported automatically and you will be able to see it in the Package Explorer.</para>
+
+ <para>Now you can run the application on the server.
+
+ </para>
+
+
+ <figure float="0">
+ <title>Seam Demo Application run on the Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="QuickFixes">
+ <title>Quick Fixes</title>
+ <para>
+ Project Examples Wizard has an option for making quick fixes
+ for the imported project to easily fix possible issues like missing servers, Seam runtimes etc.
+ </para>
+ <para>To enable quick fixing option you need to check the
+ <emphasis><property moreinfo="none">Show the Quick Fix dialog</property></emphasis> while choosing the <link linkend="DownloadingProjectExample">Project Example</link>.</para>
+
+ <para>When the project you selected is downloaded it will be checked for missing dependences and if there are some you will see a dialog listing the problems.</para>
+ <figure float="0">
+ <title>Quick Fix Dialog box</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>To fix the problem you need to:</para>
+
+ <itemizedlist>
+ <listitem><para>Select the problem from the list</para></listitem>
+ <listitem><para>Click <emphasis><property moreinfo="none">Quick Fix</property></emphasis> button</para></listitem>
+ </itemizedlist>
+
+ <para>You will be offered a solution or a number of solutions to the problem.</para>
+
+ <figure float="0">
+ <title>Quick Fix Dialog box: Selecting a Fix</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>In this case(see the image above), when the <emphasis><property moreinfo="none">Finish</property></emphasis> button is pressed, Seam Settings dialog box will be displayed where you need to provide a path to the Seam environment to fix the issue.</para>
+
+ <para>When the problem is fixed you will be returned to the Quick Fix dialog box with the remaining problems to be fixed.</para>
+
+ </section>
+
+
+</chapter>
+
+
+
+<chapter id="gsg_faq" role="updated" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/GettingStartedGuide/en/modules/gsg_faq.xml" xreflabel="gsg_faq">
+ <?dbhtml filename="gsg_faq.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>FAQ</title>
+
+ <para>For more information on <property moreinfo="none">JBoss Developer Studio</property> features, refer to the
+ following FAQ to get the answers on the most "popular" questions.</para>
+
+ <section id="question_1">
+ <title>What should I do if Visual Page Editor does not start under Linux</title>
+
+ <para>Linux users may need to do the following to get the <property moreinfo="none">Visual Page
+ Editor</property> to work correctly on their machines.</para>
+
+ <orderedlist continuation="restarts" inheritnum="ignore">
+ <listitem>
+ <para>On Red Hat based Linux distributions install the xpLib.i386 package</para>
+ </listitem>
+ <listitem>
+ <para>Type</para>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[ln -s libstdc++.so.5.0.7 libstdc++.so.5
+]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>and/or use</para>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[yum install libXp
+]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>Open the JBDS perspective. If you see the Help view open, close it and restart
+ JBDS</para>
+ </listitem>
+ <listitem><para> If it doesn't help and you use Fedora Core Linux and Eclipse Version: 3.4.1,the issue can be produced because libswt-xulrunner-gtk-3449.so file doesn't present
+ in eclipse-swt-3.4.1-5.fc10.x86_64.rpm/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.4.1.v3449c.jar.To add this file to eclipse you should:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>Decompress eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.4.1.v3449c.jar form eclipse-SDK-3.4.1-linux-gtk-x86_64.tar.gz</para>
+ </listitem>
+ <listitem>
+ <para>Copy <property moreinfo="none">libswt-xulrunner-gtk-3449.so</property> file to your Fedora Eclipse location.</para>
+ </listitem>
+
+ <listitem>
+ <para>Open the file eclipse.ini,which can be found in your Fedora Eclipse location and add the following line: </para>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[-Dswt.library.path=/usr/lib/eclipse
+]]></programlisting><para>,where <code>/usr/lib/eclipse</code> is the path to your eclipse folder.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>If none of these work, do the following:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Clear the Eclipse log file,
+ <emphasis><workspace>\.metadata\.log</emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Start Eclipse with the -debug option:</para>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[eclipse -debug
+]]></programlisting>
+ </listitem>
+ <listitem>
+ <para>Post the Eclipse log file
+ (<emphasis><workspace>\.metadata\.log</emphasis>) on
+ the forums.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </orderedlist>
+ </section>
+
+ <section id="question_2">
+ <title>Do I need to have JBoss Server installed to run JBoss Developer Studio?</title>
+
+ <para>No. <property moreinfo="none">JBoss Developer Studio</property> already comes bundled with JBoss
+ Server. We bundle it together so that you don't need to download any additional
+ software and can test your application in a Web browser right away.</para>
+ <para>If you want to use a different JBoss server installation, after <property moreinfo="none">JBoss
+ Developer Studio</property> is installed open Servers View (select
+ <emphasis><property moreinfo="none">Window > Show View > Others > Server
+ > Servers</property>),</emphasis> then right click on this <emphasis>
+ <property moreinfo="none">view > New > Server</property>
+ </emphasis> and follow the wizards steps to point to another Jboss Server
+ installation.</para>
+ <para><property moreinfo="none">JBoss Developer Studio</property> works with any servlet container, not just
+ JBoss. For more information on deployment, please see the Deploying Your Application
+ section.</para>
+ </section>
+
+ <section id="question_3">
+ <title>I have an existing Seam 1.2.1 project. Can I migrate/import the project to a JBDS
+ Seam project?</title>
+
+ <para>We highly recommend you to create Seam 1.2.1 project using the
+ <property moreinfo="none">JBDS</property>. In other case try to do manually:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Create a Seam Web project to get the JBoss tools structure</para>
+ </listitem>
+ </itemizedlist>
+ <para>Then from your Seam 1.2.1 seam-gen project start doing the following:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Copy <property moreinfo="none">src</property> to <property moreinfo="none">src</property></para>
+ </listitem>
+ <listitem>
+ <para>Copy <property moreinfo="none">view</property> to <property moreinfo="none">Web content</property></para>
+ </listitem>
+ <listitem>
+ <para>Copy resources individual files to where they are in the seam web project
+ etc.</para>
+ </listitem>
+ </itemizedlist>
+
+ </section>
+ <section id="questio_4">
+ <title>I have an existing Struts or JSF project. Can I open the project in JBDS?</title>
+
+ <para>Yes. From main menu select <emphasis>
+ <property moreinfo="none">File > Import > Other > JSF Project (or Struts
+ Project)</property>
+ </emphasis> and follow wizards steps.</para>
+
+ </section>
+
+ <section id="question_5">
+ <title>Can I import a .war file?</title>
+
+ <para>Yes. Select <emphasis><property moreinfo="none">File > Import > Web > WAR
+ file</property>, </emphasis> then follow importing steps.</para>
+ </section>
+
+ <section id="question_6">
+ <title>Is it possible to increase the performance of Eclipse after installing your
+ product?</title>
+
+ <para><property moreinfo="none">JBoss Developer Studio</property> preconfigures eclipse via the eclipse.ini
+ file to allocate extra memory, but if you for some reason need more memory then by
+ default, you can manually make adjustments in this file. For example:</para>
+ <programlisting format="linespecific" role="XML">
+ <![CDATA[-vmargs -Xms128m -Xmx512m -XX:MaxPermSize=128m
+]]></programlisting>
+ </section>
+
+ <section id="question_7">
+ <title>How can I add my own tag library to the JBoss Tools Palette?</title>
+
+ <para>See <ulink url="../../jsf/html_single/index.html#AddingCustomJSFTagsToTheRedHatPalette7433">Adding Tag
+ Libraries</ulink> in Visual Web Tools Guide.</para>
+ </section>
+
+ <section id="question_8">
+ <title>How to get Code Assist for Seam specific resources in an externally generated
+ project?</title>
+
+ <para>To get Code Assist for Seam specific resources in an externally generated project, you
+ should enable Seam features in Project Preferences. Right click an imported project and
+ navigate <emphasis>
+ <property moreinfo="none">Properties > Seam Settings</property>.</emphasis> Check <emphasis>
+ <property moreinfo="none">Seam support</property>
+ </emphasis> box to enable all available <ulink url="../../seam/html_single/index.html#project_pref">Seam
+ Settings</ulink>.</para>
+ </section>
+
+ <section id="question_9">
+ <title>How to import an example Seam project from jboss-eap directory?</title>
+
+ <para>To import an example Seam project from <emphasis>
+ <property moreinfo="none">jboss-eap</property>
+ </emphasis> into your working directory, you should perform the following steps:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Go to <emphasis>
+ <property moreinfo="none">New > Other > Java Project from Existing Buildfile</property>
+ </emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para>Point to the <emphasis>
+ <property moreinfo="none">build.xml</property>
+ </emphasis> of any chosen project by pressing <emphasis>
+ <property moreinfo="none">Browse</property>
+ </emphasis> button</para>
+ </listitem>
+
+ <listitem>
+ <para>Hit <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> to open the project</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>As these seam examples are non WTP projects, next you should enable Seam support for
+ them. To do that, right click the project and go to <emphasis>
+ <property moreinfo="none">Properties > Seam Settings</property>.</emphasis></para>
+ </section>
+
+ <section id="question_10">
+ <title>Is a cross-platform project import possible for JBDS?</title>
+
+ <para>Yes. You can easily import created in Linux JSF, Struts or Seam project to Windows and
+ vice versa.</para>
+
+ <para>To do the transferring JSF, Struts or Seam project, go to <emphasis>
+ <property moreinfo="none">Menu > Import > General > Existing Projects into Workspace</property>,</emphasis>
+ select the folder where your project stored and press <emphasis>
+ <property moreinfo="none">Finish</property>.</emphasis></para>
+ </section>
+</chapter>
+
+
+<chapter id="further_reading" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/GettingStartedGuide/en/modules/further_reading.xml" xreflabel="further_reading">
+ <?dbhtml filename="further_reading.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Deploy</keyword>
+ <keyword>Deployment</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Further Reading</title>
+<itemizedlist>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Seam Dev Tools Reference Guide</emphasis>
+ <ulink url="../../seam/html_single/index.html">(html)</ulink>
+ </para>
+ <para> This guide helps you to understand what Seam is and how to install Seam plug-in into
+ Eclipse. It tells you the necessary steps to start working with Seam Framework and assists in a
+ simple Seam Project creation. Also you will learn how to create and run the CRUD Database
+ Application with Seam as well as find out what Seam Editors Features and Seam Components are. </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Visual Web Tools Reference Guide</emphasis>
+ <ulink url="../../jsf/html_single/index.html">(html)</ulink> provides general orientation and an overview of JBDS visual web tools functionality. This guide discusses the following topics: editors, palette, web properties view, openOn, content assist, RichFaces support.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JBoss Server Manager Reference Guide</emphasis>
+ <ulink url="../../as/html_single/index.html">(html)</ulink>
+ </para>
+ <para> This guide covers the basics of working with the JBoss server manager. You will read how to
+ install runtimes and servers and quickly learn how to configure, start, stop the server and know
+ how deployment and archiving process. You will find out how to manage installed JBoss Servers
+ via JBoss AS Perspective. You will also read how to deploy modules onto the server. </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">jBPM Tools Reference Guide</emphasis>
+ <ulink url="../../jbpm/html_single/index.html">(html)</ulink>
+ </para>
+ <para>With jBPM Tools Reference Guide we'll help you to facilitate a cross-product
+ learning and know how you can speed your development using special editors and visual designers.
+ We'll also guide you through the steps on how to create a simple process and test it
+ within jBPM jPDL perspective.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Hibernate Tools Reference Guide</emphasis>
+ <ulink url="../../hibernatetools/html_single/index.html">(html)</ulink>
+ </para>
+ <para>Throughout this guide you will learn how to install and use Hibernate Tools bath via Ant and
+ through Eclipse. We'll supply you with the information on how to create mapping files,
+ configuration file as well as a file for controlling reverse engineering by using specific
+ wizards that Hibernate tooling provides. Also you will know about Code Generation and
+ peculiarities of work within Hibernate Console Perspective.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">ESB Editor Reference Guide</emphasis>
+ <ulink url="../../esb_ref_guide/html_single/index.html">(html)</ulink>
+ </para>
+ <para>This guide provides you with the information on ESB Editor and all necessary wizards for ESB
+ files development.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JBoss Portal Tools Reference Guide</emphasis>
+ <ulink url="../../jboss_portal_tools_ref_guide/html_single/index.html">(html)</ulink>
+ </para>
+ <para>The guide gives a detail look at how you can easily build a Portlet Web Application with
+ JBoss Tools and deploy it onto JBoss Portal.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JBoss WS User Guide</emphasis>
+ <ulink url="../../ws_ref_guide/html_single/index.html">(html)</ulink>
+ </para>
+ <para>This guide gives you practical help on JBossWS usage. You will learn how to create a web service using JBossWS runtime, find out how to create a web service client from a WSDL document using JBoss WS and also see how to set your development environment.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Smooks Tools Reference Guide</emphasis>
+ <ulink url="../../jboss_smooks_plugin_ref_guide/html_single/index.html">(html)</ulink>
+ </para>
+ <para>This guide is packed with useful and easy-to-understand information about graphical, configuration and source editor pages.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Drools Tools Reference Guide</emphasis>
+ <ulink url="../../drools_tools_ref_guide/html_single/index.html">(html)</ulink>
+ </para>
+ <para>The guide help you to discover how to create a new Drools project, use debugging rules and work with different editors.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JMX Tools Reference Guide</emphasis>
+ <ulink url="../../jmx_ref_guide/html_single/index.html">(html)</ulink>
+ </para>
+ <para>With the help of this guide you'll explore the best practices to follow when working with MBean Explorer, MBean Editor, Connections and etc.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Eclipse Guvnor Tools Reference Guide</emphasis>
+ <ulink url="../../guvnor_tools_ref_guide/html_single/index.html">(html)</ulink>
+ </para>
+ <para>The purpose of this guide is to describe briefly the functionality present in the Eclipse Guvnor Tools (EGT) for Drools 5.</para>
+ </listitem>
+
+
+
+ <listitem>
+ <para>
+ <emphasis role="bold">JSF Tools Tutorial</emphasis>
+ <ulink url="../../jsf_tools_tutorial/html_single/index.html">(html)</ulink>
+ </para>
+ <para> This tutorial will describe how to deal with classic/old style of JSF development and how
+ to create a simple JSF application using the JBoss Developer Studio. </para>
+ </listitem>
+
+ <listitem> <para>
+ <emphasis role="bold">JSF Tools Reference Guide</emphasis>
+ <ulink url="../../jsf_tools_ref_guide/html_single/index.html">(html)</ulink>
+
+ </para>
+ <para> From this guide you'll discover all peculiarities of work at a JSF project. You'll
+ learn all shades that cover the process of project creation and take a closer look at the JSF
+ configuration file. Also you'll get to know managed beans and how to work with them and
+ find out, how to create and register a custom converter, custom validator and referenced beans
+ in a JSF project. </para>
+ </listitem>
+
+ <listitem> <para>
+ <emphasis role="bold">Struts Tools Reference Guide</emphasis>
+ <ulink url="../../struts_tools_ref_guide/html_single/index.html">(html)</ulink>
+ </para>
+ <para> In Struts Tools Reference Guide you will learn how to create and work with a new struts
+ project. This guide also provides information about graphical editor for struts configuration
+ files, tiles files, and struts validation files. </para>
+ </listitem>
+
+<listitem>
+ <para>
+ <emphasis role="bold">Struts Tools Tutorial</emphasis>
+ <ulink url="../../struts_tools_tutorial/html_single/index.html">(html)</ulink>
+ </para>
+ <para> This tutorial will describe the classical style of Struts development, and will
+ step-by-step show you how to create a simple Struts application in JBoss Developer Studio.</para>
+</listitem>
+
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Exadel Studio Migration Guide</emphasis>
+ <ulink url="../../Exadel-migration/html_single/index.html">(html)</ulink>
+ </para>
+ <para>This document is intended to help you to migrate an existing Exadel JSF or Struts projects
+ from Exadel Studio into JBoss Developer Studio. </para>
+ </listitem>
+
+ <para>If there's anything we didn't cover in this guide,
+ please feel free to visit our
+ <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=258">
+ JBoss Developer Studio Users Forum</ulink> or
+ <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201">
+ JBoss Tools Users Forum</ulink> to ask questions. There we are also looking for
+ your suggestions and comments.</para>
+</itemizedlist>
+
+</chapter>
+
+
+</book>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/project_examples.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/project_examples.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/project_examples.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<chapter id="project_examples" xreflabel="project_examples" role="new">
+ <?dbhtml filename="project_examples.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Project Examples</title>
+
+ <para><emphasis><property>JBoss Developer Studio</property></emphasis> provides an option to download and import a ready-made
+ project that you can explore and derive some useful technology implementation lessons from. </para>
+
+ <para>
+ To adjust the settings of the Project Examples feature you need to navigate to <property>Windows> Preferences > JBoss Tools > Project Examples
+ </property>. </para>
+
+ <figure>
+ <title>Project Examples Preferences</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/preferences.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <property>Show experimental sites</property> checkbox serves to enable/disable representing the user sites in the <property>Project Example</property> dialog ( <property>Help > Project Examples</property>). </para>
+
+
+ <section id="UserSites">
+ <title>User Sites</title>
+ <para>
+ As you can see from the <emphasis role="bold">Project Examples Preferences</emphasis> image you can add a custom project example that can be provided by anyone.
+ This feature can, for example, facilitate project testing.
+
+ </para>
+ <para>
+ In oder to add a new project example you need to select the <property>User sites</property>
+ option and press the <property>Add</property> button to the right.
+ </para>
+ <para>When the <property>Add</property> button is pressed the
+ <property>Add Project Example Site</property> dialog is displayed. The dialog contains 2
+ input fields: <property>Name</property> where you need to specify the name of the new entry and <property>URL</property>
+ that has to point to the xml file that contains example project(s) properties.
+ In more detail the structure of the xml file is discussed further in the chapter of the guide.
+ Alternatively, if the xml is stored on your local machine, you can hit the <property>Browse</property> button to select the file in the file system.</para>
+ <para>Here is an example of the xml file that holds project example settings:</para>
+
+ <programlisting role="XML"><![CDATA[
+<projects>
+ <project>
+ <category>User Examples</category>
+ <name>User Project Example</name>
+ <shortDescription>
+ Short project description.
+ </shortDescription>
+ <description>
+ Full project description.
+ </description>
+ <size>10900</size>
+ <url>
+ http://projectexample.org/projectexample.zip
+ </url>
+ </project>
+</projects>
+]]></programlisting>
+
+ <para>Once you define the location of the xml file with projects settings you will see a new user site entry added.
+ Please note now if you select the entry you can edit and remove it with the corresponding buttons to the right.
+ You can not do such operations with the <property>Plugin provides sites</property>.</para>
+
+ <para>When the user sites location is set up you can download and install the project(s).
+ Please see the next chapter of the guide. </para>
+ </section>
+
+
+
+ <section id="DownloadingProjectExample">
+ <title>Downloading a Project Example</title>
+
+ <para>To download a project example and start working with it you need to take a few steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Go to the menu bar and select <emphasis><property>File > New > Other...</property></emphasis>
+ </para></listitem>
+
+ <listitem><para>Select <emphasis><property>Jboss Tools > Project Examples</property></emphasis> (You can also call the <emphasis><property>Project Examples</property></emphasis> from menu bar: <property>Help > Project Examples...</property> or directly from <emphasis><property>File > New > Example...</property></emphasis> menu )</para></listitem>
+
+
+ </itemizedlist>
+
+ <figure>
+ <title>Project Examples</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ Alternatively, you should navigate to <property>New > Other..</property>, scroll down to find the <property>JBoss Tools</property> option (or just type in the first letters of the word "JBoss" for quick search), expand the option and select <property>Project Examples</property>, click <property>Next</property>.
+ </para>
+ <itemizedlist>
+ <listitem><para>Now in the <property>New Project Example</property> dialog you can select a project you would like to explore and a site to download it from</para>
+ <para>Project Examples Wizard provides a filter field to more easily locate the project examples you want, so you can type in the project you would like to explore in the field.</para></listitem>
+
+ </itemizedlist>
+
+
+ <figure>
+ <title>Selecting a Project Example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>If you have previously specified user sites (see the <link linkend="UserSites">User Sites</link> chapter) they also will be displayed in the list of project examples in the category that was defined in the xml file with user sites settings. </para>
+ <figure>
+ <title>User Site</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_user_site.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ Pleas note that to view the user sites you need to have <property>Show experimental sites</property> checked.
+ </para>
+
+ <note>
+ <title>Note:</title>
+ <para>
+ The <emphasis><property>Show the Quick Fix Dialog</property></emphasis> option is described in the <link linkend="QuickFixes">Quick Fixes</link> section.
+ </para>
+ </note>
+
+ <itemizedlist>
+ <listitem><para>Press <emphasis><property>Finish</property></emphasis> to start downloading the project from the repository
+ </para></listitem>
+
+ </itemizedlist>
+
+ <para>When downloading is finished the project will be imported automatically and you will be able to see it in the Package Explorer.</para>
+
+ <para>Now you can run the application on the server.
+
+ </para>
+
+
+ <figure>
+ <title>Seam Demo Application run on the Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="QuickFixes">
+ <title>Quick Fixes</title>
+ <para>
+ Project Examples Wizard has an option for making quick fixes
+ for the imported project to easily fix possible issues like missing servers, Seam runtimes etc.
+ </para>
+ <para>To enable quick fixing option you need to check the
+ <emphasis><property>Show the Quick Fix dialog</property></emphasis> while choosing the <link linkend="DownloadingProjectExample">Project Example</link>.</para>
+
+ <para>When the project you selected is downloaded it will be checked for missing dependences and if there are some you will see a dialog listing the problems.</para>
+ <figure>
+ <title>Quick Fix Dialog box</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>To fix the problem you need to:</para>
+
+ <itemizedlist>
+ <listitem><para>Select the problem from the list</para></listitem>
+ <listitem><para>Click <emphasis><property>Quick Fix</property></emphasis> button</para></listitem>
+ </itemizedlist>
+
+ <para>You will be offered a solution or a number of solutions to the problem.</para>
+
+ <figure>
+ <title>Quick Fix Dialog box: Selecting a Fix</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/project_examples/pr_example_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>In this case(see the image above), when the <emphasis><property>Finish</property></emphasis> button is pressed, Seam Settings dialog box will be displayed where you need to provide a path to the Seam environment to fix the issue.</para>
+
+ <para>When the problem is fixed you will be returned to the Quick Fix dialog box with the remaining problems to be fixed.</para>
+
+ </section>
+
+
+</chapter>
Added: trunk/documentation/guides/GettingStartedGuide/en-US/rad_jsf_application.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/rad_jsf_application.xml (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/rad_jsf_application.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,1121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="rad_jsf_application" xreflabel="rad_jsf_application">
+ <?dbhtml filename="rad_jsf_application.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JSF</keyword>
+ <keyword>JBoss</keyword>
+ <keyword>RAD</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>RAD development of a simple JSF application</title>
+
+ <note>
+ <title>Note:</title>
+ <para>We highly recommend developing in <property>Seam</property>. This chapter is for users
+ who for some reason cannot use <property>Seam</property>.</para>
+ </note>
+
+ <para>In this chapter you will see how to create a simple JSF application being based on
+ <property>"RAD"</property> philosophy. We will create the familiar
+ Guess Number application. The scenario is the following. You are asked to guess a number
+ between 0 and 100. If the guess is correct, a success page is displayed with a link to play
+ again. If the guess is incorrect, a message is printed notifying that a smaller or a larger
+ number should be entered and the game continues.</para>
+ <para>We'll show you how to create such an application from scratch, along the way
+ demonstrating powerful features of JBoss Developer Studio such as project templating, Visual
+ Page Editor, code completion and others. You will design the JSF application and then run
+ the application from inside JBoss Developer Studio using the bundled JBoss server.</para>
+
+ <section id="SettingUpTheProject12">
+ <?dbhtml filename="SettingUpTheProject12.html"?>
+ <title>Setting up the project</title>
+ <para>First, you should create a JSF 1.2 project using an integrated JBDS's new
+ project wizard and predefined templates. Follow the next steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>In Web Projects View (if it is not open select <emphasis>
+ <property>Window > Show View > Others > JBoss Tools Web
+ > Web Projects View</property>) </emphasis> click <emphasis>
+ <property>Create New JSF Project</property>
+ </emphasis> button. <figure>
+ <title>Create New JSF Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure></para>
+ </listitem>
+
+ <listitem>
+ <para>Put <property>GuessNumber</property> as a project name, in JSF Environment
+ drop down list choose <property>JSF 1.2</property></para>
+ </listitem>
+ <listitem>
+ <para>Leave everything else as it is and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>Our project will appear in Project Explorer and Web Projects Views. As you can see
+ JBoss Developer Studio has created for us the whole skeleton for the project with all
+ needed libraries, faces-config.xml and web.xml files.</para>
+ <figure>
+ <title>New JSF Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>As the project has been set up, new JSP pages should be created now.</para>
+ </section>
+ <section id="CreatingJSPPages">
+ <?dbhtml filename="CreatingJSPPages.html"?>
+ <title>Creating JSP Pages</title>
+
+ <para>Here, we are going to add two pages to our application. The first page is
+ inputnumber.jsp. It prompts you to enter a number. If the guess is incorrect, the same
+ page will be redisplayed with a message indicating whether a smaller or a larger number
+ should be tried. The second page is success.jsp. This page will be shown after you guess
+ the number correctly. From this page you also have the option to play the game again.</para>
+
+ <para>Now, we will guide you through the steps on how to do this.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open <emphasis>
+ <property>faces-config.xml</property>
+ </emphasis> file</para>
+ </listitem>
+ <listitem>
+ <para>Right click anywhere on the diagram mode</para>
+ </listitem>
+ <listitem>
+ <para>From the context menu select <emphasis>
+ <property>New View</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Create New View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+
+ <listitem>
+ <para>Type <emphasis>
+ <property>pages/inputnumber</property>
+ </emphasis> as the value for <emphasis>
+ <property>From-view-id</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Leave everything else as is and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In the same way create another jsf view. Type <emphasis>
+ <property>pages/success</property>
+ </emphasis> as the value for <emphasis>
+ <property>From-view-id</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>File > Save</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>On the diagram you will see two created views.</para>
+ <figure>
+ <title>New Views</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="CreatingTransition">
+ <?dbhtml filename="CreatingTransition.html"?>
+ <title>Creating Transition between two views</title>
+ <para>Then, we should create connection between jsp pages.</para>
+ <itemizedlist>
+ <listitem>
+ <para>In the diagram, select the <emphasis>
+ <property>Create New Connection</property>
+ </emphasis> icon third from the top along the upper left side of the diagram to
+ get an arrow cursor with a two-pronged plug at the arrow's bottom <figure>
+ <title>Create Connection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>pages/inputnumber</property>
+ </emphasis> page icon and then click on the <emphasis>
+ <property>pages/success</property>
+ </emphasis> page icon</para>
+ </listitem>
+ </itemizedlist>
+ <para>A transition should appear between the two icons of views.</para>
+ <figure>
+ <title>Created Connection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property>File > Save</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="CreatingResourceFile">
+ <?dbhtml filename="CreatingResourceFile.html"?>
+ <title>Creating Resource File</title>
+ <para>A resource file is just a file with a <emphasis>.properties</emphasis> extension for
+ collecting text messages in one central place. JBoss Developer Studio allows you to
+ create quickly a resource file. The messages stored in resource file can be displayed to
+ you on a Web page during application execution. </para>
+ <para>With resource file first, you don't hard code anything into the JSP pages.
+ And second, it makes it easier to translate your application to other languages. All you
+ have to do is to translate all your messages to the other language and save them in a
+ new properties file with a name that ends with the appropriate ISO-639 language code.</para>
+ <para>It is a good idea to keep your resources inside the <emphasis>
+ <property>JavaSource</property>
+ </emphasis> folder, where you keep your .java files. Every time you build the project,
+ all <emphasis>.properties</emphasis> files will then be copied to the
+ <emphasis>classes</emphasis> folder by default.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property>JavaSource</property>
+ </emphasis> folder and select <emphasis>
+ <property>New > Folder</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>game</property>
+ </emphasis> for Folder name and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>Your resource file and java bean will be stored in this folder.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click on <emphasis>
+ <property>game folder</property>
+ </emphasis> and select <emphasis>
+ <property>New > Properties File</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>messages</property>
+ </emphasis> as the value for "name" attribute and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>JBoss Developer Studio will automatically open
+ <property>messages.properties</property> file for editing.</para>
+ <figure>
+ <title>Messages.properties File</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_7.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Add</property>
+ </emphasis> button for adding new attribute to your resource file</para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis role="italic">
+ <property>how_to_play</property>
+ </emphasis> for "name" and <emphasis role="italic">
+ <property>Please pick a number between 0 and 100.</property>
+ </emphasis> for value</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In such a way add the next properties:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[makeguess_button=Make Guess
+trayagain_button=Play Again?
+success_text=How cool.. You have guessed the number, {0} is correct!
+tryagain_smaller=Oops..incorrect guess. Please try a smaller number.
+tryagain_bigger=Oops..incorrect guess. Please try a bigger number.
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>File > Save</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ <para>Your .properties file should now look like follows:</para>
+ <figure>
+ <title>Properties are Added</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para><emphasis>
+ <property>Up</property></emphasis>
+ and <emphasis>
+ <property>Down</property>
+ </emphasis> buttons allow you to move you attribute on the list. For delete the attribute, choose it and press <emphasis>
+ <property>Delete</property></emphasis> button.</para>
+ <para>If you want to change a value or a name of your attribute, click on it and than on <emphasis>
+ <property>Edit</property></emphasis> button.</para>
+
+ <para>If the .properties file is rather big and there are a lot of entries in it, you can use filtering and regular expressions to find the necessary ones. The Filter and Regular Expressions Search is implemented by an expandable panel, closed by default: </para>
+ <para>When "Expression" is not selected (as by default), filter is case insensitive. When "Expression" is selected, filter uses regular expressions which are case sensitive</para>
+ <figure>
+ <title>Filter and Regular Expressions Search Panel</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_8a.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para> Enter the characters that should be searched for in the entries to the 'name' or 'value' input fields accordingly. The filtered results will be displayed in the table below:</para>
+
+ <figure>
+ <title>Filter results</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_8b.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>When using regular expressions please note, that regular expression syntax does not use "*" for any characters and "?" for any one character. It's necessary to use "." for any one character and ".*" for any characters. Symbols "*" and "?" are used to show that the preceding token is not required, for example, "a.a" matches "aba" but not "aa", while "a.?a" or a.*a" matches both; besides "a.*a" matches "abcda".</para>
+ <para>To find the exact match, use sequences \A and \z in expression. For example, expression "\Adate\z" matches only string "date"; expression "\Adate" matches "date" and "dateline", expression "date\z" matches "date" and "Begin date", and expression "date" matches all of them.</para>
+
+ </section>
+
+ <section id="CreatingJavaBean">
+ <?dbhtml filename="CreatingJavaBean.html"?>
+ <title>Creating Java Bean</title>
+ <para>In this section you'll see how to create a Java bean that will hold business
+ logic of our application.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property>game folder</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>New > Class</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>NumberBean</property>
+ </emphasis> for bean name</para>
+ </listitem>
+ </itemizedlist>
+ <para>A java bean is created.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Declare the variable of your entered number:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[Integer userNumber;
+]]></programlisting>
+ <para>JBDS allows to quickly generate getters and setters for java bean.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property>NumberBean.java</property>
+ </emphasis> in Package Explorer</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Source > Generate Getters and Setters...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Check <emphasis>
+ <property>userNumber</property>
+ </emphasis> box and click <emphasis>
+ <property>OK</property>
+ </emphasis>
+ <figure>
+ <title>Generate Getters and Setters</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Add the declaration of the second variable</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[int randomNumber;
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>.. other bean methods:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[public NumberBean ()
+{
+ randomNumber = (int)(Math.random()*100);
+ System.out.println ( "Random number: "+randomNumber);
+ }
+ public String playagain ()
+ {
+ FacesContext context = FacesContext.getCurrentInstance();
+ HttpSession session =
+ (HttpSession) context.getExternalContext().getSession(false);
+ session.invalidate();
+ return "playagain";
+ }
+ public String checkGuess ()
+ {
+
+ // if guessed, return 'success' for navigation
+ if ( userNumber.intValue() == randomNumber )
+ {
+ return "success";
+ }
+else
+ {
+ FacesContext context = FacesContext.getCurrentInstance();
+ ResourceBundle bundle = ResourceBundle.getBundle("game.messages",
+ context.getViewRoot().getLocale());
+ String msg = "";
+ // if number bigger, get appropriate message
+ if ( userNumber.intValue() > randomNumber )
+ msg = bundle.getString("tryagain_smaller");
+ else // if number smaller, get appropriate message
+ msg = bundle.getString("tryagain_bigger");
+ // add message to be displayed on the page via <h:messages> tag
+ context.addMessage (null, new FacesMessage(msg));
+ // return 'tryagain' for navigation
+ return "tryagain";
+ }
+ }
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>And the import declarations:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[import javax.faces.context.FacesContext;
+import javax.servlet.http.HttpSession;
+import javax.faces.application.FacesMessage;
+import java.util.Locale;
+import java.util.ResourceBundle;
+]]></programlisting>
+ <para>The whole java bean should look as follows:</para>
+ <programlisting role="JAVA"><![CDATA[import javax.faces.context.FacesContext;
+import javax.servlet.http.HttpSession;
+import javax.faces.application.FacesMessage;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+public class NumberBean
+{
+ Integer userNumber;
+ int randomNumber; // random number generated by application
+public Integer getUserNumber ()
+ {
+ return userNumber;
+ }
+ public void setUserNumber (Integer value)
+ {
+ this.userNumber = value;
+ }
+
+ // constructor, generates random number
+ public NumberBean ()
+ {
+ randomNumber = (int)(Math.random()*100);
+ System.out.println (
+ "Random number: " + randomNumber);
+ }
+
+ public String playagain ()
+ {
+ FacesContext context = FacesContext.getCurrentInstance();
+ HttpSession session =
+ (HttpSession) context.getExternalContext().getSession(false);
+ session.invalidate();
+ return "playagain";
+ }
+
+ // check if user guessed the number
+ public String checkGuess ()
+ {
+ // if guessed, return 'success' for navigation
+ if ( userNumber.intValue() == randomNumber )
+ {
+ return "success";
+ }
+ // incorrect guess
+ else
+ {
+ // get a reference to properties file to retrieve messages
+ FacesContext context = FacesContext.getCurrentInstance();
+ ResourceBundle bundle =
+ ResourceBundle.getBundle("game.messages",
+ context.getViewRoot().getLocale());
+ String msg = "";
+ // if number is bigger, get appropriate message
+ if ( userNumber.intValue() > randomNumber )
+ msg = bundle.getString("tryagain_smaller");
+ else // if number smaller, get appropriate message
+ msg = bundle.getString("tryagain_bigger");
+
+ // add message to be displayed on the page via <h:messages> tag
+ context.addMessage (null, new FacesMessage(msg));
+ // return 'tryagain' for navigation
+ return "tryagain";
+ }
+ }
+}
+]]></programlisting>
+ </section>
+
+ <section id="EditingFacesConfig">
+ <?dbhtml filename="EditingFacesConfig.html"?>
+ <title>Editing faces-config.xml File</title>
+ <para>In this section you know about faces-config.xml file.</para>
+ <para>This file holds two navigation rules and defines the backing bean used.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open faces-config.xml file in a source mode</para>
+ </listitem>
+ <listitem>
+ <para>Add here one more navigation rule and a managed bean declarations that the
+ content of the file looks like this:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee
+xmlns:xi="http://www.w3.org/2001/XInclude"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+ http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2_.xsd">
+
+ <navigation-rule>
+ <from-view-id>*</from-view-id>
+ <navigation-case>
+ <from-outcome>playagain</from-outcome>
+ <to-view-id>/pages/inputnumber.jsp</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+
+ <navigation-rule>
+ <from-view-id>/pages/inputnumber.jsp</from-view-id>
+ <navigation-case>
+ <from-outcome>success</from-outcome>
+ <to-view-id>/pages/success.jsp</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+
+ <managed-bean>
+ <managed-bean-name>NumberBean</managed-bean-name>
+ <managed-bean-class>game.NumberBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+
+</faces-config>
+]]></programlisting>
+ <para>The first navigation rule states that from any page (<property>*</property> stands for
+ any page) an outcome of playagain will take you to <emphasis>
+ <property>/pages/inputnumber.jsp</property>
+ </emphasis>. Outcome values are returned from backing bean methods in this example. The
+ second navigation rule states that if you are at the page <emphasis>
+ <property>/pages/inputnumber.jsp</property>
+ </emphasis>, and the outcome is success, then navigate to the <emphasis>
+ <property>/pages/success.jsp</property>
+ </emphasis> page. </para>
+ </section>
+ <section id="EditingTheJSPViewFiles2">
+ <?dbhtml filename="EditingTheJSPViewFiles2.html"?>
+ <title>Editing the JSP View Files</title>
+ <para>Now, we will continue editing the JSP files for our two "views" using
+ Visual Page Editor.</para>
+ <section id="EditingInputjsp">
+ <?dbhtml filename="EditingInputjsp.html"?>
+ <title>Editing inputnumber.jsp page</title>
+ <para>First, let's dwell on how to edit inputnumber.jsp.</para>
+ <para>On this page we will have an output text component displaying a message, a text
+ field for user's number entering and a button for input submission.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open inputnumber.jsp by double-clicking on the <emphasis>
+ <property>/pages/inputnumber. jsp</property>
+ </emphasis> icon</para>
+ </listitem>
+ </itemizedlist>
+ <para>The Visual Page Editor will open in a screen split between source code along the
+ top and a WYSIWIG view along the bottom. You can see that some JSF code will be
+ already generated as we choose a template when creating the page.</para>
+ <para>At the beginning it's necessary to create a
+ <code><h:form></code>
+ component where all others components are put.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Place the mouse cursor inside
+ <code><f:view>
+ </f:view></code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Go to JBoss Tools Palette and expand JSF HTML folder by selecting
+ it</para>
+ </listitem>
+ <listitem>
+ <para>Click on
+ <code><h:form></code>
+ tag <figure>
+ <title>Insert h:form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_10.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>In the dialog Insert Tag select <emphasis>
+ <property>id</property>
+ </emphasis> and click on this line below the value header. A blinking cursor
+ will appear in a input text field inviting to enter a value of id <figure>
+ <title>Define Id of Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_11.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>inputNumbers</property>
+ </emphasis> and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>In source view you can see the declaration of a form.</para>
+ <figure>
+ <title>Created Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_12.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>First let's declare the properties file in inputnumber.jsp page using the
+ loadBundle JSF tag.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Put this declaration on the top of a page, right after the first two
+ lines:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<f:loadBundle basename="game.messages" var="msg"/>
+]]></programlisting>
+ <para>As always JBDS provides code assist:</para>
+ <figure>
+ <title>Code Assist</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_13.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to Visual tab, so it could be possible to work with the editor
+ completely in its WYSIWYG mode</para>
+ </listitem>
+ <listitem>
+ <para>Click on <emphasis>
+ <property>outputText</property>, </emphasis> drag the cursor over to the
+ editor, and drop it inside the blue box in the editor</para>
+ </listitem>
+
+ <listitem>
+ <para>Select <emphasis>
+ <property>value</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property>...</property> button next to the value field</para>
+ </listitem>
+ </itemizedlist>
+ <para>JBDS will nicely propose you to choose within available values:</para>
+ <figure>
+ <title>Choose Value</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_14.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Expand <emphasis>
+ <property>Resource Bundles > msg</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>how_to_play</property>
+ </emphasis> value and click <emphasis>
+ <property>Ok</property>. </emphasis> Then click <emphasis>
+ <property>Finish</property>
+ </emphasis>
+ <figure>
+ <title>Selecting Value</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_15.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>The text will appear on the page:</para>
+ <figure>
+ <title>Created OutputText Component</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_16.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to Source mode and insert
+ <code><br/></code>
+ tag after
+ <code><h:outputText></code>
+ component to make a new line.</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Save</property>
+ </emphasis> button.</para>
+ </listitem>
+ <listitem>
+ <para>On the Palette click on <emphasis>
+ <property>inputText</property>, </emphasis> drag the cursor over to the
+ editor, and drop it inside the editor after the text.</para>
+ </listitem>
+ <listitem>
+ <para>Switch to a Source mode and insert
+ <code><br/></code>
+ tag after
+ <code><h:outputText></code>
+ component to make a new line</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Save</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>On the Palette click on <emphasis>
+ <property>inputText</property>, </emphasis> drag the cursor over to the
+ editor, and drop it inside the editor after the text</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>value</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property>...</property> button next to the value field</para>
+ </listitem>
+ <listitem>
+ <para>Expand <emphasis>
+ <property>Managed Beans > NumberBean</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>userNumber</property>
+ </emphasis> value and click <emphasis>
+ <property>Ok</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Switch <emphasis>
+ <property>Advanced</property>
+ </emphasis> tab</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>id</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>userNumber</property>
+ </emphasis> in text field</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>required</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property>...</property> button next to the value field</para>
+ </listitem>
+ <listitem>
+ <para>Expand <emphasis>
+ <property>Enumeration</property>
+ </emphasis> and select <emphasis>
+ <property>true</property>
+ </emphasis> as a value</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Add "required" Attribute</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_17.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Ok</property>, </emphasis> then click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Go to Source mode</para>
+ </listitem>
+ <listitem>
+ <para>Add the validation attribute to
+ <code><f:validateLongRange></code>
+ for user input validation</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<h:inputText id="userNumber" value="#{NumberBean.userNumber}" required="true">
+ <f:validateLongRange minimum="0" maximum="100"/>
+</h:inputText>
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Save</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>Again select <emphasis>
+ <property>Visual</property>
+ </emphasis> mode</para>
+ </listitem>
+ <listitem>
+ <para>On the Palette, click on <emphasis>
+ <property>commandButton</property>, </emphasis> drag the cursor over to
+ the editor, and drop it inside the editor after the inputText
+ component.</para>
+ </listitem>
+ <listitem>
+ <para>In the editing dialog select <emphasis>
+ <property>value</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property>...</property> button next to the value field</para>
+ </listitem>
+ <listitem>
+ <para>Expand <emphasis>
+ <property>Resource Bundles > msg</property>
+ </emphasis> and select <emphasis>
+ <property>makeguess_button</property>
+ </emphasis> as a value</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Ok</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>action</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>NumberBean.checkGuess</property>
+ </emphasis> in text field</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In Source mode add
+ <code><br/></code>
+ tags between
+ <code><outputText></code>
+ , <code><inputText></code>
+ and <code><commandButton></code>
+ components to place them on different lines</para>
+ </listitem>
+ </itemizedlist>
+ <para>inputnumber.jsp page should look like this:</para>
+ <programlisting role="XML"><![CDATA[<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<f:loadBundle basename="game.messages" var="msg" />
+<html>
+<head>
+<title></title>
+</head>
+ <body>
+ <f:view>
+ <h:form id="inputNumbers">
+ <h:outputText value="#{msg.how_to_play}" />
+ <br />
+ <h:messages style="color: blue" />
+ <br />
+ <h:inputText value="#{NumberBean.userNumber}" id="userNumber"
+ required="true">
+ <f:validateLongRange minimum="0" maximum="100" />
+ </h:inputText>
+ <br />
+ <br />
+ <h:commandButton value="#{msg.makeguess_button}"
+ action="#{NumberBean.checkGuess}" />
+ </h:form>
+ </f:view>
+ </body>
+</html>
+]]></programlisting>
+ </section>
+ <section id="EditingSuccessJsp">
+ <?dbhtml filename="EditingSuccessJsp.html"?>
+ <title>Editing success.jsp page</title>
+ <para>In the same way like inputnumber.jsp, edit success.jsp page. Its whole source
+ should be the next:</para>
+ <programlisting role="XML"><![CDATA[<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<f:loadBundle basename="game.messages" var="msg"/>
+
+<html>
+ <head>
+ <title></title>
+ </head>
+ <body>
+ <f:view>
+ <h:form id="result">
+ <h:outputFormat value="#{msg.success_text}">
+ <f:param value="#{NumberBean.userNumber}" />
+ </h:outputFormat>
+ <br />
+ <br />
+ <h:commandButton value="#{msg.trayagain_button}"
+ action="#{NumberBean.playagain}" />
+ </h:form>
+ </f:view>
+ </body>
+</html>
+
+]]></programlisting>
+ <para>Again you can use code assist provided by JBDS when editing jsp page:</para>
+ <figure>
+ <title>Code Assist for <f:param></title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_18.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>This page, success.jsp, is shown if you correctly guessed the number. The
+ <code><h:outputFormat></code>
+ tag will get the value of success_text from the properties file. The {0}
+ in success_text will be substituted for by the value of the value attribute within
+ the <code><f:param></code>
+ tag during runtime.</para>
+ <para>At the end, you have a button which allows you to replay the game. The action
+ value references a backing bean method. In this case, the method only terminates the
+ current session so that when you are shown the first page, the input text box is
+ clear and a new random number is generated.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to Preview mode to see how this page will look in a browser:</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Success.jsp in Preview Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_19.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ </section>
+ <section id="CreatingIndexjsp">
+ <?dbhtml filename="CreatingIndexjsp.html"?>
+ <title>Creating index.jsp page</title>
+ <para>Now you know how to create index.jsp page.</para>
+ <para>The index.jsp page is the entry point of our application. It's just
+ forwarding to inputnumber.jsp page.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property>WebContent > New > JSP File</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>index</property>
+ </emphasis> for name field and choose <emphasis>
+ <property>JSPRedirect</property>
+ </emphasis> as a template</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>The source for this page should be like the following:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <body>
+ <jsp:forward page="/pages/inputnumber.jsf" />
+ </body>
+</html>
+
+]]></programlisting>
+ <para>Note the <emphasis>.jsf</emphasis> extension of a page. It means that we trigger the
+ JSF controller servlet to handle the page according the servlet mapping in the
+ faces-config.xml file.</para>
+ </section>
+ <section id="RunningTheApplication33">
+ <?dbhtml filename="RunningTheApplication33.html"?>
+ <title>Running the Application</title>
+ <para>Finally, we have all the pieces needed to run the application.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Start up JBoss server by clicking on the <emphasis>
+ <property>Start</property>
+ </emphasis> icon in JBoss Server view. (If JBoss is already running, stop it by
+ clicking on the red icon and then start it again. After the messages in the
+ Console tabbed view stop scrolling, JBoss is available)</para>
+ </listitem>
+ <listitem>
+ <para>Right-click on project <emphasis>
+ <property>Run AS > Run on Server</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Play with the application by entering correct as well as incorrect
+ values</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>You are Asked to Enter a Number Between 0 and 100</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_20.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure>
+ <title>Your Input is Validated and an Error Message is Displayed if Invalid Input was
+ Entered</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_21.png"
+ scale="90"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure>
+ <title>After You Enter a Guess, the Application Tells You Whether a Smaller or a Larger
+ Number Should be Tried</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_22.png"
+ scale="90"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure>
+ <title>Your Guess is Correct</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_23.png"
+ scale="90"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+</chapter>
Modified: trunk/documentation/guides/GettingStartedGuide/pom.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/pom.xml 2010-03-09 03:47:34 UTC (rev 20704)
+++ trunk/documentation/guides/GettingStartedGuide/pom.xml 2010-03-09 04:12:08 UTC (rev 20705)
@@ -81,9 +81,9 @@
</dependencies>
<configuration>
<sourceDocumentName>${master}</sourceDocumentName>
- <sourceDirectory>${pom.basedir}/en</sourceDirectory>
+ <sourceDirectory>${pom.basedir}/en-US</sourceDirectory>
<imageResource>
- <directory>${pom.basedir}/en</directory>
+ <directory>${pom.basedir}/en-US</directory>
<includes>
<include>images/**/*</include>
<include>database.zip</include>
Added: trunk/documentation/guides/GettingStartedGuide/publican.cfg
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/publican.cfg (rev 0)
+++ trunk/documentation/guides/GettingStartedGuide/publican.cfg 2010-03-09 04:12:08 UTC (rev 20705)
@@ -0,0 +1,7 @@
+# Config::Simple 4.59
+# Fri Nov 20 13:19:45 2009
+
+xml_lang: en-US
+type: Book
+brand: JBoss
+
14 years, 10 months
JBoss Tools SVN: r20704 - in trunk/documentation/guides/Exadel-migration: en-US and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: irooskov(a)redhat.com
Date: 2010-03-08 22:47:34 -0500 (Mon, 08 Mar 2010)
New Revision: 20704
Added:
trunk/documentation/guides/Exadel-migration/en-US/
trunk/documentation/guides/Exadel-migration/en-US/Author_Group.xml
trunk/documentation/guides/Exadel-migration/en-US/Book_Info.xml
trunk/documentation/guides/Exadel-migration/en-US/Exadel_Studio_Migration_Guide.ent
trunk/documentation/guides/Exadel-migration/en-US/Exadel_Studio_Migration_Guide.xml
trunk/documentation/guides/Exadel-migration/en-US/Preface.xml
trunk/documentation/guides/Exadel-migration/en-US/Revision_History.xml
trunk/documentation/guides/Exadel-migration/en-US/images/
trunk/documentation/guides/Exadel-migration/en-US/images/favicon0.ico
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_1.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_10.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_2.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_3.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_4.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_5.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_6.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_7.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_8.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_9.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_1.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_2.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_3.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_4.png
trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_5.png
trunk/documentation/guides/Exadel-migration/en-US/introduction.xml
trunk/documentation/guides/Exadel-migration/en-US/jsf_struts.xml
trunk/documentation/guides/Exadel-migration/en-US/jsf_struts_war.xml
trunk/documentation/guides/Exadel-migration/en-US/master.xml
trunk/documentation/guides/Exadel-migration/en-US/master_output.xml
trunk/documentation/guides/Exadel-migration/en-US/workspace.xml
trunk/documentation/guides/Exadel-migration/publican.cfg
Removed:
trunk/documentation/guides/Exadel-migration/en/
Modified:
trunk/documentation/guides/Exadel-migration/pom.xml
Log:
updated book to build with publican and maven
Added: trunk/documentation/guides/Exadel-migration/en-US/Author_Group.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/Author_Group.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/Author_Group.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<authorgroup><author><firstname>JBoss Tools Team</firstname></author></authorgroup>
Added: trunk/documentation/guides/Exadel-migration/en-US/Book_Info.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/Book_Info.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/Book_Info.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<bookinfo><title>Exadel Studio Migration Guide</title><subtitle>Provides information about migration to the JBoss Developer Studio.</subtitle><productname>JBoss Developer Studio</productname><productnumber>3.0</productnumber><edition>1.0</edition><pubsnumber>0</pubsnumber><abstract><para>The Exadel Studio Migration Guide explains how to migrate from Exadel Studio to the JBoss Developer Studio.</para></abstract><corpauthor><inlinemediaobject><imageobject><imagedata fileref="Common_Content/images/title_logo.svg" format="SVG"></imagedata></imageobject></inlinemediaobject></corpauthor><xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include><xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include></bookinfo>
Added: trunk/documentation/guides/Exadel-migration/en-US/Exadel_Studio_Migration_Guide.ent
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/Exadel_Studio_Migration_Guide.ent (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/Exadel_Studio_Migration_Guide.ent 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,4 @@
+<!ENTITY PRODUCT "JBoss">
+<!ENTITY BOOKID "Exadel_Studio_Migration_Guide">
+<!ENTITY YEAR "2010">
+<!ENTITY HOLDER "Red Hat">
Added: trunk/documentation/guides/Exadel-migration/en-US/Exadel_Studio_Migration_Guide.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/Exadel_Studio_Migration_Guide.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/Exadel_Studio_Migration_Guide.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<book>
+<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="workspace.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="jsf_struts.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="jsf_struts_war.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+</book>
Added: trunk/documentation/guides/Exadel-migration/en-US/Preface.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/Preface.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/Preface.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<preface><title>Preface</title><xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include><xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include></xi:fallback></xi:include></preface>
Added: trunk/documentation/guides/Exadel-migration/en-US/Revision_History.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/Revision_History.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/Revision_History.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<appendix><title>Revision History</title><simpara><revhistory><revision><revnumber>0</revnumber><date>Fri Nov 20 2009</date><author><firstname>Isaac</firstname><surname>Rooskov</surname><email>irooskov(a)redhat.com</email></author><revdescription><simplelist><member>Initial creation of book by publican</member></simplelist></revdescription></revision></revhistory></simpara></appendix>
Added: trunk/documentation/guides/Exadel-migration/en-US/images/favicon0.ico
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/favicon0.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_10.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_5.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_6.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_7.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_7.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_8.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_8.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_9.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts/migration_9.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_5.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/guides/Exadel-migration/en-US/images/jsf_struts_war/migration_war_5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/guides/Exadel-migration/en-US/introduction.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/introduction.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/introduction.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="introduction" xreflabel="introduction">
+ <?dbhtml filename="introduction.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JBDS</keyword>
+ <keyword>Exadel Studio Pro</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Introduction </title>
+ <para>This document is intended to help you to migrate an existing Exadel JSF or Struts projects
+ into <property>JBoss Developer Studio</property>. Preferences can be exported from Eclipse 3.2.0
+ (3.2.1 or 3.2.2) and imported in Eclipse 3.4.x by the standard Eclipse means.</para>
+
+ <section>
+ <title>Key Features of Projects Migration to JBoss Developer Studio</title>
+ <para>For a start, we propose you to look through the table of main features of migrating projects to JBoss Developer Studio:</para>
+
+ <table>
+
+ <title>Key Features of Project Migration to JBoss Developer Studio</title>
+ <tgroup cols="3">
+
+ <colspec colnum="1" align="left" colwidth="2*"/>
+ <colspec colnum="2" colwidth="4*"/>
+ <colspec colnum="3" align="left" colwidth="2*"/>
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+ <entry>Chapter</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry><para>Import JSF Project Wizard</para></entry>
+ <entry><para>It simplifies the process of bringing your existing JSF applications into your JBoss Developer Studio workspace as JSF projects. The import is possible with *.war files.</para></entry>
+ <entry>
+ <link linkend="import_jsf">Migration of JSF project</link> and <link linkend="jsf_war">Migration of JSF project from *.war file</link>
+ </entry>
+ </row>
+
+ <row>
+ <entry><para>Import Struts Project Wizard</para></entry>
+ <entry><para>It simplifies the process of bringing your existing Struts applications into your JBoss Developer Studio workspace as Struts projects. The import is possible with *.war files.</para></entry>
+ <entry>
+ <link linkend="struts_import">Migration of Struts project</link> and <link linkend="struts_war">Migration of Struts project from *.war file</link>
+ </entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
+
+ </section>
+
+ <section>
+ <title>Other relevant resources on the topic</title>
+ <para>All JBoss Developer Studio/JBoss Tools release documentation you can find at<ulink url="http://docs.jboss.org/tools/">http://docs.jboss.org/tools</ulink> in the corresponding release directory.</para>
+ <para>The latest documentation builds are available at <ulink url="http://download.jboss.org/jbosstools/nightly-docs/">http://download.jboss.org/jbosstools/nightly-docs</ulink>.</para>
+
+ </section>
+
+</chapter>
Added: trunk/documentation/guides/Exadel-migration/en-US/jsf_struts.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/jsf_struts.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/jsf_struts.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="jsf_struts" xreflabel="jsf_struts">
+ <?dbhtml filename="jsf_struts.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JBDS</keyword>
+ <keyword>Exadel Studio Pro</keyword>
+ <keyword>Migration</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Migration of JSF and Struts Projects</title>
+ <para>In this chapter you can find concise description of migration of JSF and Struts Projects.</para>
+ <section id="import_jsf">
+ <title>JSF</title>
+ <para>JBoss Developer Studio includes an Import <property>JSF Project</property> Wizard that radically simplifies the process of bringing your existing JSF applications
+ into your JBoss Developer Studio workspace as JSF projects. You just need to follow these four steps:</para>
+ <itemizedlist>
+ <listitem><para><emphasis><property>Select File > Import...</property></emphasis> from the menu bar, and then select <emphasis><property>Other > JSF Project </property></emphasis>from the Import dialog box that appears.</para></listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Selecting the Import Menu Item</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure>
+ <title>Selecting the Import JSF Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>In the first screen of the wizard, select the <emphasis><property>Change...</property></emphasis> button next to the <emphasis><property>web.xml Location</property></emphasis> field. Browse to the location of the web.xml file for the application you
+ want to import as a <property>JSF project</property>. Once you select it, you'll be returned to the dialog box to see a project name derived from the web.xml file you selected.
+ You can edit this project name, if you wish.</para></listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Selecting the Web.xml File in the Project Location Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist id="import_jsf_screen">
+ <listitem><para>In the <emphasis><property>Project Folders</property></emphasis> screen, you can configure the rest of your project. Afterwards click on the <emphasis><property>Finish</property></emphasis> button.</para></listitem>
+ </itemizedlist>
+ <para>On this step JBoss Developer Studio will try to determine your project
+ structure and set the values for: <emphasis><property>Web Root</property></emphasis>, <emphasis><property>Source Folder</property></emphasis>, <emphasis><property>Classes Folder</property></emphasis>, <emphasis><property>Lib Folder</property></emphasis>. If your project has a custom structure, some values might not be
+ set. If this is the case, you can manually set those values by clicking the <emphasis><property>Change...</property></emphasis> button.</para>
+ <para>After dealing with these settings, you have to work through a few more configuration settings. These settings deal primarily with how the project will be deployed within JBoss Developer Studio.</para>
+ <para>First, if the project you are importing is not already a JSF project, select the <emphasis><property>Add Libraries</property></emphasis> check box to add all the JSF-related libraries to your project. </para>
+ <para>Then, you may select the JavaServer Faces implementation (<emphasis><property>Environment</property></emphasis>) and <emphasis><property>Servlet Version</property></emphasis>.</para>
+ <para>The <emphasis><property>Context Path</property></emphasis> is the name under which the application will be deployed. </para>
+ <para>The <emphasis><property>Runtime</property></emphasis> value tells Eclipse where to find Web libraries in order to build the project. It is not possible to finish the importing of a project without selecting a Runtime. If you don't have any choices displayed for this, select <emphasis><property>New...</property></emphasis> to add a new Runtime.</para>
+ <para>Finally, <emphasis><property>Target Server</property></emphasis> sets the server to deploy the application under. The Target Server corresponds to the Runtime value selected above. If you don't want to deploy the application, uncheck this value.</para>
+
+
+ <figure>
+ <title>The Project Folders Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>Once the project is imported, it will appear in the Package Explorer view.</para></listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Imported Project in the Package Explorer View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+ <section id="struts_import">
+ <title>Struts</title>
+ <itemizedlist>
+ <listitem><para><emphasis><property>Select File > Import...</property></emphasis> from the menu bar, and then select <emphasis><property>Other > Struts Project</property></emphasis> from the Import dialog box that appears.</para></listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Selecting the Import Menu Item</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure>
+ <title>Selecting the Import Struts Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>In the Project Location screen of the wizard, select the <emphasis><property>Change... </property></emphasis>button next to the <emphasis><property>web.xml Location</property></emphasis> field. Browse the location of the web.xml file for the application you
+ want to import as a <property>Struts project</property>. Once you select it, you'll be returned to the dialog box to see a project name derived from the web.xml file you selected.
+ You can edit this project name, if you wish.</para></listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>The Project Location Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_10.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>In the next screen, JBoss Developer Studio will try to determine your project structure. The upper pane shows the modules in this project.
+ The lower pane allows you to edit the details of the select module. If the project structure is non-standard, some values might be left blank.
+ You can edit any values by hand or by using the <emphasis><property>Change...</property></emphasis> button.</para></listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>The Project Modules Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_7.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>In the <emphasis><property>Project Folders</property></emphasis> screen, you can configure the rest of your project. Afterwards click on the <emphasis><property>Finish</property></emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <para>On this step JBoss Developer Studio will try to determine your project structure and set the values for: <emphasis><property>Classes Folder</property></emphasis>, <emphasis><property>Lib Folder</property></emphasis>, and <emphasis><property>Ant Build File</property></emphasis>. If your project has a custom structure, some values might not be set. If this is the case, you can manually set those values by clicking <emphasis><property>Change</property></emphasis>.</para>
+ <para>After dealing with these settings, you have to work through a few more configuration settings. These settings deal primarily with how the project will be deployed within JBoss Developer Studio.</para>
+ <para>First, if the project you are importing is not already a Struts project, select the <emphasis><property>Add Libraries</property></emphasis> check box to add all the Struts-related libraries to your project. </para>
+ <para>Then, you may select the Struts <emphasis><property>Environment</property></emphasis> and <emphasis><property>Servlet Version</property></emphasis>.</para>
+ <para>The <emphasis><property>Context Path</property></emphasis> is the name under which the application will be deployed. </para>
+ <para>The <emphasis><property>Runtime</property></emphasis> value tells Eclipse where to find Web libraries in order to build the project. It is not possible to finish the importing of a project without selecting a Runtime. If you don't have any choices displayed for this, select<emphasis><property> New...</property></emphasis> to add a new Runtime.</para>
+ <para>Finally, <emphasis><property>Target Server</property></emphasis> sets the server to deploy the application under. The Target Server corresponds to the Runtime value selected above. If you don't want to deploy the application, uncheck this value.</para>
+
+
+ <figure>
+ <title>The Project Folders Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>Once the project is imported, it will appear in the Package Explorer view.</para></listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Imported Project in the Package Explorer View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+</chapter>
Added: trunk/documentation/guides/Exadel-migration/en-US/jsf_struts_war.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/jsf_struts_war.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/jsf_struts_war.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="jsf_struts_war" xreflabel="jsf_struts_war">
+ <?dbhtml filename="jsf_struts_war.html"?>
+
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+
+ <keyword>JBDS</keyword>
+
+ <keyword>Exadel Studio Pro</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Migrate JSF and Struts projects from *.war file</title>
+ <para>After you familiarized oneself with last chapter you can read this chapter. It looks as if you read in last chapter.</para>
+ <section id="jsf_war">
+ <title>JSF</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis><property>File > Import...</property></emphasis> from the menu bar, and then select
+ <emphasis><property>Other > JSF Project From *.war</property></emphasis> from the Import dialog box that
+ appears.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Selecting the Import Menu Item</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_1.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure>
+ <title>Selecting the JSF Project From *.war Import Wizard</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_2.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>In the wizard screen, select the <emphasis><property>Change...</property></emphasis> button next to
+ the <emphasis><property>*.war Location</property></emphasis> field. Browse to the location of the *.war file for
+ the application you want to import as a JSF project. Once you select
+ it, you'll be returned to the dialog box to see a project name
+ derived from the *.war file you selected. You can edit this name, if
+ you wish.</para>
+
+ <para>Uncheck the <emphasis><property>Use Default Path</property></emphasis> check box if you want to import
+ your project outside of the Eclipse workspace. In this case, you would
+ use <emphasis><property> Change... </property></emphasis> button next to the <emphasis><property>Location</property></emphasis> field to choose a
+ location.</para>
+
+ <para><emphasis><property>Context Path</property></emphasis> is the name under which the application will be
+ deployed.</para>
+
+ <para>The <emphasis><property>Runtime</property></emphasis> value tells Eclipse where to find Web libraries in
+ order to build the project. It is not possible to finish project
+ import without selecting Runtime. If you don't have any options
+ here, select <emphasis><property>New...</property></emphasis> to add a new Runtime.</para>
+
+ <para>Finally, <emphasis><property>Target Server</property></emphasis> sets the server to deploy the application
+ under. The Target Server corresponds to the Runtime value selected
+ above. If you don't want to deploy the application, uncheck this
+ value.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>The JSF Project From *.war Import Wizard</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_3.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis><property>Finish</property></emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="struts_war">
+ <title>Struts</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis><property>File > Import...</property></emphasis> from the menu bar, and then select
+ <emphasis><property>Other > Struts Project From *.war</property></emphasis> from the Import dialog box that
+ appears.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Selecting the Import Menu Item</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_1.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure>
+ <title>Selecting the Struts Project From *.war Import Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_4.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Follow the same steps as with the JSF Project From <property>*.war</property> import
+ wizard.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>The Struts Project From *.war Import Wizard</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_5.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis><property>Finish</property></emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <para>The migration process is completed</para>
+
+ <para>If there's anything we didn't cover or you can't figure
+ out, please feel free to visit our <ulink
+ url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=258"
+ >JBoss Developer Studio Users Forum</ulink> or <ulink
+ url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201"
+ >JBoss Tools Users Forum</ulink> to ask questions. There we are also looking for
+ your suggestions and comments.</para>
+ </section>
+
+</chapter>
\ No newline at end of file
Added: trunk/documentation/guides/Exadel-migration/en-US/master.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/master.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/master.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+
+[<!ENTITY jsf_struts SYSTEM "jsf_struts.xml">
+<!ENTITY jsf_struts_war SYSTEM "jsf_struts_war.xml">
+<!ENTITY introduction SYSTEM "introduction.xml">
+<!ENTITY workspace SYSTEM "workspace.xml">
+
+<!ENTITY seamlink "../../seam/html_single/index.html">
+<!ENTITY aslink "../../as/html_single/index.html">
+<!ENTITY esblink "../../esb_ref_guide/html_single/index.html">
+<!ENTITY gsglink "../../GettingStartedGuide/html_single/index.html">
+<!ENTITY hibernatelink "../../hibernatetools/html_single/index.html">
+<!ENTITY jbpmlink "../../jbpm/html_single/index.html">
+<!ENTITY jsflink "../../jsf/html_single/index.html">
+<!ENTITY jsfreflink "../../jsf_tools_ref_guide/html_single/index.html">
+<!ENTITY jsftutoriallink "../../jsf_tools_tutorial/html_single/index.html">
+<!ENTITY strutsreflink "../../struts_tools_ref_guide/html_single/index.html">
+<!ENTITY strutstutoriallink "../../struts_tools_tutorial/html_single/index.html">
+<!ENTITY migrationlink "../../Exadel-migration/html_single/index.html">
+
+]>
+
+<book>
+ <bookinfo>
+ <title>Exadel Studio Migration Guide</title>
+
+
+ <copyright>
+ <year>2007</year>
+ <year>2008</year>
+ <year>2009</year>
+ <year>2010</year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+Version: 3.0.0.GA
+</releaseinfo>
+
+<abstract>
+ <title/>
+ <para>
+ <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/Exadel-migration/pdf...">PDF version</ulink>
+ </para>
+</abstract>
+
+
+ </bookinfo>
+
+ <toc/>
+&introduction;
+&workspace;
+&jsf_struts;
+&jsf_struts_war;
+
+
+</book>
Added: trunk/documentation/guides/Exadel-migration/en-US/master_output.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/master_output.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/master_output.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,479 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+
+[<!ENTITY jsf_struts SYSTEM "modules/jsf_struts.xml">
+<!ENTITY jsf_struts_war SYSTEM "modules/jsf_struts_war.xml">
+<!ENTITY introduction SYSTEM "modules/introduction.xml">
+<!ENTITY workspace SYSTEM "modules/workspace.xml">
+
+<!ENTITY seamlink "../../seam/html_single/index.html">
+<!ENTITY aslink "../../as/html_single/index.html">
+<!ENTITY esblink "../../esb_ref_guide/html_single/index.html">
+<!ENTITY gsglink "../../GettingStartedGuide/html_single/index.html">
+<!ENTITY hibernatelink "../../hibernatetools/html_single/index.html">
+<!ENTITY jbpmlink "../../jbpm/html_single/index.html">
+<!ENTITY jsflink "../../jsf/html_single/index.html">
+<!ENTITY jsfreflink "../../jsf_tools_ref_guide/html_single/index.html">
+<!ENTITY jsftutoriallink "../../jsf_tools_tutorial/html_single/index.html">
+<!ENTITY strutsreflink "../../struts_tools_ref_guide/html_single/index.html">
+<!ENTITY strutstutoriallink "../../struts_tools_tutorial/html_single/index.html">
+<!ENTITY migrationlink "../../Exadel-migration/html_single/index.html">
+
+]><book xmlns:diffmk="http://diffmk.sf.net/ns/diff">
+ <bookinfo>
+ <title>Exadel Studio Migration Guide</title>
+
+
+ <copyright>
+ <year>2007</year>
+ <year>2008</year>
+ <year>2009</year>
+ <year>2010</year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+Version: 3.0.0.GA
+</releaseinfo>
+
+<abstract>
+ <title></title>
+ <para>
+ <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/Exadel-migration/pdf...">PDF version</ulink>
+ </para>
+</abstract>
+
+
+ </bookinfo>
+
+ <toc></toc>
+
+<chapter id="introduction" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/Exadel-migration/en/modules/introduction.xml" xreflabel="introduction">
+ <?dbhtml filename="introduction.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JBDS</keyword>
+ <keyword>Exadel Studio Pro</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Introduction </title>
+ <para>This document is intended to help you to migrate an existing Exadel JSF or Struts projects
+ into <property moreinfo="none">JBoss Developer Studio</property>. Preferences can be exported from Eclipse 3.2.0
+ (3.2.1 or 3.2.2) and imported in Eclipse 3.4.x by the standard Eclipse means.</para>
+
+ <section>
+ <title>Key Features of Projects Migration to JBoss Developer Studio</title>
+ <para>For a start, we propose you to look through the table of main features of migrating projects to JBoss Developer Studio:</para>
+
+ <table>
+
+ <title>Key Features of Project Migration to JBoss Developer Studio</title>
+ <tgroup cols="3">
+
+ <colspec align="left" colnum="1" colwidth="2*"></colspec>
+ <colspec colnum="2" colwidth="4*"></colspec>
+ <colspec align="left" colnum="3" colwidth="2*"></colspec>
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+ <entry>Chapter</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry><para>Import JSF Project Wizard</para></entry>
+ <entry><para>It simplifies the process of bringing your existing JSF applications into your JBoss Developer Studio workspace as JSF projects. The import is possible with *.war files.</para></entry>
+ <entry>
+ <link linkend="import_jsf">Migration of JSF project</link> and <link linkend="jsf_war">Migration of JSF project from *.war file</link>
+ </entry>
+ </row>
+
+ <row>
+ <entry><para>Import Struts Project Wizard</para></entry>
+ <entry><para>It simplifies the process of bringing your existing Struts applications into your JBoss Developer Studio workspace as Struts projects. The import is possible with *.war files.</para></entry>
+ <entry>
+ <link linkend="struts_import">Migration of Struts project</link> and <link linkend="struts_war">Migration of Struts project from *.war file</link>
+ </entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
+
+ </section>
+
+ <section>
+ <title>Other relevant resources on the topic</title>
+ <para>All JBoss Developer Studio/JBoss Tools release documentation you can find at<ulink url="http://docs.jboss.org/tools/">http://docs.jboss.org/tools</ulink> in the corresponding release directory.</para>
+ <para>The latest documentation builds are available at <ulink url="http://download.jboss.org/jbosstools/nightly-docs/">http://download.jboss.org/jbosstools/nightly-docs</ulink>.</para>
+
+ </section>
+
+</chapter>
+
+
+<chapter id="workspace" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/Exadel-migration/en/modules/workspace.xml" xreflabel="workspace">
+ <?dbhtml filename="workspace.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JBDS</keyword>
+ <keyword>Exadel Studio Pro</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Migrate workspace</title>
+ <para>You will not be able to run projects in JBoss Developer Studio
+ using <property moreinfo="none">Exadel Studio workspace</property>. In this case, project capabilities and settings specified in Exadel Studio will be lost. The simplest way to avoid this, is to copy your projects in <property moreinfo="none">JBoss Developer Studio workspace</property> and make an import as it is described in the following chapters.</para>
+</chapter>
+
+
+<chapter id="jsf_struts" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/Exadel-migration/en/modules/jsf_struts.xml" xreflabel="jsf_struts">
+ <?dbhtml filename="jsf_struts.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JBDS</keyword>
+ <keyword>Exadel Studio Pro</keyword>
+ <keyword>Migration</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Migration of JSF and Struts Projects</title>
+ <para>In this chapter you can find concise description of migration of JSF and Struts Projects.</para>
+ <section id="import_jsf">
+ <title>JSF</title>
+ <para>JBoss Developer Studio includes an Import <property moreinfo="none">JSF Project</property> Wizard that radically simplifies the process of bringing your existing JSF applications
+ into your JBoss Developer Studio workspace as JSF projects. You just need to follow these four steps:</para>
+ <itemizedlist>
+ <listitem><para><emphasis><property moreinfo="none">Select File > Import...</property></emphasis> from the menu bar, and then select <emphasis><property moreinfo="none">Other > JSF Project </property></emphasis>from the Import dialog box that appears.</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Selecting the Import Menu Item</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure float="0">
+ <title>Selecting the Import JSF Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>In the first screen of the wizard, select the <emphasis><property moreinfo="none">Change...</property></emphasis> button next to the <emphasis><property moreinfo="none">web.xml Location</property></emphasis> field. Browse to the location of the web.xml file for the application you
+ want to import as a <property moreinfo="none">JSF project</property>. Once you select it, you'll be returned to the dialog box to see a project name derived from the web.xml file you selected.
+ You can edit this project name, if you wish.</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Selecting the Web.xml File in the Project Location Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist id="import_jsf_screen">
+ <listitem><para>In the <emphasis><property moreinfo="none">Project Folders</property></emphasis> screen, you can configure the rest of your project. Afterwards click on the <emphasis><property moreinfo="none">Finish</property></emphasis> button.</para></listitem>
+ </itemizedlist>
+ <para>On this step JBoss Developer Studio will try to determine your project
+ structure and set the values for: <emphasis><property moreinfo="none">Web Root</property></emphasis>, <emphasis><property moreinfo="none">Source Folder</property></emphasis>, <emphasis><property moreinfo="none">Classes Folder</property></emphasis>, <emphasis><property moreinfo="none">Lib Folder</property></emphasis>. If your project has a custom structure, some values might not be
+ set. If this is the case, you can manually set those values by clicking the <emphasis><property moreinfo="none">Change...</property></emphasis> button.</para>
+ <para>After dealing with these settings, you have to work through a few more configuration settings. These settings deal primarily with how the project will be deployed within JBoss Developer Studio.</para>
+ <para>First, if the project you are importing is not already a JSF project, select the <emphasis><property moreinfo="none">Add Libraries</property></emphasis> check box to add all the JSF-related libraries to your project. </para>
+ <para>Then, you may select the JavaServer Faces implementation (<emphasis><property moreinfo="none">Environment</property></emphasis>) and <emphasis><property moreinfo="none">Servlet Version</property></emphasis>.</para>
+ <para>The <emphasis><property moreinfo="none">Context Path</property></emphasis> is the name under which the application will be deployed. </para>
+ <para>The <emphasis><property moreinfo="none">Runtime</property></emphasis> value tells Eclipse where to find Web libraries in order to build the project. It is not possible to finish the importing of a project without selecting a Runtime. If you don't have any choices displayed for this, select <emphasis><property moreinfo="none">New...</property></emphasis> to add a new Runtime.</para>
+ <para>Finally, <emphasis><property moreinfo="none">Target Server</property></emphasis> sets the server to deploy the application under. The Target Server corresponds to the Runtime value selected above. If you don't want to deploy the application, uncheck this value.</para>
+
+
+ <figure float="0">
+ <title>The Project Folders Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>Once the project is imported, it will appear in the Package Explorer view.</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Imported Project in the Package Explorer View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+ <section id="struts_import">
+ <title>Struts</title>
+ <itemizedlist>
+ <listitem><para><emphasis><property moreinfo="none">Select File > Import...</property></emphasis> from the menu bar, and then select <emphasis><property moreinfo="none">Other > Struts Project</property></emphasis> from the Import dialog box that appears.</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Selecting the Import Menu Item</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure float="0">
+ <title>Selecting the Import Struts Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>In the Project Location screen of the wizard, select the <emphasis><property moreinfo="none">Change... </property></emphasis>button next to the <emphasis><property moreinfo="none">web.xml Location</property></emphasis> field. Browse the location of the web.xml file for the application you
+ want to import as a <property moreinfo="none">Struts project</property>. Once you select it, you'll be returned to the dialog box to see a project name derived from the web.xml file you selected.
+ You can edit this project name, if you wish.</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>The Project Location Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_10.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>In the next screen, JBoss Developer Studio will try to determine your project structure. The upper pane shows the modules in this project.
+ The lower pane allows you to edit the details of the select module. If the project structure is non-standard, some values might be left blank.
+ You can edit any values by hand or by using the <emphasis><property moreinfo="none">Change...</property></emphasis> button.</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>The Project Modules Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>In the <emphasis><property moreinfo="none">Project Folders</property></emphasis> screen, you can configure the rest of your project. Afterwards click on the <emphasis><property moreinfo="none">Finish</property></emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <para>On this step JBoss Developer Studio will try to determine your project structure and set the values for: <emphasis><property moreinfo="none">Classes Folder</property></emphasis>, <emphasis><property moreinfo="none">Lib Folder</property></emphasis>, and <emphasis><property moreinfo="none">Ant Build File</property></emphasis>. If your project has a custom structure, some values might not be set. If this is the case, you can manually set those values by clicking <emphasis><property moreinfo="none">Change</property></emphasis>.</para>
+ <para>After dealing with these settings, you have to work through a few more configuration settings. These settings deal primarily with how the project will be deployed within JBoss Developer Studio.</para>
+ <para>First, if the project you are importing is not already a Struts project, select the <emphasis><property moreinfo="none">Add Libraries</property></emphasis> check box to add all the Struts-related libraries to your project. </para>
+ <para>Then, you may select the Struts <emphasis><property moreinfo="none">Environment</property></emphasis> and <emphasis><property moreinfo="none">Servlet Version</property></emphasis>.</para>
+ <para>The <emphasis><property moreinfo="none">Context Path</property></emphasis> is the name under which the application will be deployed. </para>
+ <para>The <emphasis><property moreinfo="none">Runtime</property></emphasis> value tells Eclipse where to find Web libraries in order to build the project. It is not possible to finish the importing of a project without selecting a Runtime. If you don't have any choices displayed for this, select<emphasis><property moreinfo="none"> New...</property></emphasis> to add a new Runtime.</para>
+ <para>Finally, <emphasis><property moreinfo="none">Target Server</property></emphasis> sets the server to deploy the application under. The Target Server corresponds to the Runtime value selected above. If you don't want to deploy the application, uncheck this value.</para>
+
+
+ <figure float="0">
+ <title>The Project Folders Screen</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>Once the project is imported, it will appear in the Package Explorer view.</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Imported Project in the Package Explorer View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts/migration_9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+</chapter>
+
+
+<chapter id="jsf_struts_war" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/documentation/guides/Exadel-migration/en/modules/jsf_struts_war.xml" xreflabel="jsf_struts_war">
+ <?dbhtml filename="jsf_struts_war.html"?>
+
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+
+ <keyword>JBDS</keyword>
+
+ <keyword>Exadel Studio Pro</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Migrate JSF and Struts projects from *.war file</title>
+ <para>After you familiarized oneself with last chapter you can read this chapter. It looks as if you read in last chapter.</para>
+ <section id="jsf_war">
+ <title>JSF</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis><property moreinfo="none">File > Import...</property></emphasis> from the menu bar, and then select
+ <emphasis><property moreinfo="none">Other > JSF Project From *.war</property></emphasis> from the Import dialog box that
+ appears.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Selecting the Import Menu Item</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure float="0">
+ <title>Selecting the JSF Project From *.war Import Wizard</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>In the wizard screen, select the <emphasis><property moreinfo="none">Change...</property></emphasis> button next to
+ the <emphasis><property moreinfo="none">*.war Location</property></emphasis> field. Browse to the location of the *.war file for
+ the application you want to import as a JSF project. Once you select
+ it, you'll be returned to the dialog box to see a project name
+ derived from the *.war file you selected. You can edit this name, if
+ you wish.</para>
+
+ <para>Uncheck the <emphasis><property moreinfo="none">Use Default Path</property></emphasis> check box if you want to import
+ your project outside of the Eclipse workspace. In this case, you would
+ use <emphasis><property moreinfo="none"> Change... </property></emphasis> button next to the <emphasis><property moreinfo="none">Location</property></emphasis> field to choose a
+ location.</para>
+
+ <para><emphasis><property moreinfo="none">Context Path</property></emphasis> is the name under which the application will be
+ deployed.</para>
+
+ <para>The <emphasis><property moreinfo="none">Runtime</property></emphasis> value tells Eclipse where to find Web libraries in
+ order to build the project. It is not possible to finish project
+ import without selecting Runtime. If you don't have any options
+ here, select <emphasis><property moreinfo="none">New...</property></emphasis> to add a new Runtime.</para>
+
+ <para>Finally, <emphasis><property moreinfo="none">Target Server</property></emphasis> sets the server to deploy the application
+ under. The Target Server corresponds to the Runtime value selected
+ above. If you don't want to deploy the application, uncheck this
+ value.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>The JSF Project From *.war Import Wizard</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis><property moreinfo="none">Finish</property></emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="struts_war">
+ <title>Struts</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis><property moreinfo="none">File > Import...</property></emphasis> from the menu bar, and then select
+ <emphasis><property moreinfo="none">Other > Struts Project From *.war</property></emphasis> from the Import dialog box that
+ appears.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Selecting the Import Menu Item</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <figure float="0">
+ <title>Selecting the Struts Project From *.war Import Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Follow the same steps as with the JSF Project From <property moreinfo="none">*.war</property> import
+ wizard.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>The Struts Project From *.war Import Wizard</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_struts_war/migration_war_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis><property moreinfo="none">Finish</property></emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <para>The migration process is completed</para>
+
+ <para>If there's anything we didn't cover or you can't figure
+ out, please feel free to visit our
+ <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=258">
+ JBoss Developer Studio Users Forum</ulink> or
+ <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201">JBoss Tools Users Forum</ulink> to ask questions. There we are also looking for
+ your suggestions and comments.</para>
+ </section>
+
+</chapter>
+
+
+</book>
Added: trunk/documentation/guides/Exadel-migration/en-US/workspace.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/en-US/workspace.xml (rev 0)
+++ trunk/documentation/guides/Exadel-migration/en-US/workspace.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="workspace" xreflabel="workspace">
+ <?dbhtml filename="workspace.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JBDS</keyword>
+ <keyword>Exadel Studio Pro</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Migrate workspace</title>
+ <para>You will not be able to run projects in JBoss Developer Studio
+ using <property>Exadel Studio workspace</property>. In this case, project capabilities and settings specified in Exadel Studio will be lost. The simplest way to avoid this, is to copy your projects in <property>JBoss Developer Studio workspace</property> and make an import as it is described in the following chapters.</para>
+</chapter>
Modified: trunk/documentation/guides/Exadel-migration/pom.xml
===================================================================
--- trunk/documentation/guides/Exadel-migration/pom.xml 2010-03-09 03:33:36 UTC (rev 20703)
+++ trunk/documentation/guides/Exadel-migration/pom.xml 2010-03-09 03:47:34 UTC (rev 20704)
@@ -89,9 +89,9 @@
</dependencies>
<configuration>
<sourceDocumentName>${master}</sourceDocumentName>
- <sourceDirectory>${pom.basedir}/en</sourceDirectory>
+ <sourceDirectory>${pom.basedir}/en-US</sourceDirectory>
<imageResource>
- <directory>${pom.basedir}/en</directory>
+ <directory>${pom.basedir}/en-US</directory>
<includes>
<include>images/**/*</include>
</includes>
Added: trunk/documentation/guides/Exadel-migration/publican.cfg
===================================================================
--- trunk/documentation/guides/Exadel-migration/publican.cfg (rev 0)
+++ trunk/documentation/guides/Exadel-migration/publican.cfg 2010-03-09 03:47:34 UTC (rev 20704)
@@ -0,0 +1,7 @@
+# Config::Simple 4.59
+# Fri Nov 20 13:19:45 2009
+
+xml_lang: en-US
+type: Book
+brand: JBoss
+
14 years, 10 months
JBoss Tools SVN: r20703 - in trunk/ws/docs/reference: en-US and 4 other directories.
by jbosstools-commits@lists.jboss.org
Author: irooskov(a)redhat.com
Date: 2010-03-08 22:33:36 -0500 (Mon, 08 Mar 2010)
New Revision: 20703
Added:
trunk/ws/docs/reference/en-US/
trunk/ws/docs/reference/en-US/Author_Group.xml
trunk/ws/docs/reference/en-US/Book_Info.xml
trunk/ws/docs/reference/en-US/JBoss_Web_Services_User_Guide.ent
trunk/ws/docs/reference/en-US/JBoss_Web_Services_User_Guide.xml
trunk/ws/docs/reference/en-US/Preface.xml
trunk/ws/docs/reference/en-US/Revision_History.xml
trunk/ws/docs/reference/en-US/client.xml
trunk/ws/docs/reference/en-US/images/
trunk/ws/docs/reference/en-US/images/client/
trunk/ws/docs/reference/en-US/images/client/jbossws_client.png
trunk/ws/docs/reference/en-US/images/client/jbossws_client_1.png
trunk/ws/docs/reference/en-US/images/client/jbossws_client_2.png
trunk/ws/docs/reference/en-US/images/client/jbossws_client_3.png
trunk/ws/docs/reference/en-US/images/jbosstools_logo.png
trunk/ws/docs/reference/en-US/images/preference/
trunk/ws/docs/reference/en-US/images/preference/Jbossws_preference.png
trunk/ws/docs/reference/en-US/images/preference/Jbossws_preference_new.png
trunk/ws/docs/reference/en-US/images/preference/jbossws_container1.png
trunk/ws/docs/reference/en-US/images/preference/jbossws_container2.png
trunk/ws/docs/reference/en-US/images/preference/jbossws_server_runtime.png
trunk/ws/docs/reference/en-US/images/topdown/
trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_1.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_2.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_3.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_4.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_5.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_6.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_facet.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_facet_0.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_newruntime.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_webproject_1.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_webproject_2.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_webproject_3.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_Impl_code_view.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_creation1.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_creation1_1.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_creation2.png
trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_webxml.png
trunk/ws/docs/reference/en-US/master.xml
trunk/ws/docs/reference/en-US/master_output.xml
trunk/ws/docs/reference/en-US/overview.xml
trunk/ws/docs/reference/en-US/preference.xml
trunk/ws/docs/reference/en-US/topdown.xml
trunk/ws/docs/reference/publican.cfg
Removed:
trunk/ws/docs/reference/en/
Modified:
trunk/ws/docs/reference/pom.xml
Log:
updated book to build with publican and maven
Added: trunk/ws/docs/reference/en-US/Author_Group.xml
===================================================================
--- trunk/ws/docs/reference/en-US/Author_Group.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/Author_Group.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<authorgroup><author><firstname>Denny</firstname><surname>Xu</surname><email>dxu(a)redhat.com</email></author>
+ <author><firstname>Grid</firstname><surname>Qian</surname><email>fqian(a)redhat.com</email></author></authorgroup>
Added: trunk/ws/docs/reference/en-US/Book_Info.xml
===================================================================
--- trunk/ws/docs/reference/en-US/Book_Info.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/Book_Info.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<bookinfo><title>JBoss Web Services User Guide</title><subtitle>Provides information relating to the JBoss Web Services module.</subtitle><productname>JBoss Developer Studio</productname><productnumber>3.0</productnumber><edition>1.0</edition><pubsnumber>0</pubsnumber><abstract><para>The JBoss Web Services User Guide explains how to use the JBoss Web Services module to implement web services in Java.</para></abstract><corpauthor><inlinemediaobject><imageobject><imagedata fileref="Common_Content/images/title_logo.svg" format="SVG"></imagedata></imageobject></inlinemediaobject></corpauthor><xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include><xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include></bookinfo>
Added: trunk/ws/docs/reference/en-US/JBoss_Web_Services_User_Guide.ent
===================================================================
--- trunk/ws/docs/reference/en-US/JBoss_Web_Services_User_Guide.ent (rev 0)
+++ trunk/ws/docs/reference/en-US/JBoss_Web_Services_User_Guide.ent 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,4 @@
+<!ENTITY PRODUCT "JBoss">
+<!ENTITY BOOKID "JBoss_Web_Services_User_Guide">
+<!ENTITY YEAR "2010">
+<!ENTITY HOLDER "Red Hat">
Added: trunk/ws/docs/reference/en-US/JBoss_Web_Services_User_Guide.xml
===================================================================
--- trunk/ws/docs/reference/en-US/JBoss_Web_Services_User_Guide.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/JBoss_Web_Services_User_Guide.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<book>
+<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="overview.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="topdown.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="client.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="preference.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<!--<xi:include href="webproject.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>-->
+<xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+</book>
Added: trunk/ws/docs/reference/en-US/Preface.xml
===================================================================
--- trunk/ws/docs/reference/en-US/Preface.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/Preface.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<preface><title>Preface</title><xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include><xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include></xi:fallback></xi:include></preface>
Added: trunk/ws/docs/reference/en-US/Revision_History.xml
===================================================================
--- trunk/ws/docs/reference/en-US/Revision_History.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/Revision_History.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<appendix><title>Revision History</title><simpara><revhistory><revision><revnumber>0</revnumber><date>Fri Nov 20 2009</date><author><firstname>Isaac</firstname><surname>Rooskov</surname><email>irooskov(a)redhat.com</email></author><revdescription><simplelist><member>Initial creation of book by publican</member></simplelist></revdescription></revision></revhistory></simpara></appendix>
Added: trunk/ws/docs/reference/en-US/client.xml
===================================================================
--- trunk/ws/docs/reference/en-US/client.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/client.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<chapter id="client" revisionflag="added">
+ <title>Creating a Web Service Client from a WSDL Document using JBoss WS</title>
+ <para>To create a Web Service Client from a WSDL Document using JBoss WS you need to fulfil the following steps:</para>
+ <para>Setup <link linkend="preference">JBoss WS and development environment</link>.</para>
+ <para><link linkend="createproject">Create a Dynamic Web project</link>.</para>
+ <para><link linkend="addfacet">Add JBossWS Facet to Web project</link>.</para>
+ <para>Then you can create a Web Service Client from a WSDL document: </para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to the Java EE perspective <emphasis><property>Window > Open Perspective > Java EE</property></emphasis>.</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis><property>File > New > Other</property></emphasis>. Select Web Services in order to display the various Web service wizards. Select the Web Service Client wizard. Click on the <property>Next</property> button.</para>
+ <figure>
+ <title>New Web Service Client</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/client/jbossws_client.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>The first and the second Web Service Client wizard pages are the same as for <link linkend="topdownwebservice">Web Service from a WSDL document</link>.</para>
+ <figure>
+ <title>Set Web Service Common values</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/client/jbossws_client_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure>
+ <title>Set Web Service values related to WSDL file</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/client/jbossws_client_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>The only difference is:</para>
+ <itemizedlist>
+ <listitem>
+ <para><property>Client Type:</property> Support of Java Proxy only.</para>
+ </listitem>
+ </itemizedlist>
+ <para>Click on the <property>Finish</property> button.</para>
+ </listitem>
+ </itemizedlist>
+ <para>After the Web Service Client has been created, the following may occur depending on the options you selected:</para>
+ <itemizedlist>
+ <listitem>
+ <para> the generated web service and client codes</para>
+ </listitem>
+ <listitem>
+ <para>a client sample class.</para>
+ <figure>
+ <title>Client Sample Class</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata scale="80" fileref="images/client/jbossws_client_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+ <para>JBoss WS use a Java class to test Web Service. A client sample class will be generated, you may run this client as a java application to call a web service.</para>
+</chapter>
Added: trunk/ws/docs/reference/en-US/images/client/jbossws_client.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/client/jbossws_client.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/client/jbossws_client_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/client/jbossws_client_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/client/jbossws_client_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/client/jbossws_client_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/client/jbossws_client_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/client/jbossws_client_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/jbosstools_logo.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/jbosstools_logo.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/preference/Jbossws_preference.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/preference/Jbossws_preference.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/preference/Jbossws_preference_new.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/preference/Jbossws_preference_new.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/preference/jbossws_container1.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/preference/jbossws_container1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/preference/jbossws_container2.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/preference/jbossws_container2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/preference/jbossws_server_runtime.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/preference/jbossws_server_runtime.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_5.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_6.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_bottomup_6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_facet.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_facet.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_facet_0.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_facet_0.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_newruntime.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_newruntime.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_webproject_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_webproject_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_webproject_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_webproject_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_webproject_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_webproject_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_Impl_code_view.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_Impl_code_view.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_creation1.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_creation1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_creation1_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_creation1_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_creation2.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_creation2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_webxml.png
===================================================================
(Binary files differ)
Property changes on: trunk/ws/docs/reference/en-US/images/topdown/jbossws_ws_webxml.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/ws/docs/reference/en-US/master.xml
===================================================================
--- trunk/ws/docs/reference/en-US/master.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/master.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+
+[<!ENTITY overview SYSTEM "overview.xml">
+<!ENTITY topdown SYSTEM "topdown.xml">
+<!ENTITY preference SYSTEM "preference.xml">
+<!ENTITY webproject SYSTEM "webproject.xml">
+<!ENTITY client SYSTEM "client.xml">
+]>
+
+<book>
+
+ <bookinfo>
+ <title>JBoss Web Services User Guide</title>
+
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject role="fo">
+ <imagedata format="PNG" fileref="images/jbosstools_logo.png" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata/>
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <author><firstname>Denny</firstname><surname>Xu</surname><email>dxu(a)redhat.com</email></author>
+ <author><firstname>Grid</firstname><surname>Qian</surname><email>fqian(a)redhat.com</email></author>
+
+ <copyright>
+ <year>2008</year>
+ <year>2009</year>
+ <year>2010</year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+ Version: 1.1.0.GA
+ </releaseinfo>
+<abstract>
+ <title/>
+ <para>
+ <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/ws_ref_guide/pdf/WS_...">PDF version</ulink>
+ </para>
+</abstract>
+
+
+ </bookinfo>
+
+ <toc/>
+ &overview;
+ &topdown;
+ &client;
+ &preference;
+</book>
Added: trunk/ws/docs/reference/en-US/master_output.xml
===================================================================
--- trunk/ws/docs/reference/en-US/master_output.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/master_output.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,706 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+
+[<!ENTITY overview SYSTEM "modules/overview.xml">
+<!ENTITY topdown SYSTEM "modules/topdown.xml">
+<!ENTITY preference SYSTEM "modules/preference.xml">
+<!ENTITY webproject SYSTEM "modules/webproject.xml">
+<!ENTITY client SYSTEM "modules/client.xml">
+]><book xmlns:diffmk="http://diffmk.sf.net/ns/diff">
+
+ <bookinfo>
+ <title>JBoss WS User Guide</title>
+
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/jbosstools_logo.png" format="PNG"></imagedata>
+ </imageobject>
+ <imageobject role="html">
+ <imagedata></imagedata>
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <author><firstname>Denny</firstname><surname>Xu</surname><email>dxu(a)redhat.com</email></author>
+ <author><firstname>Grid</firstname><surname>Qian</surname><email>fqian(a)redhat.com</email></author>
+
+ <copyright>
+ <year>2008</year>
+ <year>2009</year>
+ <year diffmk:change="added"><diffmk:wrapper diffmk:change="added">2010</diffmk:wrapper></year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo><diffmk:wrapper diffmk:change="changed">
+ Version: 1.1.0.CR2
+ </diffmk:wrapper></releaseinfo>
+<abstract>
+ <title></title>
+ <para>
+ <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/ws_ref_guide/pdf/WS_...">PDF version</ulink>
+ </para>
+</abstract>
+
+
+ </bookinfo>
+
+ <toc></toc>
+
+<chapter id="overview" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/ws/docs/reference/en/modules/overview.xml">
+ <title>JBossWS Runtime Overview</title>
+
+ <para>JBossWS is a web service framework developed as a part of the JBoss Application Server. It implements the JAX-WS specification that defines a programming model and run-time architecture for implementing web services in Java, targeted at the Java Platform, Enterprise Edition 5 (Java EE 5).</para>
+ <para>JBossWS integrates with most current JBoss Application Server releases as well as earlier ones, that did implement the J2EE 1.4 specifications. Even though JAX-RPC, the web service specification for J2EE 1.4, is still supported JBossWS does put a clear focus on JAX-WS.</para>
+
+<section>
+ <title>Key Features of JBossWS</title>
+ <para>For a start, we propose you to look through the table of main features of JBossWS Runtime:</para>
+
+ <table>
+
+ <title>Key Functionality for JBossWS</title>
+ <tgroup cols="2">
+
+ <colspec align="left" colnum="1" colwidth="2*"></colspec>
+ <colspec colnum="2" colwidth="4*"></colspec>
+
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry><para>JAX-RPC and JAX-WS support</para></entry>
+ <entry><para>JBossWS implements both the JAX-WS and JAX-RPC specifications.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>EJB 2.1, EJB3 and JSE endpoints</para></entry>
+ <entry><para>JBossWS supports EJB 2.1, EJB3 and JSE as Web Service Endpoints.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>WS-Security 1.0 for XML Encryption/Signature of the SOAP message</para></entry>
+ <entry><para>WS-Security standardizes authorization, encryption, and digital signature processing of web services.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>JBoss AS</para></entry>
+ <entry><para>JBoss Application Server 5 (JavaEE 5 compliant) web service stack.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>Support for MTOM/XOP and SwA-Ref</para></entry>
+ <entry><para>Message Transmission Optimization Mechanism (MTOM) and XML-binary Optimized Packaging (XOP) more efficiently serialize XML Infosets that have certain types of content.</para></entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
+
+
+</section>
+<section>
+ <title>Other relevant resources on the topic</title>
+
+ <para>You can find some extra information on:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <ulink url="http://www.jboss.org/community/wiki/JBossWS-FAQ#Tools">JBossWS Tools Wiki FAQ.</ulink>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+
+ </section>
+
+
+
+
+</chapter>
+
+<chapter id="create_ws_topdown" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/ws/docs/reference/en/modules/topdown.xml">
+ <?dbhtml filename="topdown.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Web Service</keyword>
+ <keyword>JBossWS Web Service runtime</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Creating a Web Service using JBossWS runtime</title>
+ <para>In this chapter we provide you with the necessary steps to create a Web Service using
+ JBossWS runtime. First you need to create a Dynamic Web project:</para>
+
+ <section id="createproject">
+ <title>Creating a Dynamic Web project</title>
+
+ <para>Before creating a web service, you should have a Dynamic Web Project created:</para>
+ <figure float="0">
+ <title>Dynamic Web Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_webproject_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Create a Web project by selecting <emphasis>
+ <property moreinfo="none">New > Project... > Dynamic Web project</property></emphasis>. Enter the following information: </para>
+ <itemizedlist>
+ <listitem>
+ <para>Project Name: enter a project name</para>
+ </listitem>
+ <listitem>
+ <para>Target runtime: any server depending on your installation. If it is not listed,
+ click <property moreinfo="none">New</property> button and browse to the location where it is installed to. You may set <emphasis>
+ <property moreinfo="none">Target Runtime</property>
+ </emphasis> to <emphasis>
+ <property moreinfo="none">None</property></emphasis>, in this case, you should add <link linkend="addfacet">JBoss Web Service
+ facet to the project</link>.</para>
+ <figure float="0">
+ <title>Dynamic Web Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_webproject_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>Configuration: You may add <link linkend="addfacet">JBoss Web Service
+ facet to the project</link> by clicking <property moreinfo="none">Modify...</property> button. The opened page is like <property moreinfo="none">Figure 2.4</property>.</para>
+ </listitem>
+ <listitem>
+ <para>Configure Web Module values:</para>
+ <figure float="0">
+ <title>Web Module Settings Configuration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_webproject_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+ <para>If you added the JBoss Web Service facet to the project, now the <property moreinfo="none">Finish</property> button is disable. You must click <property moreinfo="none">Next</property> button to set more information about the JBoss Web Service facet. The page is like <property moreinfo="none">Figure 2.5</property>. Then click on the <property moreinfo="none">Finish</property> button.</para>
+ <para>If you didn't add the JBoss Web Service facet to the project, click on the <property moreinfo="none">Finish</property> button. Next you will need to add JBoss Web Service facet to the project.</para>
+ </section>
+
+ <section id="addfacet">
+ <title>Configure JBoss Web Service facet settings</title>
+ <para>If you have already created a new Dynamic Web project and not set the JBoss Web Service facet to the project, the next step is to add JBoss Web
+ Service facet to the project. Right-click on the project, select its <emphasis><property moreinfo="none">Properties</property></emphasis> and then find <emphasis>Project Facets</emphasis> in the tree-view on the left-side of the project properties dialog.
+ Tick on the check box for JBoss Web Services. You will see what like this: </para>
+ <figure float="0" id="figure_addfacet_0">
+ <title>Choose JBoss Web Service Facet</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_facet_0.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>At the bottom-left of the right-side of the project properties dialog, there is a error link: <emphasis><property moreinfo="none">Further configuration required...</property></emphasis> . You must click the link to set more information about JBoss Web Service facet.</para>
+ <para>Click on the <emphasis><property moreinfo="none">Further configuration required...</property></emphasis> link. In the opened window</para>
+ <figure float="0" id="figure_addfacet">
+ <title>Configure JBoss Web Service Facet</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_facet.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Server Supplied JBossWS Runtime: If you have already set a JBoss runtime to the
+ project's target runtime, you may choose <emphasis>
+ <property moreinfo="none">Server Supplied JBossWS Runtime</property>
+ </emphasis> and then click <emphasis>
+ <property moreinfo="none">Ok</property>
+ </emphasis> to finish the configuration of JBoss Web Service facet. </para>
+ <para>If the project has no <emphasis>
+ <property moreinfo="none">Target Runtime</property>
+ </emphasis> settings, you should check the second radio button and specify a JBossWS
+ runtime from the list. You also can create a new JBossWS runtime, click on the <emphasis>
+ <property moreinfo="none">New...</property>
+ </emphasis> button will bring you to another dialog to configure new JBossWS runtime.</para>
+ <figure float="0" id="figure_addfacet1">
+ <title>Configure JBossWS Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_newruntime.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>See how to configure a new JBossWS runtime <link linkend="preference">here</link>.</para>
+ <para>After setting the information about JBoss Web Service facet, for saving the result, you should click the <property moreinfo="none">Apply</property> or <property moreinfo="none">OK</property> button at the bottom-right of the right-side of the project properties dialog.</para>
+ </section>
+
+
+ <section id="topdownwebservice">
+ <title>Creating a Web Service from a WSDL document using JBossWS runtime</title>
+ <para>In this chapter we provide you with the necessary steps to create a Web Service from a
+ WSDL document using JBossWS runtime.</para>
+ <para>At first, please make sure that you have already created a dynamic Web project with
+ JBoss Web Service facet installed. </para>
+ <para>See how to make it <link linkend="createproject">here</link> and <link linkend="addfacet">here</link>.</para>
+
+ <para>To create a Web Service using JBossWS runtime select<emphasis>
+ <property moreinfo="none">File > New > Other > Web Services > Web Service</property>
+ </emphasis> to run Web Service creation wizard. </para>
+ <para>Let's get through the wizard step-by-step:</para>
+ <figure float="0" id="figure_create_ws_topdown">
+ <title>New Web Service Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_creation1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>First, please select <property moreinfo="none">Top down Java bean Web Service</property> from the Web
+ Service type list, and select a WSDL document from workspace, click on the Server name
+ link on the page will bring you to another dialog. Here you can specify the server to a
+ JBoss Server and Web Service runtime to JBossWS runtime:</para>
+ <figure float="0" id="figure_create_ws_topdown_setserver">
+ <title>Select Server and Web Service runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_creation1_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Click on the <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> button to see the next wizard view opened:</para>
+
+ <figure float="0" id="figure_create_ws_topdown1">
+ <title>New Web Service Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_creation1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Click on the <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> button to proceed:</para>
+ <figure float="0" id="figure_create_ws_topdown_codegen">
+ <title>New Web Service Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_creation2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>On this page, the default package name comes from the namespace of the WSDL document,
+ you also can change it to any valid package name you want. JAX-WS specification should be
+ set to 2.0 if your JBossWS runtime in JBoss Server is JBossWS native runtime. You can
+ specify a catalog file and binding files if you have them. If you want the wizard to
+ generate empty implementation classes for the Web Service, check the <emphasis>
+ <property moreinfo="none">Generate default Web Service implementation classes</property>
+ </emphasis> check box. If you want to update the default Web.xml file with the Web Service
+ servlets configured, check the <emphasis>
+ <property moreinfo="none">Update the default Web.xml</property>
+ </emphasis> check box. Click on the <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> or on the <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> button to generate code.</para>
+
+ <para>Once the Web Service code is generated, you can view the implementation class and add
+ business logic to each method.</para>
+ <figure float="0" id="figure_impl_code">
+ <title>The generated implementation Java code</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_Impl_code_view.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>View the Web.xml file:</para>
+ <figure float="0" id="figure_webxml">
+ <title>Web.xml</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_webxml.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+<para>In the next chapter you will find out how to create a Web service from a Java bean.</para>
+ </section>
+
+ <section id="bottomupws">
+ <title>Creating a Web service from a Java bean using JBossWS runtime</title>
+ <para>The Web Service wizard assists you in creating a new Web service, configuring it for
+ deployment, and then deploying it to the server.</para>
+ <para>To create a Web service from a bean using JBoss WS:</para>
+ <para>Setup <link linkend="preference">JBoss WS and development environment</link>.</para>
+ <para>Create <link linkend="createproject">a Dynamic Web project</link>.</para>
+ <para>Add <link linkend="addfacet">JBossWS Facet</link> to Web project.</para>
+ <para>Create a Web Service from a java bean: </para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to the Java EE perspective <emphasis>
+ <property moreinfo="none">Window > Open Perspective > Java EE</property></emphasis>.</para>
+ </listitem>
+ <listitem>
+ <para>In the Project Explorer view, select the bean that you created or imported into
+ the source folder of your Web project.</para>
+ <figure float="0">
+ <title>Select the Bean Created</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup.png" scale="80"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">File > New > Other</property></emphasis>. Select Web Services in order to display various Web service wizards.
+ Select the Web Service wizard. Click on the <property moreinfo="none">Next</property> button.</para>
+ <figure float="0">
+ <title>New Web Service</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>On the first Web Service wizard page: select <property moreinfo="none">Bottom up Java bean Web
+ service</property> as your Web service type, and select the Java bean from which
+ the service will be created:</para>
+ <figure float="0">
+ <title>Set Web Service Common values</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Select the stages of Web service development that you want to complete using
+ the slider: </para>
+ <itemizedlist>
+ <listitem>
+ <para>Develop: this will develop the WSDL definition and implementation of
+ the Web service. This includes such tasks as creating modules that will
+ contain generated code, WSDL files, deployment descriptors, and Java
+ files when appropriate.</para>
+ </listitem>
+ <listitem>
+ <para>Assemble: this ensures the project that will host the Web service or
+ client gets associated to an EAR when required by the target application
+ server.</para>
+ </listitem>
+ <listitem>
+ <para>Deploy: this will create the deployment code for the service.</para>
+ </listitem>
+ <listitem>
+ <para>Install: this will install and configure the Web module and EARs on
+ the target server.</para>
+ </listitem>
+ <listitem>
+ <para>Start: this will start the server once the service has been installed
+ on it. The server-config.wsdd file will be generated.</para>
+ </listitem>
+ <listitem>
+ <para>Test: this will provide various options for testing the service, such
+ as using the Web Service Explorer or sample JSPs.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>Select your server: the default server is displayed. If you want to deploy
+ your service to a different server click the link to specify a different server.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Select your runtime: ensure the JBoss WS runtime is selected.</para>
+ </listitem>
+ <listitem>
+ <para>Select the service project: the project selected in your workspace is
+ displayed. To select a different project click on the project link. If you are
+ deploying to JBoss Application Server you will also be asked to select the EAR
+ associated with the project. Ensure that the project selected as the Client Web
+ Project is different from the Service Web Project, or the service will be
+ overwritten by the client's generated artifacts.</para>
+ </listitem>
+ <listitem>
+ <para>If you want to create a client, select the type of proxy to be generated
+ and repeat the above steps for the client. The better way is to create a web
+ service client project separately.</para>
+ </listitem>
+ </itemizedlist>
+ <para>Click on the <property moreinfo="none">Next</property> button.</para>
+ </listitem>
+ <listitem>
+ <para>On the JBoss Web Service Code Generation Configuration page, set the following
+ values:</para>
+ <figure float="0">
+ <title>Set Web Service values for Code Generation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Generate WSDL file: select it, you will get a generated WSDL file in your
+ project. But this wsdl's services' address location values are not a real
+ address. </para>
+ </listitem>
+ <listitem>
+ <para>After the Web service has been created, the following option can become
+ available depending on the options you selected: Update the default web.xm
+ file. If selected, you may test the web service by Explorer.</para>
+ </listitem>
+ </itemizedlist>
+ <para>Click on the <property moreinfo="none">Next</property> button.</para>
+ </listitem>
+ <listitem>
+ <para>On this page, the project is deployed to the server. You can start the server and
+ test the web service. If you want to publish the web service to a UDDI registry, you
+ may click the <property moreinfo="none">Next</property> button to publish it. If not, you may click
+ the <property moreinfo="none">Finish</property> button.</para>
+ <figure float="0">
+ <title>Start a Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+ <para>After the Web Service has been created, the following options may become available
+ depending on the options selected:</para>
+ <itemizedlist>
+ <listitem>
+ <para>the generated web services code</para>
+ </listitem>
+ <listitem>
+ <para>If you selected to generate a WSDL file, you will get the file in your project's wsdl folder.</para>
+ <figure float="0">
+ <title>The Generated HelloWorldService.wsdl File in the wsdl Folder</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_6.png" scale="80"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>If you selected to update the default web.xml, you will test the web service in
+ the browser. Open the Explorer, input the url for the web service according to
+ web.xml plus <property moreinfo="none">?wsdl.</property>, you will get the WSDL file from Explorer. </para>
+ <figure float="0">
+ <title>The Updated web.xml file</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_5.png" scale="80"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+ <para>In the next chapter you will be able to create a Web Service Client from a WSDL document using JBoss WS.</para>
+
+ </section>
+
+</chapter>
+
+
+<chapter id="client" revisionflag="added" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/ws/docs/reference/en/modules/client.xml">
+ <title>Creating a Web Service Client from a WSDL Document using JBoss WS</title>
+ <para>To create a Web Service Client from a WSDL Document using JBoss WS you need to fulfil the following steps:</para>
+ <para>Setup <link linkend="preference">JBoss WS and development environment</link>.</para>
+ <para><link linkend="createproject">Create a Dynamic Web project</link>.</para>
+ <para><link linkend="addfacet">Add JBossWS Facet to Web project</link>.</para>
+ <para>Then you can create a Web Service Client from a WSDL document: </para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to the Java EE perspective <emphasis><property moreinfo="none">Window > Open Perspective > Java EE</property></emphasis>.</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis><property moreinfo="none">File > New > Other</property></emphasis>. Select Web Services in order to display the various Web service wizards. Select the Web Service Client wizard. Click on the <property moreinfo="none">Next</property> button.</para>
+ <figure float="0">
+ <title>New Web Service Client</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/client/jbossws_client.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>The first and the second Web Service Client wizard pages are the same as for <link linkend="topdownwebservice">Web Service from a WSDL document</link>.</para>
+ <figure float="0">
+ <title>Set Web Service Common values</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/client/jbossws_client_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure float="0">
+ <title>Set Web Service values related to WSDL file</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/client/jbossws_client_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>The only difference is:</para>
+ <itemizedlist>
+ <listitem>
+ <para><property moreinfo="none">Client Type:</property> Support of Java Proxy only.</para>
+ </listitem>
+ </itemizedlist>
+ <para>Click on the <property moreinfo="none">Finish</property> button.</para>
+ </listitem>
+ </itemizedlist>
+ <para>After the Web Service Client has been created, the following may occur depending on the options you selected:</para>
+ <itemizedlist>
+ <listitem>
+ <para> the generated web service and client codes</para>
+ </listitem>
+ <listitem>
+ <para>a client sample class.</para>
+ <figure float="0">
+ <title>Client Sample Class</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/client/jbossws_client_3.png" scale="80"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+ <para>JBoss WS use a Java class to test Web Service. A client sample class will be generated, you may run this client as a java application to call a web service.</para>
+</chapter>
+
+
+<chapter id="preference" revisionflag="added" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/ws/docs/reference/en/modules/preference.xml">
+ <title>JBoss WS and development environment</title>
+
+ <para>In this chapter you will learn how to change JBossWS preferences and how to set default server and runtime.</para>
+ <section id="jbosswspreference">
+
+
+ <title>JBossWS Preferences</title>
+
+ <para>In this section you will know how JBossWS preferences can be modified during the
+ development process.</para>
+
+ <para>JBossWS preferences can be set on the JBossWS preference page. Click on
+ <emphasis><property moreinfo="none">Window > Preferences > JBoss Tools > Web > JBossWS
+ Preferences</property>.</emphasis></para>
+
+ <para>On this page you can manage the JBossWS Runtime. Use the appropriate buttons to
+ <property moreinfo="none">Add</property> more runtimes or to <property moreinfo="none">Remove</property> those that
+ are not needed.</para>
+
+ <figure float="0">
+ <title>JBossWS Preferences Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/Jbossws_preference.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Clicking on <emphasis>
+ <property moreinfo="none">Add</property>
+ </emphasis> or <emphasis>
+ <property moreinfo="none">Edit</property>
+ </emphasis> button will open the form where you can configure a new JBossWS runtime and
+ change the path to JBossWS runtime home folder, modify the name and version of the
+ existing JBossWS runtime settings. Press <property moreinfo="none">Finish</property> to apply the
+ changes.</para>
+
+ <figure float="0">
+ <title>Edit JBossWS Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/Jbossws_preference_new.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+
+
+ <para>WS container allows Source and JavaDoc locations to be set via the Properties dialog on each contained .jar: right-click on any .jar file in the Project Explorer view, select <emphasis><property moreinfo="none">Properties</property></emphasis>. Choose <emphasis><property moreinfo="none">Java Source Attachment</property></emphasis> and select location (folder, JAR or zip) containing new source for the chosen .jar using one of the suggested options (workspace, external folder or file) or enter the path manually:</para>
+
+ <figure float="0">
+ <title>Classpath Container: Java Source Attachment</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/jbossws_container1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Click on <emphasis><property moreinfo="none">Apply</property></emphasis> and then on <emphasis><property moreinfo="none">Ok</property></emphasis>.</para>
+ <para>To change JavaDoc Location choose <emphasis><property moreinfo="none">Javadoc Location</property></emphasis> and specify URL to the documentation generated by Javadoc. The Javadoc location will contain a file called <emphasis><property moreinfo="none">package-list</property></emphasis>:</para>
+
+ <figure float="0">
+ <title>Classpath Container: Javadoc Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/jbossws_container2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Click on <emphasis><property moreinfo="none">Apply</property></emphasis> and then on <emphasis><property moreinfo="none">Ok</property></emphasis>.</para>
+
+
+
+
+
+
+ </section>
+ <section id="serverruntime">
+ <title>Default Server and Runtime</title>
+ <para>Open <emphasis>
+ <property moreinfo="none">Window > Preferences > Web Services > Server and Runtime</property></emphasis>. On this page, you can specify a default server and runtime.</para>
+ <para>For ease of use, the better way is to set runtime to JBoss WS.</para>
+ <para>After server and runtime are specified, click on the <property moreinfo="none">Apply</property> button
+ to save the values.</para>
+ <figure float="0">
+ <title>Specifing a default server and runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/jbossws_server_runtime.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the whole, this guide covers the fundamental concepts of work with tooling for
+ <property moreinfo="none">JBossWS</property>. It describes how to easily create a Web Service and a Web Service Client using
+ JBossWS Runtime and adjust JBossWS and development environment as well.</para>
+
+ <para>If the information on JBossWS tools in this guide isn't enough for you, ask
+ questions on our
+ <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201">forum</ulink>. Your comments and suggestions are also welcome.</para>
+ </section>
+</chapter>
+
+</book>
Added: trunk/ws/docs/reference/en-US/overview.xml
===================================================================
--- trunk/ws/docs/reference/en-US/overview.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/overview.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<chapter id="overview">
+ <title>JBossWS Runtime Overview</title>
+
+ <para>JBossWS is a web service framework developed as a part of the JBoss Application Server. It implements the JAX-WS specification that defines a programming model and run-time architecture for implementing web services in Java, targeted at the Java Platform, Enterprise Edition 5 (Java EE 5).</para>
+ <para>JBossWS integrates with most current JBoss Application Server releases as well as earlier ones, that did implement the J2EE 1.4 specifications. Even though JAX-RPC, the web service specification for J2EE 1.4, is still supported JBossWS does put a clear focus on JAX-WS.</para>
+
+<section>
+ <title>Key Features of JBossWS</title>
+ <para>For a start, we propose you to look through the table of main features of JBossWS Runtime:</para>
+
+ <table>
+
+ <title>Key Functionality for JBossWS</title>
+ <tgroup cols="2">
+
+ <colspec colnum="1" align="left" colwidth="2*"/>
+ <colspec colnum="2" colwidth="4*"/>
+
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry><para>JAX-RPC and JAX-WS support</para></entry>
+ <entry><para>JBossWS implements both the JAX-WS and JAX-RPC specifications.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>EJB 2.1, EJB3 and JSE endpoints</para></entry>
+ <entry><para>JBossWS supports EJB 2.1, EJB3 and JSE as Web Service Endpoints.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>WS-Security 1.0 for XML Encryption/Signature of the SOAP message</para></entry>
+ <entry><para>WS-Security standardizes authorization, encryption, and digital signature processing of web services.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>JBoss AS</para></entry>
+ <entry><para>JBoss Application Server 5 (JavaEE 5 compliant) web service stack.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>Support for MTOM/XOP and SwA-Ref</para></entry>
+ <entry><para>Message Transmission Optimization Mechanism (MTOM) and XML-binary Optimized Packaging (XOP) more efficiently serialize XML Infosets that have certain types of content.</para></entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
+
+
+</section>
+<section>
+ <title>Other relevant resources on the topic</title>
+
+ <para>You can find some extra information on:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <ulink url="http://www.jboss.org/community/wiki/JBossWS-FAQ#Tools">JBossWS Tools Wiki FAQ.</ulink>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+
+ </section>
+
+
+
+
+</chapter>
\ No newline at end of file
Added: trunk/ws/docs/reference/en-US/preference.xml
===================================================================
--- trunk/ws/docs/reference/en-US/preference.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/preference.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<chapter id="preference" revisionflag="added">
+ <title>JBoss WS and development environment</title>
+
+ <para>In this chapter you will learn how to change JBossWS preferences and how to set default server and runtime.</para>
+ <section id="jbosswspreference">
+
+
+ <title>JBossWS Preferences</title>
+
+ <para>In this section you will know how JBossWS preferences can be modified during the
+ development process.</para>
+
+ <para>JBossWS preferences can be set on the JBossWS preference page. Click on
+ <emphasis><property>Window > Preferences > JBoss Tools > Web > JBossWS
+ Preferences</property>.</emphasis></para>
+
+ <para>On this page you can manage the JBossWS Runtime. Use the appropriate buttons to
+ <property>Add</property> more runtimes or to <property>Remove</property> those that
+ are not needed.</para>
+
+ <figure>
+ <title>JBossWS Preferences Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/Jbossws_preference.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Clicking on <emphasis>
+ <property>Add</property>
+ </emphasis> or <emphasis>
+ <property>Edit</property>
+ </emphasis> button will open the form where you can configure a new JBossWS runtime and
+ change the path to JBossWS runtime home folder, modify the name and version of the
+ existing JBossWS runtime settings. Press <property>Finish</property> to apply the
+ changes.</para>
+
+ <figure>
+ <title>Edit JBossWS Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/Jbossws_preference_new.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+
+
+ <para>WS container allows Source and JavaDoc locations to be set via the Properties dialog on each contained .jar: right-click on any .jar file in the Project Explorer view, select <emphasis><property>Properties</property></emphasis>. Choose <emphasis><property>Java Source Attachment</property></emphasis> and select location (folder, JAR or zip) containing new source for the chosen .jar using one of the suggested options (workspace, external folder or file) or enter the path manually:</para>
+
+ <figure>
+ <title>Classpath Container: Java Source Attachment</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/jbossws_container1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Click on <emphasis><property>Apply</property></emphasis> and then on <emphasis><property>Ok</property></emphasis>.</para>
+ <para>To change JavaDoc Location choose <emphasis><property>Javadoc Location</property></emphasis> and specify URL to the documentation generated by Javadoc. The Javadoc location will contain a file called <emphasis><property>package-list</property></emphasis>:</para>
+
+ <figure>
+ <title>Classpath Container: Javadoc Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/jbossws_container2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Click on <emphasis><property>Apply</property></emphasis> and then on <emphasis><property>Ok</property></emphasis>.</para>
+
+
+
+
+
+
+ </section>
+ <section id="serverruntime">
+ <title>Default Server and Runtime</title>
+ <para>Open <emphasis>
+ <property>Window > Preferences > Web Services > Server and Runtime</property></emphasis>. On this page, you can specify a default server and runtime.</para>
+ <para>For ease of use, the better way is to set runtime to JBoss WS.</para>
+ <para>After server and runtime are specified, click on the <property>Apply</property> button
+ to save the values.</para>
+ <figure>
+ <title>Specifing a default server and runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/preference/jbossws_server_runtime.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the whole, this guide covers the fundamental concepts of work with tooling for
+ <property>JBossWS</property>. It describes how to easily create a Web Service and a Web Service Client using
+ JBossWS Runtime and adjust JBossWS and development environment as well.</para>
+
+ <para>If the information on JBossWS tools in this guide isn't enough for you, ask
+ questions on our <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201">forum</ulink>. Your comments and suggestions are also welcome.</para>
+ </section>
+</chapter>
Added: trunk/ws/docs/reference/en-US/topdown.xml
===================================================================
--- trunk/ws/docs/reference/en-US/topdown.xml (rev 0)
+++ trunk/ws/docs/reference/en-US/topdown.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,396 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<chapter id="create_ws_topdown">
+ <?dbhtml filename="topdown.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Web Service</keyword>
+ <keyword>JBossWS Web Service runtime</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Creating a Web Service using JBossWS runtime</title>
+ <para>In this chapter we provide you with the necessary steps to create a Web Service using
+ JBossWS runtime. First you need to create a Dynamic Web project:</para>
+
+ <section id="createproject">
+ <title>Creating a Dynamic Web project</title>
+
+ <para>Before creating a web service, you should have a Dynamic Web Project created:</para>
+ <figure>
+ <title>Dynamic Web Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_webproject_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Create a Web project by selecting <emphasis>
+ <property>New > Project... > Dynamic Web project</property></emphasis>. Enter the following information: </para>
+ <itemizedlist>
+ <listitem>
+ <para>Project Name: enter a project name</para>
+ </listitem>
+ <listitem>
+ <para>Target runtime: any server depending on your installation. If it is not listed,
+ click <property>New</property> button and browse to the location where it is installed to. You may set <emphasis>
+ <property>Target Runtime</property>
+ </emphasis> to <emphasis>
+ <property>None</property></emphasis>, in this case, you should add <link linkend="addfacet">JBoss Web Service
+ facet to the project</link>.</para>
+ <figure>
+ <title>Dynamic Web Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_webproject_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>Configuration: You may add <link linkend="addfacet">JBoss Web Service
+ facet to the project</link> by clicking <property>Modify...</property> button. The opened page is like <property>Figure 2.4</property>.</para>
+ </listitem>
+ <listitem>
+ <para>Configure Web Module values:</para>
+ <figure>
+ <title>Web Module Settings Configuration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_webproject_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+ <para>If you added the JBoss Web Service facet to the project, now the <property>Finish</property> button is disable. You must click <property>Next</property> button to set more information about the JBoss Web Service facet. The page is like <property>Figure 2.5</property>. Then click on the <property>Finish</property> button.</para>
+ <para>If you didn't add the JBoss Web Service facet to the project, click on the <property>Finish</property> button. Next you will need to add JBoss Web Service facet to the project.</para>
+ </section>
+
+ <section id="addfacet">
+ <title>Configure JBoss Web Service facet settings</title>
+ <para>If you have already created a new Dynamic Web project and not set the JBoss Web Service facet to the project, the next step is to add JBoss Web
+ Service facet to the project. Right-click on the project, select its <emphasis><property>Properties</property></emphasis> and then find <emphasis>Project Facets</emphasis> in the tree-view on the left-side of the project properties dialog.
+ Tick on the check box for JBoss Web Services. You will see what like this: </para>
+ <figure id="figure_addfacet_0">
+ <title>Choose JBoss Web Service Facet</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_facet_0.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>At the bottom-left of the right-side of the project properties dialog, there is a error link: <emphasis><property>Further configuration required...</property></emphasis> . You must click the link to set more information about JBoss Web Service facet.</para>
+ <para>Click on the <emphasis><property>Further configuration required...</property></emphasis> link. In the opened window</para>
+ <figure id="figure_addfacet">
+ <title>Configure JBoss Web Service Facet</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_facet.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Server Supplied JBossWS Runtime: If you have already set a JBoss runtime to the
+ project's target runtime, you may choose <emphasis>
+ <property>Server Supplied JBossWS Runtime</property>
+ </emphasis> and then click <emphasis>
+ <property>Ok</property>
+ </emphasis> to finish the configuration of JBoss Web Service facet. </para>
+ <para>If the project has no <emphasis>
+ <property>Target Runtime</property>
+ </emphasis> settings, you should check the second radio button and specify a JBossWS
+ runtime from the list. You also can create a new JBossWS runtime, click on the <emphasis>
+ <property>New...</property>
+ </emphasis> button will bring you to another dialog to configure new JBossWS runtime.</para>
+ <figure id="figure_addfacet1">
+ <title>Configure JBossWS Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_newruntime.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>See how to configure a new JBossWS runtime <link linkend="preference">here</link>.</para>
+ <para>After setting the information about JBoss Web Service facet, for saving the result, you should click the <property>Apply</property> or <property>OK</property> button at the bottom-right of the right-side of the project properties dialog.</para>
+ </section>
+
+
+ <section id="topdownwebservice">
+ <title>Creating a Web Service from a WSDL document using JBossWS runtime</title>
+ <para>In this chapter we provide you with the necessary steps to create a Web Service from a
+ WSDL document using JBossWS runtime.</para>
+ <para>At first, please make sure that you have already created a dynamic Web project with
+ JBoss Web Service facet installed. </para>
+ <para>See how to make it <link linkend="createproject">here</link> and <link
+ linkend="addfacet">here</link>.</para>
+
+ <para>To create a Web Service using JBossWS runtime select<emphasis>
+ <property>File > New > Other > Web Services > Web Service</property>
+ </emphasis> to run Web Service creation wizard. </para>
+ <para>Let's get through the wizard step-by-step:</para>
+ <figure id="figure_create_ws_topdown">
+ <title>New Web Service Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_creation1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>First, please select <property>Top down Java bean Web Service</property> from the Web
+ Service type list, and select a WSDL document from workspace, click on the Server name
+ link on the page will bring you to another dialog. Here you can specify the server to a
+ JBoss Server and Web Service runtime to JBossWS runtime:</para>
+ <figure id="figure_create_ws_topdown_setserver">
+ <title>Select Server and Web Service runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_creation1_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Click on the <emphasis>
+ <property>Finish</property>
+ </emphasis> button to see the next wizard view opened:</para>
+
+ <figure id="figure_create_ws_topdown1">
+ <title>New Web Service Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_creation1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Click on the <emphasis>
+ <property>Next</property>
+ </emphasis> button to proceed:</para>
+ <figure id="figure_create_ws_topdown_codegen">
+ <title>New Web Service Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_creation2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>On this page, the default package name comes from the namespace of the WSDL document,
+ you also can change it to any valid package name you want. JAX-WS specification should be
+ set to 2.0 if your JBossWS runtime in JBoss Server is JBossWS native runtime. You can
+ specify a catalog file and binding files if you have them. If you want the wizard to
+ generate empty implementation classes for the Web Service, check the <emphasis>
+ <property>Generate default Web Service implementation classes</property>
+ </emphasis> check box. If you want to update the default Web.xml file with the Web Service
+ servlets configured, check the <emphasis>
+ <property>Update the default Web.xml</property>
+ </emphasis> check box. Click on the <emphasis>
+ <property>Next</property>
+ </emphasis> or on the <emphasis>
+ <property>Finish</property>
+ </emphasis> button to generate code.</para>
+
+ <para>Once the Web Service code is generated, you can view the implementation class and add
+ business logic to each method.</para>
+ <figure id="figure_impl_code">
+ <title>The generated implementation Java code</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_Impl_code_view.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>View the Web.xml file:</para>
+ <figure id="figure_webxml">
+ <title>Web.xml</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_ws_webxml.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+<para>In the next chapter you will find out how to create a Web service from a Java bean.</para>
+ </section>
+
+ <section id="bottomupws">
+ <title>Creating a Web service from a Java bean using JBossWS runtime</title>
+ <para>The Web Service wizard assists you in creating a new Web service, configuring it for
+ deployment, and then deploying it to the server.</para>
+ <para>To create a Web service from a bean using JBoss WS:</para>
+ <para>Setup <link linkend="preference">JBoss WS and development environment</link>.</para>
+ <para>Create <link linkend="createproject">a Dynamic Web project</link>.</para>
+ <para>Add <link linkend="addfacet">JBossWS Facet</link> to Web project.</para>
+ <para>Create a Web Service from a java bean: </para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to the Java EE perspective <emphasis>
+ <property>Window > Open Perspective > Java EE</property></emphasis>.</para>
+ </listitem>
+ <listitem>
+ <para>In the Project Explorer view, select the bean that you created or imported into
+ the source folder of your Web project.</para>
+ <figure>
+ <title>Select the Bean Created</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata scale="80" fileref="images/topdown/jbossws_bottomup.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>File > New > Other</property></emphasis>. Select Web Services in order to display various Web service wizards.
+ Select the Web Service wizard. Click on the <property>Next</property> button.</para>
+ <figure>
+ <title>New Web Service</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>On the first Web Service wizard page: select <property>Bottom up Java bean Web
+ service</property> as your Web service type, and select the Java bean from which
+ the service will be created:</para>
+ <figure>
+ <title>Set Web Service Common values</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Select the stages of Web service development that you want to complete using
+ the slider: </para>
+ <itemizedlist>
+ <listitem>
+ <para>Develop: this will develop the WSDL definition and implementation of
+ the Web service. This includes such tasks as creating modules that will
+ contain generated code, WSDL files, deployment descriptors, and Java
+ files when appropriate.</para>
+ </listitem>
+ <listitem>
+ <para>Assemble: this ensures the project that will host the Web service or
+ client gets associated to an EAR when required by the target application
+ server.</para>
+ </listitem>
+ <listitem>
+ <para>Deploy: this will create the deployment code for the service.</para>
+ </listitem>
+ <listitem>
+ <para>Install: this will install and configure the Web module and EARs on
+ the target server.</para>
+ </listitem>
+ <listitem>
+ <para>Start: this will start the server once the service has been installed
+ on it. The server-config.wsdd file will be generated.</para>
+ </listitem>
+ <listitem>
+ <para>Test: this will provide various options for testing the service, such
+ as using the Web Service Explorer or sample JSPs.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>Select your server: the default server is displayed. If you want to deploy
+ your service to a different server click the link to specify a different server.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Select your runtime: ensure the JBoss WS runtime is selected.</para>
+ </listitem>
+ <listitem>
+ <para>Select the service project: the project selected in your workspace is
+ displayed. To select a different project click on the project link. If you are
+ deploying to JBoss Application Server you will also be asked to select the EAR
+ associated with the project. Ensure that the project selected as the Client Web
+ Project is different from the Service Web Project, or the service will be
+ overwritten by the client's generated artifacts.</para>
+ </listitem>
+ <listitem>
+ <para>If you want to create a client, select the type of proxy to be generated
+ and repeat the above steps for the client. The better way is to create a web
+ service client project separately.</para>
+ </listitem>
+ </itemizedlist>
+ <para>Click on the <property>Next</property> button.</para>
+ </listitem>
+ <listitem>
+ <para>On the JBoss Web Service Code Generation Configuration page, set the following
+ values:</para>
+ <figure>
+ <title>Set Web Service values for Code Generation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Generate WSDL file: select it, you will get a generated WSDL file in your
+ project. But this wsdl's services' address location values are not a real
+ address. </para>
+ </listitem>
+ <listitem>
+ <para>After the Web service has been created, the following option can become
+ available depending on the options you selected: Update the default web.xm
+ file. If selected, you may test the web service by Explorer.</para>
+ </listitem>
+ </itemizedlist>
+ <para>Click on the <property>Next</property> button.</para>
+ </listitem>
+ <listitem>
+ <para>On this page, the project is deployed to the server. You can start the server and
+ test the web service. If you want to publish the web service to a UDDI registry, you
+ may click the <property>Next</property> button to publish it. If not, you may click
+ the <property>Finish</property> button.</para>
+ <figure>
+ <title>Start a Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/topdown/jbossws_bottomup_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+ <para>After the Web Service has been created, the following options may become available
+ depending on the options selected:</para>
+ <itemizedlist>
+ <listitem>
+ <para>the generated web services code</para>
+ </listitem>
+ <listitem>
+ <para>If you selected to generate a WSDL file, you will get the file in your project's wsdl folder.</para>
+ <figure>
+ <title>The Generated HelloWorldService.wsdl File in the wsdl Folder</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata scale="80" fileref="images/topdown/jbossws_bottomup_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem>
+ <para>If you selected to update the default web.xml, you will test the web service in
+ the browser. Open the Explorer, input the url for the web service according to
+ web.xml plus <property>?wsdl.</property>, you will get the WSDL file from Explorer. </para>
+ <figure>
+ <title>The Updated web.xml file</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata scale="80" fileref="images/topdown/jbossws_bottomup_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+ <para>In the next chapter you will be able to create a Web Service Client from a WSDL document using JBoss WS.</para>
+
+ </section>
+
+</chapter>
Modified: trunk/ws/docs/reference/pom.xml
===================================================================
--- trunk/ws/docs/reference/pom.xml 2010-03-09 02:06:33 UTC (rev 20702)
+++ trunk/ws/docs/reference/pom.xml 2010-03-09 03:33:36 UTC (rev 20703)
@@ -14,7 +14,7 @@
<profile>
<id>release</id>
<properties>
- <master>master_output.xml</master>
+ <!-- <master>master_output.xml</master> -->
<xsl-single>classpath:/xslt/org/jboss/tools/xhtml-single-release.xsl</xsl-single>
<xsl-chunked>classpath:/xslt/org/jboss/tools/xhtml-release.xsl</xsl-chunked>
<xsl-pdf>classpath:/xslt/org/jboss/tools/pdf.xsl</xsl-pdf>
@@ -23,7 +23,7 @@
<profile>
<id>releaseTest</id>
<properties>
- <master>master_output.xml</master>
+ <!-- <master>master_output.xml</master> -->
<xsl-single>classpath:/xslt/org/jboss/tools/xhtml-single-release-nomarker.xsl</xsl-single>
<xsl-chunked>classpath:/xslt/org/jboss/tools/xhtml-release-nomarker.xsl</xsl-chunked>
<xsl-pdf>classpath:/xslt/org/jboss/tools/pdf.xsl</xsl-pdf>
@@ -32,7 +32,7 @@
<profile>
<id>releaseJBDS</id>
<properties>
- <master>master_output.xml</master>
+ <!-- <master>master_output.xml</master> -->
<xsl-single>classpath:/xslt/com/jboss/tools/xhtml-single-release.xsl</xsl-single>
<xsl-chunked>classpath:/xslt/com/jboss/tools/xhtml-release.xsl</xsl-chunked>
<xsl-pdf>classpath:/xslt/com/jboss/tools/pdf.xsl</xsl-pdf>
@@ -42,7 +42,7 @@
<profile>
<id>diffmk</id>
<properties>
- <master>master_output.xml</master>
+ <!-- <master>master_output.xml</master> -->
<xsl-single>classpath:/xslt/org/jboss/tools/xhtml-single-diff.xsl</xsl-single>
<xsl-chunked>classpath:/xslt/org/jboss/tools/xhtml-diff.xsl</xsl-chunked>
<xsl-pdf>classpath:/xslt/org/jboss/tools/pdf-diff.xsl</xsl-pdf>
@@ -93,18 +93,18 @@
</dependency>
</dependencies>
- <configuration>
- <sourceDocumentName>${master}</sourceDocumentName>
- <sourceDirectory>${pom.basedir}/en</sourceDirectory>
- <imageResource>
- <directory>${pom.basedir}/en</directory>
- <includes>
- <include>images/**/*</include>
- </includes>
- </imageResource>
- <cssResource>
- <directory>${pom.basedir}/${cssdir}</directory>
- </cssResource>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <sourceDirectory>${pom.basedir}/en-US</sourceDirectory>
+ <imageResource>
+ <directory>${pom.basedir}/en-US</directory>
+ <includes>
+ <include>images/**/*</include>
+ </includes>
+ </imageResource>
+ <cssResource>
+ <directory>${pom.basedir}/${cssdir}</directory>
+ </cssResource>
<formats>
<format>
@@ -163,7 +163,7 @@
<xsl-chunked>classpath:/xslt/org/jboss/tools/xhtml.xsl</xsl-chunked>
<xsl-pdf>classpath:/xslt/org/jboss/tools/pdf.xsl</xsl-pdf>
<cssdir>../../../documentation/jbosstools-jdocbook-style/src/main/org/css/</cssdir>
- <master>master.xml</master>
+ <master>JBoss_Web_Services_User_Guide</master>
<translation>en-US</translation>
</properties>
Added: trunk/ws/docs/reference/publican.cfg
===================================================================
--- trunk/ws/docs/reference/publican.cfg (rev 0)
+++ trunk/ws/docs/reference/publican.cfg 2010-03-09 03:33:36 UTC (rev 20703)
@@ -0,0 +1,7 @@
+# Config::Simple 4.59
+# Fri Nov 20 13:19:45 2009
+
+xml_lang: en-US
+type: Book
+brand: JBoss
+
14 years, 10 months
JBoss Tools SVN: r20702 - in trunk/struts/docs/struts_tools_tutorial: en-US and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: irooskov(a)redhat.com
Date: 2010-03-08 21:06:33 -0500 (Mon, 08 Mar 2010)
New Revision: 20702
Added:
trunk/struts/docs/struts_tools_tutorial/en-US/
trunk/struts/docs/struts_tools_tutorial/en-US/Author_Group.xml
trunk/struts/docs/struts_tools_tutorial/en-US/Book_Info.xml
trunk/struts/docs/struts_tools_tutorial/en-US/Preface.xml
trunk/struts/docs/struts_tools_tutorial/en-US/Revision_History.xml
trunk/struts/docs/struts_tools_tutorial/en-US/Struts_Tools_Tutorial.ent
trunk/struts/docs/struts_tools_tutorial/en-US/Struts_Tools_Tutorial.xml
trunk/struts/docs/struts_tools_tutorial/en-US/coding_files.xml
trunk/struts/docs/struts_tools_tutorial/en-US/compiling_and_running.xml
trunk/struts/docs/struts_tools_tutorial/en-US/generating_stub.xml
trunk/struts/docs/struts_tools_tutorial/en-US/images/
trunk/struts/docs/struts_tools_tutorial/en-US/images/favicon.ico
trunk/struts/docs/struts_tools_tutorial/en-US/images/jbosstools_logo.png
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_1.png
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_2.png
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_3.png
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_4.png
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_5.png
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_6.png
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/struts_validation.png
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/struts_validation_1.png
trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/struts_validation_2.png
trunk/struts/docs/struts_tools_tutorial/en-US/introduction.xml
trunk/struts/docs/struts_tools_tutorial/en-US/master.xml
trunk/struts/docs/struts_tools_tutorial/en-US/master_output.xml
trunk/struts/docs/struts_tools_tutorial/en-US/relevant_resources.xml
trunk/struts/docs/struts_tools_tutorial/en-US/struts_application.xml
trunk/struts/docs/struts_tools_tutorial/en-US/struts_validation.xml
trunk/struts/docs/struts_tools_tutorial/publican.cfg
Removed:
trunk/struts/docs/struts_tools_tutorial/en/
Modified:
trunk/struts/docs/struts_tools_tutorial/pom.xml
Log:
modified book to build with publican
Added: trunk/struts/docs/struts_tools_tutorial/en-US/Author_Group.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/Author_Group.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/Author_Group.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,6 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<authorgroup><author><firstname>Anatoly</firstname><surname>Fedosik</surname></author>
+ <author><firstname>Olga</firstname><surname>Chikvina</surname></author>
+ <author><firstname>Svetlana</firstname><surname>Mukhina</surname><email>smukhina(a)exadel.com</email></author></authorgroup>
Added: trunk/struts/docs/struts_tools_tutorial/en-US/Book_Info.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/Book_Info.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/Book_Info.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<bookinfo><title>Struts Tools Tutorial</title><subtitle>Guides the reader through a tutorial on the Struts Tools set.</subtitle><productname>JBoss Developer Studio</productname><productnumber>3.0</productnumber><edition>1.0</edition><pubsnumber>0</pubsnumber><abstract><para>The Struts Tools Tutorial guide explains how to use the Struts Tools set and guides the reader through a tutorial.</para></abstract><corpauthor><inlinemediaobject><imageobject><imagedata fileref="Common_Content/images/title_logo.svg" format="SVG"></imagedata></imageobject></inlinemediaobject></corpauthor><xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include><xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include></bookinfo>
Added: trunk/struts/docs/struts_tools_tutorial/en-US/Preface.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/Preface.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/Preface.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<preface><title>Preface</title><xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include><xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include></xi:fallback></xi:include></preface>
Added: trunk/struts/docs/struts_tools_tutorial/en-US/Revision_History.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/Revision_History.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/Revision_History.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<appendix><title>Revision History</title><simpara><revhistory><revision><revnumber>0</revnumber><date>Fri Nov 20 2009</date><author><firstname>Isaac</firstname><surname>Rooskov</surname><email>irooskov(a)redhat.com</email></author><revdescription><simplelist><member>Initial creation of book by publican</member></simplelist></revdescription></revision></revhistory></simpara></appendix>
Added: trunk/struts/docs/struts_tools_tutorial/en-US/Struts_Tools_Tutorial.ent
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/Struts_Tools_Tutorial.ent (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/Struts_Tools_Tutorial.ent 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,4 @@
+<!ENTITY PRODUCT "JBoss">
+<!ENTITY BOOKID "Struts_Tools_Tutorial">
+<!ENTITY YEAR "2010">
+<!ENTITY HOLDER "Red Hat">
Added: trunk/struts/docs/struts_tools_tutorial/en-US/Struts_Tools_Tutorial.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/Struts_Tools_Tutorial.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/Struts_Tools_Tutorial.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<book>
+<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="struts_application.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="generating_stub.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="coding_files.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="compiling_and_running.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="struts_validation.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="relevant_resources.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+<xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
+</book>
Added: trunk/struts/docs/struts_tools_tutorial/en-US/coding_files.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/coding_files.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/coding_files.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,433 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="coding_files" xreflabel="coding_files">
+ <?dbhtml filename="coding_files.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Coding the Various Files</title>
+ <para>We will now code both the Java stub classes just generated, the JSP files left in as
+ placeholders from previous steps, and a new start JSP page we will have to create.</para>
+ <section id="JavaStubClasses">
+ <title>Java Stub Classes</title>
+ <itemizedlist>
+ <listitem>
+ <para>To finish the two Java classes, switch to the <emphasis>
+ <property>Package Explorer</property>
+ </emphasis> view and expand the <emphasis>
+ <property>JavaSource > sample</property>
+ </emphasis> folder</para>
+ </listitem>
+ </itemizedlist>
+ <section id="GetNameForm.java">
+ <title>GetNameForm.java</title>
+ <itemizedlist>
+ <listitem>
+ <para>Double-click <emphasis>
+ <property>GetNameForm.java</property>
+ </emphasis> for editing</para>
+ </listitem>
+
+ <listitem>
+ <para>You are looking at a Java stub class that was generated by JBoss
+ Tools. Now we are going to edit the file</para>
+ </listitem>
+
+ <listitem>
+ <para>Add the following attributes at the beginning of the class:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[private String name = "";
+]]></programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Inside the reset method, delete the TO DO and throw lines and
+ add:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[this.name = "";
+]]></programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Inside the validate method, delete the TO DO and throw lines and
+ add:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[ActionErrors errors = new ActionErrors();
+ return errors;
+]]></programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Right-click and select <emphasis>
+ <property>Source > Generate Getters and Setters</property>
+ </emphasis>from the context menu</para>
+ </listitem>
+ <listitem>
+ <para>In the dialog box, check the check box for <emphasis>
+ <property>name</property>,</emphasis>
+ select First method for Insertion point, and click on the <emphasis>
+ <property>OK</property>
+ </emphasis> button</para>
+ </listitem>
+ </itemizedlist>
+ <para>The final <emphasis>
+ <property>GetNameForm.java</property></emphasis> file should look like this:</para>
+ <programlisting role="JAVA"><![CDATA[package sample;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionMapping;
+
+public class GetNameForm extends org.apache.struts.action.ActionForm
+{
+
+ private String name = "";
+
+ public String getName()
+ {
+ return name;
+ }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public GetNameForm()
+ {
+ }
+
+ public void reset(ActionMapping actionMapping, HttpServletRequest request)
+ {
+ this.name = "";
+ }
+
+ public ActionErrors validate(ActionMapping actionMapping,
+ HttpServletRequest request)
+ {
+ ActionErrors errors = new ActionErrors();
+ return errors;
+ }
+}
+]]></programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Save the file</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section id="GreetingAction.java">
+ <title>GreetingAction.java</title>
+ <itemizedlist>
+ <listitem>
+ <para>Open <emphasis>
+ <property>GreetingAction.java</property></emphasis> for editing</para>
+ </listitem>
+ <listitem>
+ <para>Inside the execute method, delete the TO DO lines and add the
+ following:</para>
+ </listitem>
+ </itemizedlist>
+
+ <programlisting role="JAVA"><![CDATA[String name = ((GetNameForm)form).getName();
+String greeting = "Hello, "+name+"!";
+((GetNameForm)form).setName(greeting);
+return mapping.findForward(FORWARD_sayHello);
+]]></programlisting>
+
+ <para>The final version of <emphasis>
+ <property>GreetingAction.java</property></emphasis> should look like this:</para>
+
+ <programlisting role="JAVA"><![CDATA[package sample;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+
+public class GreetingAction extends org.apache.struts.action.Action
+{
+
+ // Global Forwards
+ public static final String GLOBAL_FORWARD_getName = "getName";
+
+ // Local Forwards
+ public static final String FORWARD_sayHello = "sayHello";
+
+ public GreetingAction()
+ {
+ }
+ public ActionForward execute(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response) throws Exception
+ {
+ String name = ((GetNameForm)form).getName();
+ String greeting = "Hello, "+name+"!";
+ ((GetNameForm)form).setName(greeting);
+ return mapping.findForward(FORWARD_sayHello);
+ }
+}
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Save the file</para>
+ </listitem>
+ <listitem>
+ <para>Close the editors for the two Java files</para>
+ </listitem>
+ </itemizedlist>
+ <para>The last thing left to do is to code the JSP files whose editors should still
+ be open from having been created as placeholders.</para>
+ </section>
+ </section>
+ <section id="JSPPages">
+ <title>JSP Pages</title>
+ <section id="inputname.jsp">
+ <title>inputname.jsp</title>
+ <para>In this page, the user will enter any name and click the <emphasis>
+ <property>submit</property>
+ </emphasis> button. Then, the greeting action will be called through the form.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>inputname.jsp</property>
+ </emphasis> tab in the Editing area to bring its editor forward</para>
+ </listitem>
+ <listitem>
+ <para>In the Web Projects view, expand <emphasis>
+ <property>StrutsHello > Configuration > default
+ > struts-config.xml > action-mappings</property>
+ </emphasis> and select <emphasis>
+ <property>/greeting</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Drag it and drop it between the quotes for the <emphasis role="italic">
+ <property>"action"</property>
+ </emphasis> attribute to the
+ <code><html:form></code>
+ element in the Source pane of the editor</para>
+ </listitem>
+ <listitem>
+ <para>Then type this text on a new line just below this line:</para>
+ <programlisting role="XML"><![CDATA[Input name:
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Select the <emphasis>
+ <property>Visual</property>
+ </emphasis> pane of the editor</para>
+ </listitem>
+ <listitem>
+ <para>Then, in the JBoss Tools Palette, expand the <emphasis>
+ <property>Struts Form</property>
+ </emphasis> library, select <emphasis>
+ <property>text</property>
+ </emphasis>, and drag it onto the box
+ <note>
+ <title>Note:</title>
+ <para>By default there are only four groups on the JBoss Tools
+ Palette. If you wish to make some group visible click the <emphasis>
+ <property>Show/Hide</property>
+ </emphasis> button on the top of palette and in the prompted
+ dialog check the group (or groups) you want to be shown.</para>
+ </note>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>JBoss Tools Palette</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_3.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>In the Insert Tag dialog box, type in name for property and select <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In the StrutsForm library in the <property>JBoss Tools Palette</property>, select <emphasis>
+ <property>submit</property>
+ </emphasis>, and drag it to right after the text box in the Visual pane
+ of the editor</para>
+ </listitem>
+ <listitem>
+ <para>Right-click the <emphasis>
+ <property>submit</property>
+ </emphasis> button and select
+ <code><html:submit></code>
+ Attributes from the context menu</para>
+ </listitem>
+ <listitem>
+ <para>In the Attributes dialog box, select the <emphasis>
+ <property>value</property>
+ </emphasis> field and type in "Say Hello!" for its
+ value</para>
+ </listitem>
+ </itemizedlist>
+ <para>After tidying the page source, the Editor window for the file should look
+ something like this:</para>
+ <figure>
+ <title>Editor Window</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_4.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="greeting.jsp">
+ <title>greeting.jsp</title>
+ <para>Next, we will fill in the result page.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>greeting.jsp</property>
+ </emphasis> tab in the Editing area to bring its editor forward</para>
+ </listitem>
+ <listitem>
+ <para>Type in the following code:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<html>
+<head>
+ <title>Greeting</title>
+</head>
+ <body>
+ <p>
+ </p>
+ </body>
+</html>
+]]></programlisting>
+
+ <para>To complete editing of this file, we will use macros from the <property>JBoss Tools
+ Palette</property>. This palette is a view that should be available to the right of the
+ editing area.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>Struts Common</property>
+ </emphasis> folder in the <property>JBoss Tools Palette</property> to open it</para>
+ </listitem>
+ <listitem>
+ <para>Position the cursor at the beginning of the <emphasis>
+ <property>greeting.jsp</property></emphasis> file in the
+ Source pane and then click on <emphasis>
+ <property>bean taglib</property></emphasis> in the <property>JBoss Tools
+ Palette</property></para>
+ </listitem>
+ </itemizedlist>
+ <para>This will insert the following line at the top of the file:</para>
+ <programlisting role="JAVA"><![CDATA[
+<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>Struts Bean</property>
+ </emphasis> folder in the <property>JBoss Tools Palette</property> to open it</para>
+ </listitem>
+ <listitem>
+ <para>Position the cursor inside the
+ <code><p></code>
+ element</para>
+ </listitem>
+ <listitem>
+ <para>Click on <emphasis>
+ <property>write</property></emphasis> in the <property>JBoss Tools Palette</property></para>
+ </listitem>
+ <listitem>
+ <para>Type in "GetNameForm" for the <emphasis
+ role="italic">
+ <property>name</property>
+ </emphasis> attribute and add a <emphasis role="italic">
+ <property>property</property>
+ </emphasis> attribute with "name" as its
+ value</para>
+ </listitem>
+ </itemizedlist>
+ <para>The editor should now look like this:</para>
+ <figure>
+ <title>Editor Window</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_5.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="index.jsp">
+ <title>index.jsp</title>
+ <para>Finally, we will need to create and edit an <emphasis>
+ <property>index.jsp</property></emphasis> page. This page will use
+ a Struts forward to simply redirect us to the getName global forward.</para>
+ <itemizedlist>
+ <listitem>
+ <para>In the Web Projects view, right-click on <emphasis>
+ <property>StrutsHello > WEB-ROOT(WebContent)</property>
+ </emphasis> node and select <emphasis>
+ <property>New > File > JSP</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>index</property></emphasis> for Name and click on the <emphasis>
+ <property>Finish</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>On the <property>JBoss Tools Palette</property>, select the <emphasis>
+ <property>Struts Common</property>
+ </emphasis> folder of macros by clicking on it in the palette</para>
+ </listitem>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>logic taglib</property></emphasis> icon</para>
+ </listitem>
+ <listitem>
+ <para>Press the <emphasis>
+ <property>Enter</property>
+ </emphasis> key in the editor to go to the next line</para>
+ </listitem>
+ <listitem>
+ <para>Back on the palette, select the <emphasis>
+ <property>Struts Logic</property>
+ </emphasis> folder of macros</para>
+ </listitem>
+ <listitem>
+ <para>Click on <emphasis>
+ <property>redirect</property></emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Delete the ending tag, put a forward slash in front of the closing
+ angle bracket, and type "forward=getName" in front of
+ the slash</para>
+ </listitem>
+ </itemizedlist>
+ <para>The finished code for the page is shown below:</para>
+ <programlisting role="JAVA"><![CDATA[<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
+<logic:redirect forward="getName"/>
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>To save all the edits to files, select <emphasis>
+ <property>File>Save All</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ </section>
+ </chapter>
\ No newline at end of file
Added: trunk/struts/docs/struts_tools_tutorial/en-US/compiling_and_running.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/compiling_and_running.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/compiling_and_running.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="compiling_and_running" xreflabel="compiling_and_running">
+ <?dbhtml filename="compiling_and_running.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Compiling the Classes and Running the Application</title>
+
+ <para>As this is the Eclipse environment, no explicit compilation step is required. By
+ default, Eclipse compiles as you go.</para>
+
+ <para>Thus at this point everything is ready for running our application without having to leave JBoss
+ Developer Studio by using the JBoss Application Server engine that comes with the JBoss
+ Developer Studio. For controlling JBoss AS within JBoss Developer Studio, there is JBoss
+ Server view.</para>
+ <figure>
+ <title>JBoss Server Panel</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Start up JBoss AS by clicking on the icon in JBoss Server view. (If JBoss AS
+ is already running, stop it by clicking on the red icon and then start it again.
+ Remember, the Struts run-time requires restarting the servlet engine when any
+ changes have been made.)</para>
+ </listitem>
+ <listitem>
+ <para>After the messages in the Console tabbed view stop scrolling, JBoss AS is
+ available. At this point, right-click on the getName global forward in the
+ struts-config.xml diagram view and select Run on Server.</para>
+ </listitem>
+ </itemizedlist>
+ <para>The browser should appear with the application started.</para>
+ </chapter>
\ No newline at end of file
Added: trunk/struts/docs/struts_tools_tutorial/en-US/generating_stub.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/generating_stub.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/generating_stub.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,51 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="generating_stub" xreflabel="generating_stub">
+ <?dbhtml filename="generating_stub.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Generating Stub Coding</title>
+ <para>We are done with designing the application through the diagram. Now we need to write
+ code for the action component. We also need to write an action class for the <emphasis>
+ <property>/greeting</property>
+ </emphasis> mapping along with a FormBean. To aid in the coding phase, JBoss Developer
+ Studio can generate Java class stubs for all of the components shown in the diagram.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch back to the diagram, by selecting the <emphasis>
+ <property>Diagram</property>
+ </emphasis> tab at the bottom of the editor window</para>
+ </listitem>
+ <listitem>
+ <para>Right-click a blank space in the diagram and select <emphasis>
+ <property>Generate Java Code</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Leave everything as is in the dialog box and click <emphasis>
+ <property>Generate</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>You should see a screen that says:</para>
+ <para>Generated classes: 2</para>
+ <para>Actions: 1</para>
+ <para>Form beans: 1</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>The Java files will be generated in a <emphasis>
+ <property>JavaSource > sample</property>
+ </emphasis> folder that you can see in the <property>Package Explorer view</property> under the
+ "StrutsHello" node. One Action stub and one FormBean stub will have
+ been generated.</para>
+ </chapter>
\ No newline at end of file
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/favicon.ico
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/favicon.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/jbosstools_logo.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/jbosstools_logo.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_3.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_4.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_5.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_6.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_application/struts_application_6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/struts_validation.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/struts_validation.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/struts_validation_1.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/struts_validation_1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/struts_validation_2.png
===================================================================
(Binary files differ)
Property changes on: trunk/struts/docs/struts_tools_tutorial/en-US/images/struts_validation/struts_validation_2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/struts/docs/struts_tools_tutorial/en-US/introduction.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/introduction.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/introduction.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="introduction" xreflabel="introduction">
+ <?dbhtml filename="introduction.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Introduction</title>
+ <para>The following chapters describe how to deal with classic/old style of Struts development. We
+ recommend users to use JBoss Seam to
+ simplify development, but until then you can read about classical Struts usage here.</para>
+
+ <para>We are going to show you how to create a simple <emphasis>
+ <property>Struts application</property>
+ </emphasis> using the JBoss Tools. The completed application will ask a user to enter
+ a name and click a button. The resulting new page will display the familiar message,
+ "Hello <name>!"</para>
+ <para>This document will show you how to create such an application from the beginning, along the
+ way demonstrating some of the powerful features of JBoss Tools. With the help of our tutorial you will design the
+ application, generate stub code for the application, fill in the stub coding, compile the
+ application, and finally run it all from inside the Eclipse.</para>
+
+ <section>
+ <title>Key Features Struts Tools</title>
+
+ <para>For a start, we propose you to look through the table of main features of Struts
+ Tools:</para>
+ <table>
+
+ <title>Key Functionality of Struts Tools</title>
+ <tgroup cols="2">
+
+ <colspec colnum="1" align="left" colwidth="2*"/>
+ <colspec colnum="2" colwidth="4*"/>
+
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><para>Struts Support</para></entry>
+ <entry><para>Step-by-step wizards for creating a new struts project with a number
+ of predefined templates, importing existing ones and adding struts
+ capabilities to non-struts web projects.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>Support for Struts Configuration File</para></entry>
+ <entry><para>Working on file using three modes: diagram, tree and source.
+ Synchronization between the modes and full control over the code. Easy
+ moving around the diagram using the Diagram Navigator. Working with
+ struts projects that have multiple modules. Possibility to use Struts
+ configuration file debugger allowing to set break points on struts
+ diagram and then launch the server in debug mode.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>Support for Struts modules</para></entry>
+ <entry><para>A Struts module (struts-config.xml) is automatically created while
+ creating a new project. There is also possibility to add new ones or edit
+ already existing modules in your existing project or while importing Struts project.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>Verification and Validation</para></entry>
+ <entry><para>All occurring errors will be immediately reported by verification
+ feature, no matter in what view you are working. Constant validation and
+ errors checking allows to catch many of the errors during development
+ process that significantly reduces development time.</para></entry>
+
+
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+
+
+ <section>
+ <title>Other relevant resources on the topic</title>
+
+ <para>All JBoss Developer Studio/JBoss Tools release documentation you can find at<ulink url="http://docs.jboss.org/tools/">http://docs.jboss.org/tools</ulink> in the corresponding release directory.</para>
+ <para>The latest documentation builds are available at <ulink url="http://download.jboss.org/jbosstools/nightly-docs/">http://download.jboss.org/jbosstools/nightly-docs</ulink>.</para>
+
+ </section>
+
+</chapter>
Added: trunk/struts/docs/struts_tools_tutorial/en-US/master.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/master.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/master.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+
+[<!ENTITY introduction SYSTEM "introduction.xml">
+<!ENTITY struts_application SYSTEM "struts_application.xml">
+<!ENTITY generating_stub SYSTEM "generating_stub.xml">
+<!ENTITY coding_files SYSTEM "coding_files.xml">
+<!ENTITY compiling_and_running SYSTEM "compiling_and_running.xml">
+<!ENTITY struts_validation SYSTEM "struts_validation.xml">
+<!ENTITY relevant_resources SYSTEM "relevant_resources.xml">
+
+<!ENTITY seamlink "../../seam/html_single/index.html">
+<!ENTITY aslink "../../as/html_single/index.html">
+<!ENTITY esblink "../../esb_ref_guide/html_single/index.html">
+<!ENTITY gsglink "../../GettingStartedGuide/html_single/index.html">
+<!ENTITY hibernatelink "../../hibernatetools/html_single/index.html">
+<!ENTITY jbpmlink "../../jbpm/html_single/index.html">
+<!ENTITY jsflink "../../jsf/html_single/index.html">
+<!ENTITY jsfreflink "../../jsf_tools_ref_guide/html_single/index.html">
+<!ENTITY jsftutoriallink "../../jsf_tools_tutorial/html_single/index.html">
+<!ENTITY strutsreflink "../../struts_tools_ref_guide/html_single/index.html">
+<!ENTITY strutstutoriallink "../../struts_tools_tutorial/html_single/index.html">
+
+]>
+
+<book>
+
+ <bookinfo>
+ <title>Struts Tools Tutorial</title>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject role="fo">
+ <imagedata format="PNG" fileref="images/jbosstools_logo.png" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata/>
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <author><firstname>Anatoly</firstname><surname>Fedosik</surname></author>
+ <author><firstname>Olga</firstname><surname>Chikvina</surname></author>
+ <author><firstname>Svetlana</firstname><surname>Mukhina</surname><email>smukhina(a)exadel.com</email></author>
+
+ <copyright>
+ <year>2007</year>
+ <year>2008</year>
+ <year>2009</year>
+ <year>2010</year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+ Version: 3.1.0.GA
+ </releaseinfo>
+
+<abstract>
+ <title/>
+ <para>
+ <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/struts_tools_tutoria...">PDF version</ulink>
+ </para>
+</abstract>
+
+
+ </bookinfo>
+
+ <toc/>
+
+ &introduction;
+ &struts_application;
+ &generating_stub;
+ &coding_files;
+ &compiling_and_running;
+ &struts_validation;
+ &relevant_resources;
+
+
+</book>
Added: trunk/struts/docs/struts_tools_tutorial/en-US/master_output.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/master_output.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/master_output.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,1394 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+
+[<!ENTITY introduction SYSTEM "modules/introduction.xml">
+<!ENTITY struts_application SYSTEM "modules/struts_application.xml">
+<!ENTITY generating_stub SYSTEM "modules/generating_stub.xml">
+<!ENTITY coding_files SYSTEM "modules/coding_files.xml">
+<!ENTITY compiling_and_running SYSTEM "modules/compiling_and_running.xml">
+<!ENTITY struts_validation SYSTEM "modules/struts_validation.xml">
+<!ENTITY relevant_resources SYSTEM "modules/relevant_resources.xml">
+
+<!ENTITY seamlink "../../seam/html_single/index.html">
+<!ENTITY aslink "../../as/html_single/index.html">
+<!ENTITY esblink "../../esb_ref_guide/html_single/index.html">
+<!ENTITY gsglink "../../GettingStartedGuide/html_single/index.html">
+<!ENTITY hibernatelink "../../hibernatetools/html_single/index.html">
+<!ENTITY jbpmlink "../../jbpm/html_single/index.html">
+<!ENTITY jsflink "../../jsf/html_single/index.html">
+<!ENTITY jsfreflink "../../jsf_tools_ref_guide/html_single/index.html">
+<!ENTITY jsftutoriallink "../../jsf_tools_tutorial/html_single/index.html">
+<!ENTITY strutsreflink "../../struts_tools_ref_guide/html_single/index.html">
+<!ENTITY strutstutoriallink "../../struts_tools_tutorial/html_single/index.html">
+
+]><book xmlns:diffmk="http://diffmk.sf.net/ns/diff">
+
+ <bookinfo>
+ <title>Struts Tools Tutorial</title>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/jbosstools_logo.png" format="PNG"></imagedata>
+ </imageobject>
+ <imageobject role="html">
+ <imagedata></imagedata>
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <author><firstname>Anatoly</firstname><surname>Fedosik</surname></author>
+ <author><firstname>Olga</firstname><surname>Chikvina</surname></author>
+ <author><firstname>Svetlana</firstname><surname>Mukhina</surname><email>smukhina(a)exadel.com</email></author>
+
+ <copyright>
+ <year>2007</year>
+ <year><diffmk:wrapper diffmk:change="added">2008</diffmk:wrapper></year>
+ <year diffmk:change="added">2009</year>
+ <year diffmk:change="added"><diffmk:wrapper diffmk:change="added">2010</diffmk:wrapper></year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo><diffmk:wrapper diffmk:change="changed">
+ Version: 3.1.0.CR2
+ </diffmk:wrapper></releaseinfo>
+
+<abstract>
+ <title></title>
+ <para>
+ <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/struts_tools_tutoria...">PDF version</ulink>
+ </para>
+</abstract>
+
+
+ </bookinfo>
+
+ <toc></toc>
+
+
+<chapter id="introduction" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/struts/docs/struts_tools_tutorial/en/modules/introduction.xml" xreflabel="introduction">
+ <?dbhtml filename="introduction.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Introduction</title>
+ <para>The following chapters describe how to deal with classic/old style of Struts development. We
+ recommend users to use <ulink url="../../seam/html_single/index.html">JBoss Seam</ulink> to
+ simplify development, but until then you can read about classical Struts usage here.</para>
+
+ <para>We are going to show you how to create a simple <emphasis>
+ <property moreinfo="none">Struts application</property>
+ </emphasis> using the JBoss Tools. The completed application will ask a user to enter
+ a name and click a button. The resulting new page will display the familiar message,
+ "Hello <name>!"</para>
+ <para>This document will show you how to create such an application from the beginning, along the
+ way demonstrating some of the powerful features of JBoss Tools. With the help of our tutorial you will design the
+ application, generate stub code for the application, fill in the stub coding, compile the
+ application, and finally run it all from inside the Eclipse.</para>
+
+ <section>
+ <title>Key Features Struts Tools</title>
+
+ <para>For a start, we propose you to look through the table of main features of Struts
+ Tools:</para>
+ <table>
+
+ <title>Key Functionality of Struts Tools</title>
+ <tgroup cols="2">
+
+ <colspec align="left" colnum="1" colwidth="2*"></colspec>
+ <colspec colnum="2" colwidth="4*"></colspec>
+
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><para>Struts Support</para></entry>
+ <entry><para>Step-by-step wizards for creating a new struts project with a number
+ of predefined templates, importing existing ones and adding struts
+ capabilities to non-struts web projects.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>Support for Struts Configuration File</para></entry>
+ <entry><para>Working on file using three modes: diagram, tree and source.
+ Synchronization between the modes and full control over the code. Easy
+ moving around the diagram using the Diagram Navigator. Working with
+ struts projects that have multiple modules. Possibility to use Struts
+ configuration file debugger allowing to set break points on struts
+ diagram and then launch the server in debug mode.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>Support for Struts modules</para></entry>
+ <entry><para>A Struts module (struts-config.xml) is automatically created while
+ creating a new project. There is also possibility to add new ones or edit
+ already existing modules in your existing project or while importing Struts project.</para></entry>
+
+ </row>
+
+ <row>
+ <entry><para>Verification and Validation</para></entry>
+ <entry><para>All occurring errors will be immediately reported by verification
+ feature, no matter in what view you are working. Constant validation and
+ errors checking allows to catch many of the errors during development
+ process that significantly reduces development time.</para></entry>
+
+
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+
+
+ <section>
+ <title>Other relevant resources on the topic</title>
+
+ <para>All JBoss Developer Studio/JBoss Tools release documentation you can find at<ulink url="http://docs.jboss.org/tools/">http://docs.jboss.org/tools</ulink> in the corresponding release directory.</para>
+ <para>The latest documentation builds are available at <ulink url="http://download.jboss.org/jbosstools/nightly-docs/">http://download.jboss.org/jbosstools/nightly-docs</ulink>.</para>
+
+ </section>
+
+</chapter>
+
+
+<chapter id="struts_application" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/struts/docs/struts_tools_tutorial/en/modules/struts_application.xml" xreflabel="struts_application">
+ <?dbhtml filename="struts_application.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Creating a Simple Struts Application</title>
+
+ <para>Firstly, we assume that you have already launched Eclipse with <property moreinfo="none">JBoss Tools</property> installed and
+ also that the <property moreinfo="none">Web Development perspective</property> is the current perspective. (If not, make it
+ active by selecting <emphasis>
+ <property moreinfo="none">Window > Open Perspective > Other > Web
+ Development</property>
+ </emphasis> from the menu bar.)</para>
+
+ <section id="StartingUp">
+ <title>Starting Up</title>
+ <para>We are first going to create a new project for the application.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Go to the menu bar and select <emphasis>
+ <property moreinfo="none">File > New > Struts Project</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Next enter "StrutsHello" as the project name</para>
+ </listitem>
+ <listitem>
+ <para>Leave everything else as it is, and click <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>If you have server runtime already defined, just pass to next point. Otherwise in the <emphasis>
+ <property moreinfo="none">Runtime</property></emphasis> section click the <emphasis>
+ <property moreinfo="none">New</property></emphasis> button and target at needed server runtime environment. Click <emphasis>
+ <property moreinfo="none">Finish</property>.</emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Make sure that <emphasis>
+ <property moreinfo="none">struts-bean.tld</property>
+ </emphasis>, <emphasis>
+ <property moreinfo="none">struts-html.tld</property>
+ </emphasis>, and <emphasis>
+ <property moreinfo="none">struts-logic.tld</property>
+ </emphasis> are checked in the list of included tag libraries and then hit <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>A "StrutsHello" node should appear in the <property moreinfo="none">Package
+ Explorer view</property>.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click the plus sign next to <emphasis>
+ <property moreinfo="none">StrutsHello</property>
+ </emphasis> to reveal the child nodes</para>
+ </listitem>
+ <listitem>
+ <para>Click the plus sign next to <emphasis>
+ <property moreinfo="none">WebContent</property>
+ </emphasis> under <emphasis>
+ <property moreinfo="none">StrutsHello</property></emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Click the plus sign next to <emphasis>
+ <property moreinfo="none">WEB-INF</property>
+ </emphasis> under <emphasis>
+ <property moreinfo="none">WebContent</property></emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Then, double-click on the <emphasis>
+ <property moreinfo="none">struts-config.xml</property>
+ </emphasis> node to display a diagram of the Struts application configuration
+ file in the editing area</para>
+ </listitem>
+ </itemizedlist>
+ <para>At this point, its empty except for the background grid lines.</para>
+ </section>
+
+ <section id="CreatingtheApplicationComponents">
+ <?dbhtml filename="CreatingtheApplicationComponents.html"?>
+ <title>Creating the Application Components</title>
+ <para>Now, we will design the application by creating the individual components as
+ placeholders first. (We don't have to complete all of the details inside the components
+ until afterwards.)</para>
+ <section id="CreatingJSPPagePlaceholders">
+ <title>Creating JSP Page Placeholders</title>
+ <para>Next, let's create and place two JSP pages. We will not write any code
+ for the files, but only create them as placeholders so that we can create links to
+ them in the diagram. We will write the code a little bit later.</para>
+ <section id="CreatingthePagePlaceholders">
+ <title>Creating the Page Placeholders</title>
+ <itemizedlist>
+ <listitem>
+ <para>Bring the <property moreinfo="none">Web Projects view</property> to the front of the <property moreinfo="none">Package Explorer view</property>
+ by selecting the <emphasis>
+ <property moreinfo="none">Web Projects</property>
+ </emphasis> tab next to that tab.</para>
+ </listitem>
+ <listitem>
+ <para>Right-click the <emphasis>
+ <property moreinfo="none">StrutsHello > WEB-ROOT (WebContent)</property>
+ </emphasis> folder in the <property moreinfo="none">Web Projects view</property> and select <emphasis>
+ <property moreinfo="none">New > Folder...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Enter <emphasis>
+ <property moreinfo="none">pages</property>
+ </emphasis> for a folder name and click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para>We will keep our presentation files in this folder</para>
+ </listitem>
+
+ <listitem>
+ <para>Right-click the <emphasis>
+ <property moreinfo="none">pages</property></emphasis> folder and select <emphasis>
+ <property moreinfo="none">New > File > JSP...</property>
+ </emphasis>
+ </para>
+ </listitem>
+ <listitem>
+ <para>For Name type in <emphasis>
+ <property moreinfo="none">inputname</property>
+ </emphasis> (the JSP extension will be automatically added to the file),
+ for Template select <emphasis>
+ <property moreinfo="none">StrutsForm</property>
+ </emphasis> and then click on the <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>Right-click the <emphasis>
+ <property moreinfo="none">pages</property></emphasis> folder again and select <emphasis>
+ <property moreinfo="none">New > File > JSP...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>For Name type in <emphasis>
+ <property moreinfo="none">greeting</property>
+ </emphasis>, for Template leave as <emphasis>
+ <property moreinfo="none">Blank</property>,</emphasis> and then click on the <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> button</para>
+ </listitem>
+ </itemizedlist>
+ <para>Just leave these files as is for now.</para>
+ </section>
+ <section id="PlacingthePagePlaceholders">
+ <title>Placing the Page Placeholders</title>
+ <para>Lets now place the two pages just created on the diagram.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">struts-config.xml</property>
+ </emphasis> tab in the editing area to bring the diagram to the
+ front</para>
+ </listitem>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">inputname.jsp</property>
+ </emphasis> page in the <property moreinfo="none">Web Projects view</property>, drag it onto the diagram, and
+ drop it</para>
+ </listitem>
+ <listitem><para>Click on the <emphasis>
+ <property moreinfo="none">greeting.jsp</property>
+ </emphasis> page in the <property moreinfo="none">Web Projects view</property>, drag it onto the diagram, and
+ drop it to the right of the <emphasis>
+ <property moreinfo="none">/pages/inputname.jsp</property>
+ </emphasis> icon with some extra space</para></listitem>
+ </itemizedlist>
+ <para>You should now have two JSP pages in the diagram.</para>
+ </section>
+ </section>
+ <section id="CreatinganActionMappings">
+ <title>Creating an Action Mappings</title>
+ <para>Using a context menu on the diagram, we are next going to create an Action
+ mapping.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right-click between the two icons and select <emphasis>
+ <property moreinfo="none">New > Action</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Enter the following values:</para>
+ </listitem>
+ </itemizedlist>
+ <table>
+ <title>Action values</title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>path</entry>
+ <entry>/greeting</entry>
+ </row>
+ <row>
+ <entry>name</entry>
+ <entry>GetNameForm</entry>
+ </row>
+ <row>
+ <entry>scope</entry>
+ <entry>request</entry>
+ </row>
+ <row>
+ <entry>type</entry>
+ <entry>sample.GreetingAction</entry>
+ </row>
+ <row>
+ <entry>validate</entry>
+ <entry><leave blank></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>("GetNameForm" is the name for a form bean that we will create
+ later.)</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>The <emphasis>
+ <property moreinfo="none">/greeting</property>
+ </emphasis> action should appear in four places, in the diagram, under the
+ <emphasis>
+ <property moreinfo="none">action-mappings</property></emphasis> node, under the <emphasis>
+ <property moreinfo="none">struts-config.xml</property></emphasis> node in Tree view, in <property moreinfo="none">Web Projects
+ view</property> and in the <property moreinfo="none">Outline view</property>. Also, note the asterisk to the right of the name,
+ <emphasis>
+ <property moreinfo="none">struts-config.xml</property>,</emphasis> in the <property moreinfo="none">Outline view</property> showing that the file has been changed, but
+ not saved to disk.</para>
+ </section>
+ <section id="CreatingaLink">
+ <title>Creating a Link</title>
+ <para>Let's now create a link from the <emphasis>
+ <property moreinfo="none">inputname.jsp</property></emphasis> page to the action.</para>
+ <itemizedlist>
+ <listitem>
+ <para>On the left-hand side of the diagram in the column of icons, click on the Create New Connection
+ icon( <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_1.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject>).</para>
+ </listitem>
+ </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para>In the connect-the-components mode you are in now, click on the <emphasis>
+ <property moreinfo="none">/pages/inputname.jsp</property>
+ </emphasis> icon in the diagram and then click on the <emphasis>
+ <property moreinfo="none">/greeting</property>
+ </emphasis> action</para>
+ </listitem>
+ </itemizedlist>
+ <para>A link will be created from the page to the action.</para>
+ </section>
+ <section id="CreatingaForward">
+ <title>Creating a Forward</title>
+ <para>Next, we are going to create a forward for the action.</para>
+ <itemizedlist>
+ <listitem>
+ <para>On the left-hand side of the diagram in the column of icons, click on
+ the Create New Connection
+ icon( <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_1.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject>), again.</para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">/greeting</property>
+ </emphasis> action icon in the diagram and then click on the <emphasis>
+ <property moreinfo="none">pages/greeting.jsp</property>
+ </emphasis> icon</para>
+ </listitem>
+ <listitem>
+ <para>That's it. A link will be drawn from the actions new greeting
+ forward to the <emphasis>
+ <property moreinfo="none">greeting.jsp</property></emphasis> JSP page. Note that the forwards name will be
+ set based on the name of the target JSP file name. If you don't
+ like it, you can easily change it</para>
+ </listitem>
+ <listitem>
+ <para>Select the <emphasis>
+ <property moreinfo="none">Tree</property>
+ </emphasis> tab at the bottom of the editor window (between Diagram and
+ Source)</para>
+ </listitem>
+ <listitem>
+ <para>Expand the <emphasis>
+ <property moreinfo="none">struts-config.xml/action-mappings/ /greeting</property>
+ </emphasis> node and then select the greeting forward</para>
+ </listitem>
+ <listitem>
+ <para>In the Properties Editor to the right, change the text to
+ "sayHello" in the <emphasis>
+ <property moreinfo="none">Name</property></emphasis> field</para>
+ </listitem>
+ <listitem>
+ <para>Select the <emphasis>
+ <property moreinfo="none">Diagram</property>
+ </emphasis> tab at the bottom of the editor window and see how the diagram
+ is also updated to reflect the change</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section id="CreatingaGlobalForward">
+ <title>Creating a Global Forward</title>
+ <para>One last component that we need to create in the diagram is a global forward.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Somewhere in the top-left corner of diagram, right-click and select <emphasis>
+ <property moreinfo="none">New > Global Forward</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Enter <emphasis>
+ <property moreinfo="none">getName</property>
+ </emphasis> in the <emphasis>
+ <property moreinfo="none">Name</property></emphasis> field</para>
+ </listitem>
+ <listitem>
+ <para>Select the <emphasis>
+ <property moreinfo="none">Change...</property>
+ </emphasis>button for Path</para>
+ </listitem>
+ <listitem>
+ <para>In the Edit Path window, switch to the <emphasis>
+ <property moreinfo="none">Pages</property>
+ </emphasis> tab</para>
+ </listitem>
+ <listitem>
+ <para>Expand the <emphasis>
+ <property moreinfo="none">StrutsHello > WEB-ROOT (WebContent) > pages</property>
+ </emphasis> node and then select the inputname.jsp page</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Ok</property>
+ </emphasis>.</para>
+ </listitem>
+ <listitem>
+ <para>Leave the rest of the fields blank and click <emphasis>
+ <property moreinfo="none">OK</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>A forward object now appears on the diagram and also in the global-forwards folder
+ in the Outline view.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Tidy up the diagram, by clicking and dragging around each icon, so that
+ the diagram looks something like this:</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Diagram View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="CreatingaFormBean">
+ <title>Creating a Form Bean</title>
+ <para>One last thing that we need to do is to create a form bean.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to the Tree viewer in the editor for the <emphasis>
+ <property moreinfo="none">struts-config.xml</property></emphasis> file, by
+ selecting the <emphasis>
+ <property moreinfo="none">Tree</property>
+ </emphasis> tab at the bottom of the editor window</para>
+ </listitem>
+ <listitem>
+ <para>Right-click <emphasis>
+ <property moreinfo="none">struts-config.xml > form-beans</property>
+ </emphasis> and select Create Form Bean</para>
+ </listitem>
+ <listitem>
+ <para>Enter <emphasis>
+ <property moreinfo="none">GetNameForm</property>
+ </emphasis> in the name field and <emphasis>
+ <property moreinfo="none">sample.GetNameForm</property>
+ </emphasis> for type</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>To save your changes to struts-config.xml, select <emphasis>
+ <property moreinfo="none">File > Save</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ <para>Note the disappearance of the asterisk next to the name, <emphasis>
+ <property moreinfo="none">struts-config.xml</property>.</emphasis></para>
+ </section>
+ </section>
+</chapter>
+
+<chapter id="generating_stub" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/struts/docs/struts_tools_tutorial/en/modules/generating_stub.xml" xreflabel="generating_stub">
+ <?dbhtml filename="generating_stub.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Generating Stub Coding</title>
+ <para>We are done with designing the application through the diagram. Now we need to write
+ code for the action component. We also need to write an action class for the <emphasis>
+ <property moreinfo="none">/greeting</property>
+ </emphasis> mapping along with a FormBean. To aid in the coding phase, JBoss Developer
+ Studio can generate Java class stubs for all of the components shown in the diagram.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch back to the diagram, by selecting the <emphasis>
+ <property moreinfo="none">Diagram</property>
+ </emphasis> tab at the bottom of the editor window</para>
+ </listitem>
+ <listitem>
+ <para>Right-click a blank space in the diagram and select <emphasis>
+ <property moreinfo="none">Generate Java Code</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Leave everything as is in the dialog box and click <emphasis>
+ <property moreinfo="none">Generate</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>You should see a screen that says:</para>
+ <para>Generated classes: 2</para>
+ <para>Actions: 1</para>
+ <para>Form beans: 1</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>The Java files will be generated in a <emphasis>
+ <property moreinfo="none">JavaSource > sample</property>
+ </emphasis> folder that you can see in the <property moreinfo="none">Package Explorer view</property> under the
+ "StrutsHello" node. One Action stub and one FormBean stub will have
+ been generated.</para>
+ </chapter>
+
+<chapter id="coding_files" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/struts/docs/struts_tools_tutorial/en/modules/coding_files.xml" xreflabel="coding_files">
+ <?dbhtml filename="coding_files.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Coding the Various Files</title>
+ <para>We will now code both the Java stub classes just generated, the JSP files left in as
+ placeholders from previous steps, and a new start JSP page we will have to create.</para>
+ <section id="JavaStubClasses">
+ <title>Java Stub Classes</title>
+ <itemizedlist>
+ <listitem>
+ <para>To finish the two Java classes, switch to the <emphasis>
+ <property moreinfo="none">Package Explorer</property>
+ </emphasis> view and expand the <emphasis>
+ <property moreinfo="none">JavaSource > sample</property>
+ </emphasis> folder</para>
+ </listitem>
+ </itemizedlist>
+ <section id="GetNameForm.java">
+ <title>GetNameForm.java</title>
+ <itemizedlist>
+ <listitem>
+ <para>Double-click <emphasis>
+ <property moreinfo="none">GetNameForm.java</property>
+ </emphasis> for editing</para>
+ </listitem>
+
+ <listitem>
+ <para>You are looking at a Java stub class that was generated by JBoss
+ Tools. Now we are going to edit the file</para>
+ </listitem>
+
+ <listitem>
+ <para>Add the following attributes at the beginning of the class:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[private String name = "";
+]]></programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Inside the reset method, delete the TO DO and throw lines and
+ add:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[this.name = "";
+]]></programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Inside the validate method, delete the TO DO and throw lines and
+ add:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[ActionErrors errors = new ActionErrors();
+ return errors;
+]]></programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Right-click and select <emphasis>
+ <property moreinfo="none">Source > Generate Getters and Setters</property>
+ </emphasis>from the context menu</para>
+ </listitem>
+ <listitem>
+ <para>In the dialog box, check the check box for <emphasis>
+ <property moreinfo="none">name</property>,</emphasis>
+ select First method for Insertion point, and click on the <emphasis>
+ <property moreinfo="none">OK</property>
+ </emphasis> button</para>
+ </listitem>
+ </itemizedlist>
+ <para>The final <emphasis>
+ <property moreinfo="none">GetNameForm.java</property></emphasis> file should look like this:</para>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[package sample;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionMapping;
+
+public class GetNameForm extends org.apache.struts.action.ActionForm
+{
+
+ private String name = "";
+
+ public String getName()
+ {
+ return name;
+ }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public GetNameForm()
+ {
+ }
+
+ public void reset(ActionMapping actionMapping, HttpServletRequest request)
+ {
+ this.name = "";
+ }
+
+ public ActionErrors validate(ActionMapping actionMapping,
+ HttpServletRequest request)
+ {
+ ActionErrors errors = new ActionErrors();
+ return errors;
+ }
+}
+]]></programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Save the file</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section id="GreetingAction.java">
+ <title>GreetingAction.java</title>
+ <itemizedlist>
+ <listitem>
+ <para>Open <emphasis>
+ <property moreinfo="none">GreetingAction.java</property></emphasis> for editing</para>
+ </listitem>
+ <listitem>
+ <para>Inside the execute method, delete the TO DO lines and add the
+ following:</para>
+ </listitem>
+ </itemizedlist>
+
+ <programlisting format="linespecific" role="JAVA"><![CDATA[String name = ((GetNameForm)form).getName();
+String greeting = "Hello, "+name+"!";
+((GetNameForm)form).setName(greeting);
+return mapping.findForward(FORWARD_sayHello);
+]]></programlisting>
+
+ <para>The final version of <emphasis>
+ <property moreinfo="none">GreetingAction.java</property></emphasis> should look like this:</para>
+
+ <programlisting format="linespecific" role="JAVA"><![CDATA[package sample;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+
+public class GreetingAction extends org.apache.struts.action.Action
+{
+
+ // Global Forwards
+ public static final String GLOBAL_FORWARD_getName = "getName";
+
+ // Local Forwards
+ public static final String FORWARD_sayHello = "sayHello";
+
+ public GreetingAction()
+ {
+ }
+ public ActionForward execute(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response) throws Exception
+ {
+ String name = ((GetNameForm)form).getName();
+ String greeting = "Hello, "+name+"!";
+ ((GetNameForm)form).setName(greeting);
+ return mapping.findForward(FORWARD_sayHello);
+ }
+}
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Save the file</para>
+ </listitem>
+ <listitem>
+ <para>Close the editors for the two Java files</para>
+ </listitem>
+ </itemizedlist>
+ <para>The last thing left to do is to code the JSP files whose editors should still
+ be open from having been created as placeholders.</para>
+ </section>
+ </section>
+ <section id="JSPPages">
+ <title>JSP Pages</title>
+ <section id="inputname.jsp">
+ <title>inputname.jsp</title>
+ <para>In this page, the user will enter any name and click the <emphasis>
+ <property moreinfo="none">submit</property>
+ </emphasis> button. Then, the greeting action will be called through the form.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">inputname.jsp</property>
+ </emphasis> tab in the Editing area to bring its editor forward</para>
+ </listitem>
+ <listitem>
+ <para>In the Web Projects view, expand <emphasis>
+ <property moreinfo="none">StrutsHello > Configuration > default
+ > struts-config.xml > action-mappings</property>
+ </emphasis> and select <emphasis>
+ <property moreinfo="none">/greeting</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Drag it and drop it between the quotes for the <emphasis role="italic">
+ <property moreinfo="none">"action"</property>
+ </emphasis> attribute to the
+ <code><html:form></code>
+ element in the Source pane of the editor</para>
+ </listitem>
+ <listitem>
+ <para>Then type this text on a new line just below this line:</para>
+ <programlisting format="linespecific" role="XML"><![CDATA[Input name:
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Select the <emphasis>
+ <property moreinfo="none">Visual</property>
+ </emphasis> pane of the editor</para>
+ </listitem>
+ <listitem>
+ <para>Then, in the JBoss Tools Palette, expand the <emphasis>
+ <property moreinfo="none">Struts Form</property>
+ </emphasis> library, select <emphasis>
+ <property moreinfo="none">text</property>
+ </emphasis>, and drag it onto the box
+ <note>
+ <title>Note:</title>
+ <para>By default there are only four groups on the JBoss Tools
+ Palette. If you wish to make some group visible click the <emphasis>
+ <property moreinfo="none">Show/Hide</property>
+ </emphasis> button on the top of palette and in the prompted
+ dialog check the group (or groups) you want to be shown.</para>
+ </note>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>JBoss Tools Palette</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>In the Insert Tag dialog box, type in name for property and select <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In the StrutsForm library in the <property moreinfo="none">JBoss Tools Palette</property>, select <emphasis>
+ <property moreinfo="none">submit</property>
+ </emphasis>, and drag it to right after the text box in the Visual pane
+ of the editor</para>
+ </listitem>
+ <listitem>
+ <para>Right-click the <emphasis>
+ <property moreinfo="none">submit</property>
+ </emphasis> button and select
+ <code><html:submit></code>
+ Attributes from the context menu</para>
+ </listitem>
+ <listitem>
+ <para>In the Attributes dialog box, select the <emphasis>
+ <property moreinfo="none">value</property>
+ </emphasis> field and type in "Say Hello!" for its
+ value</para>
+ </listitem>
+ </itemizedlist>
+ <para>After tidying the page source, the Editor window for the file should look
+ something like this:</para>
+ <figure float="0">
+ <title>Editor Window</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="greeting.jsp">
+ <title>greeting.jsp</title>
+ <para>Next, we will fill in the result page.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">greeting.jsp</property>
+ </emphasis> tab in the Editing area to bring its editor forward</para>
+ </listitem>
+ <listitem>
+ <para>Type in the following code:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting format="linespecific" role="XML"><![CDATA[<html>
+<head>
+ <title>Greeting</title>
+</head>
+ <body>
+ <p>
+ </p>
+ </body>
+</html>
+]]></programlisting>
+
+ <para>To complete editing of this file, we will use macros from the <property moreinfo="none">JBoss Tools
+ Palette</property>. This palette is a view that should be available to the right of the
+ editing area.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">Struts Common</property>
+ </emphasis> folder in the <property moreinfo="none">JBoss Tools Palette</property> to open it</para>
+ </listitem>
+ <listitem>
+ <para>Position the cursor at the beginning of the <emphasis>
+ <property moreinfo="none">greeting.jsp</property></emphasis> file in the
+ Source pane and then click on <emphasis>
+ <property moreinfo="none">bean taglib</property></emphasis> in the <property moreinfo="none">JBoss Tools
+ Palette</property></para>
+ </listitem>
+ </itemizedlist>
+ <para>This will insert the following line at the top of the file:</para>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[
+<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">Struts Bean</property>
+ </emphasis> folder in the <property moreinfo="none">JBoss Tools Palette</property> to open it</para>
+ </listitem>
+ <listitem>
+ <para>Position the cursor inside the
+ <code><p></code>
+ element</para>
+ </listitem>
+ <listitem>
+ <para>Click on <emphasis>
+ <property moreinfo="none">write</property></emphasis> in the <property moreinfo="none">JBoss Tools Palette</property></para>
+ </listitem>
+ <listitem>
+ <para>Type in "GetNameForm" for the <emphasis role="italic">
+ <property moreinfo="none">name</property>
+ </emphasis> attribute and add a <emphasis role="italic">
+ <property moreinfo="none">property</property>
+ </emphasis> attribute with "name" as its
+ value</para>
+ </listitem>
+ </itemizedlist>
+ <para>The editor should now look like this:</para>
+ <figure float="0">
+ <title>Editor Window</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="index.jsp">
+ <title>index.jsp</title>
+ <para>Finally, we will need to create and edit an <emphasis>
+ <property moreinfo="none">index.jsp</property></emphasis> page. This page will use
+ a Struts forward to simply redirect us to the getName global forward.</para>
+ <itemizedlist>
+ <listitem>
+ <para>In the Web Projects view, right-click on <emphasis>
+ <property moreinfo="none">StrutsHello > WEB-ROOT(WebContent)</property>
+ </emphasis> node and select <emphasis>
+ <property moreinfo="none">New > File > JSP</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property moreinfo="none">index</property></emphasis> for Name and click on the <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>On the <property moreinfo="none">JBoss Tools Palette</property>, select the <emphasis>
+ <property moreinfo="none">Struts Common</property>
+ </emphasis> folder of macros by clicking on it in the palette</para>
+ </listitem>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">logic taglib</property></emphasis> icon</para>
+ </listitem>
+ <listitem>
+ <para>Press the <emphasis>
+ <property moreinfo="none">Enter</property>
+ </emphasis> key in the editor to go to the next line</para>
+ </listitem>
+ <listitem>
+ <para>Back on the palette, select the <emphasis>
+ <property moreinfo="none">Struts Logic</property>
+ </emphasis> folder of macros</para>
+ </listitem>
+ <listitem>
+ <para>Click on <emphasis>
+ <property moreinfo="none">redirect</property></emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Delete the ending tag, put a forward slash in front of the closing
+ angle bracket, and type "forward=getName" in front of
+ the slash</para>
+ </listitem>
+ </itemizedlist>
+ <para>The finished code for the page is shown below:</para>
+ <programlisting format="linespecific" role="JAVA"><![CDATA[<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
+<logic:redirect forward="getName"/>
+]]></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>To save all the edits to files, select <emphasis>
+ <property moreinfo="none">File>Save All</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ </section>
+ </chapter>
+
+<chapter id="compiling_and_running" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/struts/docs/struts_tools_tutorial/en/modules/compiling_and_running.xml" xreflabel="compiling_and_running">
+ <?dbhtml filename="compiling_and_running.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Compiling the Classes and Running the Application</title>
+
+ <para>As this is the Eclipse environment, no explicit compilation step is required. By
+ default, Eclipse compiles as you go.</para>
+
+ <para>Thus at this point everything is ready for running our application without having to leave JBoss
+ Developer Studio by using the JBoss Application Server engine that comes with the JBoss
+ Developer Studio. For controlling JBoss AS within JBoss Developer Studio, there is JBoss
+ Server view.</para>
+ <figure float="0">
+ <title>JBoss Server Panel</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Start up JBoss AS by clicking on the icon in JBoss Server view. (If JBoss AS
+ is already running, stop it by clicking on the red icon and then start it again.
+ Remember, the Struts run-time requires restarting the servlet engine when any
+ changes have been made.)</para>
+ </listitem>
+ <listitem>
+ <para>After the messages in the Console tabbed view stop scrolling, JBoss AS is
+ available. At this point, right-click on the getName global forward in the
+ struts-config.xml diagram view and select Run on Server.</para>
+ </listitem>
+ </itemizedlist>
+ <para>The browser should appear with the application started.</para>
+ </chapter>
+
+<chapter id="struts_validation" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/struts/docs/struts_tools_tutorial/en/modules/struts_validation.xml" xreflabel="struts_validation">
+ <?dbhtml filename="struts_validation.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Validation</keyword>
+ </keywordset>
+ </chapterinfo>
+<title>Struts Validation Examples</title>
+
+<para><property moreinfo="none">Validation</property> of input is an important part of any Web application. All Apache Jakarta frameworks,
+including Struts, can use a common Jakarta Validation Framework for streamlining this aspect of Web
+application development. The Validation Framework allows you to define validation rules and then apply these rules on the client-side or the server-side.</para>
+
+ <para>JBoss Developer Studio makes using the <property moreinfo="none">Validation Framework</property> in Struts even easier with the help of a specialized editor for the XML files that controls validation in a project. In this document, we'll show you how this all works by creating some simple client-side validation and server-side validation examples.</para>
+
+<section id="StartingPoint">
+<?dbhtml filename="StartingPoint.html"?>
+<title>Starting Point</title>
+<para>The example assumes that you have already created our sample "StrutsHello" application from the
+Getting Started Guide for Creating a Struts Application. You should have the JBoss Developer Studio perspective
+ open on this StrutsHello project.</para>
+</section>
+
+<section id="DefiningTheValidationRule">
+<?dbhtml filename="DefiningTheValidationRule.html"?>
+<title>Defining the Validation Rule</title>
+<para>In these steps you will set up the validation that can be used for either client-side or
+server side validation. You need to enable validation as a part of the project, define an error message, and tie it into an appropriate part of the application.</para>
+
+<itemizedlist>
+<listitem><para>Right-click on a "plug-ins" node under the <emphasis><property moreinfo="none">StrutsHello > Configuration > default > struts-config.xml</property></emphasis> node in the Web Projects view and select <emphasis><property moreinfo="none">Create Special Plugin > Validators</property></emphasis> from the context menu</para></listitem>
+<listitem><para>Further down in the Web Projects view, right-click on the
+<emphasis><property moreinfo="none">StrutsHello > ResourceBundles</property></emphasis> node and select <emphasis><property moreinfo="none"> New > Properties File...</property></emphasis>from the context menu</para></listitem>
+<listitem><para>In the dialog box, click on the <emphasis><property moreinfo="none">Browse...</property></emphasis>button next to the Folder field, expand the
+ JavaSource folder in this next dialog box, select the sample subfolder, and click on the <emphasis><property moreinfo="none">OK</property></emphasis> button</para></listitem>
+ <listitem><para>Back in the first dialog box, type in "applResources" for the Name field and click on the <emphasis><property moreinfo="none">Finish</property></emphasis> button</para></listitem>
+<listitem><para>Right-click on a newly created file and select <emphasis><property moreinfo="none">Add > Default Error Messages</property></emphasis>
+ from the context menu</para></listitem>
+
+<listitem><para>Drag up the sample.applResources icon until you can drop it on the resources folder under struts-config.xml</para></listitem>
+<listitem><para>Select<emphasis><property moreinfo="none"> File > Save </property></emphasis>All from the menu bar</para></listitem>
+<listitem><para>Select validation.xml under the <emphasis><property moreinfo="none">StrutsHello > Validation</property></emphasis> node and double-click it to open it with the JBoss Tools XML Editor</para></listitem>
+<listitem><para>Here you must create a Formset.</para></listitem>
+<listitem><para>In the validation.xml file editor click the button <emphasis><property moreinfo="none">Create Formset</property></emphasis> on the panel <emphasis><property moreinfo="none">Formsets</property></emphasis></para></listitem>
+<listitem><para>In the dialog <emphasis><property moreinfo="none">Add Formset</property></emphasis> fill the fields <emphasis><property moreinfo="none">Language</property></emphasis> and <emphasis><property moreinfo="none">Country</property></emphasis> or just leave them empty to create a default formset. Click <emphasis><property moreinfo="none">OK</property></emphasis></para></listitem>
+</itemizedlist>
+<figure float="0">
+ <title>Create Formset</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_validation/struts_validation.png"></imagedata>
+ </imageobject>
+</mediaobject>
+</figure>
+<itemizedlist>
+<listitem><para>Expand the "form-beans" node under the <emphasis><property moreinfo="none">StrutsHello > Configuration > default > struts-config.xml node.</property></emphasis> Then, drag the form bean "GetNameForm" and drop it onto a formset in the <property moreinfo="none">XML</property> Editor</para></listitem>
+<listitem><para>In the Validation Editor, expand the formset node, right-click GetNameForm, and select <emphasis><property moreinfo="none">Create Field...</property></emphasis> from the context menu</para></listitem>
+<listitem><para>Enter a name for Property in the dialog box. A new property will be created:</para></listitem>
+</itemizedlist>
+<figure float="0">
+ <title>New Property Is Added</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_validation/struts_validation_2.png"></imagedata>
+ </imageobject>
+</mediaobject>
+</figure>
+<itemizedlist>
+<listitem><para>In the Properties view for the name field to the right of the "tree" for the validation.xml file, click on the <emphasis><property moreinfo="none">Change...</property></emphasis>button next to the Depends entry field</para></listitem>
+<listitem><para>In the displayed double list, select <emphasis><property moreinfo="none">required</property></emphasis> from the left list and then click <emphasis><property moreinfo="none">Add</property></emphasis></para></listitem>
+ <listitem><para>Click <emphasis><property moreinfo="none">Ok</property></emphasis></para></listitem>
+<listitem><para>Right-click name and select <emphasis><property moreinfo="none">Add Arg...</property></emphasis> from the context menu</para></listitem>
+<listitem><para>In the Add Arg dialog box, click on the <emphasis><property moreinfo="none">Change...</property></emphasis>button next to the <emphasis><property moreinfo="none">Key</property></emphasis> field</para></listitem>
+ <listitem><para>In the Key dialog box that appears now, click on the <emphasis><property moreinfo="none">Add</property></emphasis> button</para></listitem>
+ <listitem><para>Enter "name.required" in the Name field, and enter a person's name in the Value field</para></listitem>
+ <listitem><para>Click <emphasis><property moreinfo="none">Finish</property></emphasis>, then <emphasis><property moreinfo="none">Ok</property></emphasis>, and then <emphasis><property moreinfo="none">Ok</property></emphasis> again</para></listitem>
+<listitem><para>Select <emphasis><property moreinfo="none">File > Save All</property></emphasis> from the menu bar</para></listitem>
+</itemizedlist>
+</section>
+
+<section id="Client-SideValidation">
+<?dbhtml filename="Client-SideValidation.html"?>
+<title>Client-Side Validation</title>
+<para>Client-side <property moreinfo="none">validation</property> uses a scripting language (like JavaScript) running in the client browser to actually do the <property moreinfo="none">validation</property>. In a Struts application using the <property moreinfo="none">Validation</property> Framework, however, you don't actually have to do any of the script coding. The <property moreinfo="none">Validation</property> Framework handles this.</para>
+<para>To see how this works in our application, you'll just need to make a couple of modifications to one of the JSP files.</para>
+<itemizedlist>
+<listitem><para>Double-click inputname.jsp under <emphasis><property moreinfo="none">StrutsHello > WEB-ROOT(WebContent) > pages</property></emphasis> to open it for editing</para></listitem>
+<listitem><para>Find the tag near the top and hit Return to make a new line under it</para></listitem>
+ <listitem><para>In the JBoss Tools Palette view to the right, open the Struts HTML folder and click on the javascript tag</para></listitem>
+<listitem><para>Back in the editor, just in front of the closing slash for this inserted tag, hit Ctrl+Space and select "formName" from the prompting menu</para></listitem>
+<listitem><para>Over in the Web Projects view, select GetNameForm under the <emphasis><property moreinfo="none">StrutsHello > Configuration > default > struts-config.xml > form-beans</property></emphasis> node, drag it, and drop it between the quotes in the editor</para></listitem>
+<listitem><para>Modify the <code><html:form></code> tag by inserting this attribute:</para></listitem>
+</itemizedlist>
+<programlisting format="linespecific" role="XML"><![CDATA[onsubmit="return validateGetNameForm(this)"
+]]></programlisting>
+<para></para>
+<para>The file should now look like this:</para>
+<programlisting format="linespecific" role="XML"><![CDATA[
+<%@ taglib uri="/WEB-INF/struts-html" prefix="html" %>
+
+<html:html >
+ <head>
+ <html:javascript formName="GetNameForm"/>
+ <title></title>
+ </head>
+ <body>
+ <html:form action="/greeting.do" onsubmit="return validateGetNameForm(this)">
+ Input name:<html:text property="name"/><html:submit value="Say Hello!"/>
+ </html:form>
+ </body>
+</html:html>
+]]></programlisting>
+<itemizedlist>
+<listitem><para>Select<emphasis><property moreinfo="none"> File > Save </property></emphasis>from the menu bar</para></listitem>
+<listitem><para>Start JBoss Application Server by clicking on its icon (a right-pointing arrow) in the toolbar</para></listitem>
+ <listitem><para>Click the Run icon(<inlinemediaobject> <imageobject>
+ <imagedata fileref="images/struts_validation/struts_validation_1.png"></imagedata>
+ </imageobject></inlinemediaobject>) or right click your project folder and select <emphasis><property moreinfo="none">Run As > Run on Server</property></emphasis></para></listitem>
+</itemizedlist>
+
+<itemizedlist><listitem><para>In the browser window, click on the "Say Hello!" button without having entered any name in the form</para></listitem></itemizedlist>
+<para>A JavaScript error message should be displayed in an alert box.</para>
+</section>
+<section id="Server-SideValidation">
+<?dbhtml filename="Server-SideValidation.html"?>
+<title>Server Side Validation</title>
+<para>Server side validation does the validation inside the application on the server. In a Struts application using the Validation Framework, you still don't have to do any of the actual validation coding. The Validation Framework handles this. You will though have to make a few changes to the JSP file you modified for client-side validation along with a change to an action and a few changes to the form bean class.</para>
+</section>
+
+<section id="EditingTheJSPFile">
+<?dbhtml filename="EditingTheJSPFile.html"?>
+<title>Editing the JSP File</title>
+<itemizedlist>
+<listitem><para>Reopen inputname.jsp for editing</para></listitem>
+<listitem><para>Delete the <emphasis role="italic"><property moreinfo="none">"onsubmit"</property></emphasis> attribute in the <code><html:form></code> element that you put in for client-side validation</para></listitem>
+
+<listitem><para>Add an <code><html:errors/></code> tag after the
+ <code><html:form></code>
+ tag</para></listitem>
+</itemizedlist>
+<para>The JSP file should now look like this:</para>
+
+ <programlisting format="linespecific" role="XML"><![CDATA[<%@ taglib uri="/WEB-INF/struts-html" prefix="html" %>
+<html:html >
+<head>
+ <html:javascript formName="GetNameForm"/>
+ <title></title>
+ </head>
+ <body>
+ <html:form action="/greeting.do" >Input name:<html:text property="name"/>
+ <html:submit value="Say Hello!"/>
+ </html:form>
+ <html:errors/>
+ </body>
+</html:html>
+]]></programlisting>
+
+</section>
+
+<section id="EditingTheAction">
+<?dbhtml filename="EditingTheAction.html"?>
+<title>Editing the Action</title>
+<itemizedlist>
+<listitem><para>In the Web Projects view, expand the node under the <emphasis><property moreinfo="none">StrutsHello > Configuration > default > struts-config.xml > action-mappings</property></emphasis> node, right-click the <emphasis><property moreinfo="none">/greeting</property></emphasis> action, and then select <emphasis><property moreinfo="none">Properties...</property></emphasis>from the context menu</para></listitem>
+
+ <listitem><para>In the Edit Properties window, insert the cursor into the value column for the input property and click on the <property moreinfo="none">...</property> button</para></listitem>
+
+ <listitem><para>In the dialog box, make sure the Pages tab is selected, select <emphasis><property moreinfo="none">StrutsHello > WEB-ROOT(WebContent) > pages > inputname.jsp</property></emphasis>, click the <emphasis><property moreinfo="none">Ok</property></emphasis> button, and then click on the <emphasis><property moreinfo="none">Close</property></emphasis> button</para></listitem>
+</itemizedlist>
+</section>
+<section id="EditingTheFormBean">
+<?dbhtml filename="EditingTheFormBean.html"?>
+
+<title>Editing the Form Bean</title>
+<itemizedlist>
+<listitem><para>Right-click the <emphasis><property moreinfo="none">/greeting</property></emphasis> action again and select Open Form-bean Source to open the GetNameForm.java file for editing</para></listitem>
+<listitem><para>Change the class that it extends from: <emphasis><property moreinfo="none">org.apache.struts.action.ActionForm</property></emphasis> to <emphasis><property moreinfo="none">org.apache.struts.validator.ValidatorForm</property></emphasis></para></listitem>
+<listitem><para>Comment out a validate method</para></listitem>
+</itemizedlist>
+<para>The file should now look like this:</para>
+<programlisting format="linespecific" role="JAVA"><![CDATA[package sample;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionMapping;
+public class GetNameForm extends
+
+org.apache.struts.validator.ValidatorForm
+{
+
+ private String name = "";
+
+ /**
+ * @return Returns the name.
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @param name The name to set.
+ */
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public GetNameForm ()
+ {
+ }
+
+ public void reset(ActionMapping actionMapping,
+ HttpServletRequest request)
+ {
+ this.name = "";
+ }
+
+ // public ActionErrors validate(ActionMapping actionMapping,
+ // HttpServletRequest request)
+ //{
+ // ActionErrors errors = new ActionErrors();
+ // return errors;
+ // }
+ }
+]]></programlisting>
+
+<itemizedlist>
+<listitem><para>Select <emphasis><property moreinfo="none">File > Save All </property></emphasis>from the menu bar</para></listitem>
+<listitem><para>Reload the application into JBoss AS by clicking on the "Change Time Stamp" icon (a finger pointing with a little star) in the toolbar</para></listitem>
+<listitem><para>Run the application</para></listitem>
+<listitem><para>In the browser window, click on the "Say Hello!" button without having entered any name in the form</para></listitem>
+</itemizedlist>
+<para>The error message should appear in a refreshed version of the form.</para>
+</section>
+
+</chapter>
+
+<chapter id="relevant_resources" xml:base="file:///home/vchukhutsina/repos/ochik_jboss/struts/docs/struts_tools_tutorial/en/modules/relevant_resources.xml" xreflabel="relevant_resources">
+ <?dbhtml filename="relevant_resources.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Other Relevant Resources on the topic</title>
+
+ <para>Our reference: <ulink url="../../struts_tools_ref_guide/html_single/index.html">Struts Tools Reference Guide</ulink></para>
+ <para>Apache Struts: <ulink url="http://struts.apache.org/">Struts Technology</ulink></para>
+ <para>Struts 2: <ulink url="http://struts.apache.org/2.x/">Apache Struts 2</ulink></para>
+ <para>Get Started: <ulink url="http://struts.apache.org/2.x/docs/home.html">Struts Getting
+ Started</ulink></para>
+ <para>Struts on IBM: <ulink url="http://www.ibm.com/developerworks/library/j-struts/">Struts -
+ An open-source MVC implementation</ulink></para>
+ <para>FAQ: <ulink url="http://struts.apache.org/2.x/docs/faqs.html">Struts FAQ</ulink></para>
+ <para>Download: <ulink url="http://struts.apache.org/download.cgi#struts206">Release of Apache
+ Struts</ulink></para>
+
+ <para>Thus, this tutorial should help you to execute the hole development circle for building a
+ sample Struts-based Web application using <property moreinfo="none">JBoss Tools</property> bundle of Eclipse
+ plugins starting from organizing a new Struts project and ending with the running and
+ deploying it onto the <property moreinfo="none">JBoss Server</property>.</para>
+
+ <para>To find out all the features of <property moreinfo="none">JBoss Tools</property> for working with Struts
+ refer to our <ulink url="../../struts_tools_ref_guide/html_single/index.html">Struts Tools Reference Guide</ulink>. If you
+ still have questions you are always welcome on
+ <ulink url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201">JBoss
+ Tools Forum</ulink>.</para>
+</chapter>
+
+
+
+</book>
Added: trunk/struts/docs/struts_tools_tutorial/en-US/relevant_resources.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/relevant_resources.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/relevant_resources.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="relevant_resources" xreflabel="relevant_resources">
+ <?dbhtml filename="relevant_resources.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Other Relevant Resources on the topic</title>
+
+ <para>Our reference: Struts Tools Reference Guide</para>
+ <para>Apache Struts: <ulink url="http://struts.apache.org/">Struts Technology</ulink></para>
+ <para>Struts 2: <ulink url="http://struts.apache.org/2.x/">Apache Struts 2</ulink></para>
+ <para>Get Started: <ulink url="http://struts.apache.org/2.x/docs/home.html">Struts Getting
+ Started</ulink></para>
+ <para>Struts on IBM: <ulink url="http://www.ibm.com/developerworks/library/j-struts/">Struts -
+ An open-source MVC implementation</ulink></para>
+ <para>FAQ: <ulink url="http://struts.apache.org/2.x/docs/faqs.html">Struts FAQ</ulink></para>
+ <para>Download: <ulink url="http://struts.apache.org/download.cgi#struts206">Release of Apache
+ Struts</ulink></para>
+
+ <para>Thus, this tutorial should help you to execute the hole development circle for building a
+ sample Struts-based Web application using <property>JBoss Tools</property> bundle of Eclipse
+ plugins starting from organizing a new Struts project and ending with the running and
+ deploying it onto the <property>JBoss Server</property>.</para>
+
+ <para>To find out all the features of <property>JBoss Tools</property> for working with Struts
+ refer to our Struts Tools Reference Guide. If you
+ still have questions you are always welcome on <ulink
+ url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201">JBoss
+ Tools Forum</ulink>.</para>
+</chapter>
Added: trunk/struts/docs/struts_tools_tutorial/en-US/struts_application.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/struts_application.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/struts_application.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,427 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="struts_application" xreflabel="struts_application">
+ <?dbhtml filename="struts_application.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Application</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Creating a Simple Struts Application</title>
+
+ <para>Firstly, we assume that you have already launched Eclipse with <property>JBoss Tools</property> installed and
+ also that the <property>Web Development perspective</property> is the current perspective. (If not, make it
+ active by selecting <emphasis>
+ <property>Window > Open Perspective > Other > Web
+ Development</property>
+ </emphasis> from the menu bar.)</para>
+
+ <section id="StartingUp">
+ <title>Starting Up</title>
+ <para>We are first going to create a new project for the application.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Go to the menu bar and select <emphasis>
+ <property>File > New > Struts Project</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Next enter "StrutsHello" as the project name</para>
+ </listitem>
+ <listitem>
+ <para>Leave everything else as it is, and click <emphasis>
+ <property>Next</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>If you have server runtime already defined, just pass to next point. Otherwise in the <emphasis>
+ <property>Runtime</property></emphasis> section click the <emphasis>
+ <property>New</property></emphasis> button and target at needed server runtime environment. Click <emphasis>
+ <property>Finish</property>.</emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Next</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Make sure that <emphasis>
+ <property>struts-bean.tld</property>
+ </emphasis>, <emphasis>
+ <property>struts-html.tld</property>
+ </emphasis>, and <emphasis>
+ <property>struts-logic.tld</property>
+ </emphasis> are checked in the list of included tag libraries and then hit <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>A "StrutsHello" node should appear in the <property>Package
+ Explorer view</property>.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click the plus sign next to <emphasis>
+ <property>StrutsHello</property>
+ </emphasis> to reveal the child nodes</para>
+ </listitem>
+ <listitem>
+ <para>Click the plus sign next to <emphasis>
+ <property>WebContent</property>
+ </emphasis> under <emphasis>
+ <property>StrutsHello</property></emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Click the plus sign next to <emphasis>
+ <property>WEB-INF</property>
+ </emphasis> under <emphasis>
+ <property>WebContent</property></emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Then, double-click on the <emphasis>
+ <property>struts-config.xml</property>
+ </emphasis> node to display a diagram of the Struts application configuration
+ file in the editing area</para>
+ </listitem>
+ </itemizedlist>
+ <para>At this point, its empty except for the background grid lines.</para>
+ </section>
+
+ <section id="CreatingtheApplicationComponents">
+ <?dbhtml filename="CreatingtheApplicationComponents.html"?>
+ <title>Creating the Application Components</title>
+ <para>Now, we will design the application by creating the individual components as
+ placeholders first. (We don't have to complete all of the details inside the components
+ until afterwards.)</para>
+ <section id="CreatingJSPPagePlaceholders">
+ <title>Creating JSP Page Placeholders</title>
+ <para>Next, let's create and place two JSP pages. We will not write any code
+ for the files, but only create them as placeholders so that we can create links to
+ them in the diagram. We will write the code a little bit later.</para>
+ <section id="CreatingthePagePlaceholders">
+ <title>Creating the Page Placeholders</title>
+ <itemizedlist>
+ <listitem>
+ <para>Bring the <property>Web Projects view</property> to the front of the <property>Package Explorer view</property>
+ by selecting the <emphasis>
+ <property>Web Projects</property>
+ </emphasis> tab next to that tab.</para>
+ </listitem>
+ <listitem>
+ <para>Right-click the <emphasis>
+ <property>StrutsHello > WEB-ROOT (WebContent)</property>
+ </emphasis> folder in the <property>Web Projects view</property> and select <emphasis>
+ <property>New > Folder...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Enter <emphasis>
+ <property>pages</property>
+ </emphasis> for a folder name and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para>We will keep our presentation files in this folder</para>
+ </listitem>
+
+ <listitem>
+ <para>Right-click the <emphasis>
+ <property>pages</property></emphasis> folder and select <emphasis>
+ <property>New > File > JSP...</property>
+ </emphasis>
+ </para>
+ </listitem>
+ <listitem>
+ <para>For Name type in <emphasis>
+ <property>inputname</property>
+ </emphasis> (the JSP extension will be automatically added to the file),
+ for Template select <emphasis>
+ <property>StrutsForm</property>
+ </emphasis> and then click on the <emphasis>
+ <property>Finish</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>Right-click the <emphasis>
+ <property>pages</property></emphasis> folder again and select <emphasis>
+ <property>New > File > JSP...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>For Name type in <emphasis>
+ <property>greeting</property>
+ </emphasis>, for Template leave as <emphasis>
+ <property>Blank</property>,</emphasis> and then click on the <emphasis>
+ <property>Finish</property>
+ </emphasis> button</para>
+ </listitem>
+ </itemizedlist>
+ <para>Just leave these files as is for now.</para>
+ </section>
+ <section id="PlacingthePagePlaceholders">
+ <title>Placing the Page Placeholders</title>
+ <para>Lets now place the two pages just created on the diagram.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>struts-config.xml</property>
+ </emphasis> tab in the editing area to bring the diagram to the
+ front</para>
+ </listitem>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>inputname.jsp</property>
+ </emphasis> page in the <property>Web Projects view</property>, drag it onto the diagram, and
+ drop it</para>
+ </listitem>
+ <listitem><para>Click on the <emphasis>
+ <property>greeting.jsp</property>
+ </emphasis> page in the <property>Web Projects view</property>, drag it onto the diagram, and
+ drop it to the right of the <emphasis>
+ <property>/pages/inputname.jsp</property>
+ </emphasis> icon with some extra space</para></listitem>
+ </itemizedlist>
+ <para>You should now have two JSP pages in the diagram.</para>
+ </section>
+ </section>
+ <section id="CreatinganActionMappings">
+ <title>Creating an Action Mappings</title>
+ <para>Using a context menu on the diagram, we are next going to create an Action
+ mapping.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right-click between the two icons and select <emphasis>
+ <property>New > Action</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Enter the following values:</para>
+ </listitem>
+ </itemizedlist>
+ <table>
+ <title>Action values</title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>path</entry>
+ <entry>/greeting</entry>
+ </row>
+ <row>
+ <entry>name</entry>
+ <entry>GetNameForm</entry>
+ </row>
+ <row>
+ <entry>scope</entry>
+ <entry>request</entry>
+ </row>
+ <row>
+ <entry>type</entry>
+ <entry>sample.GreetingAction</entry>
+ </row>
+ <row>
+ <entry>validate</entry>
+ <entry><leave blank></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>("GetNameForm" is the name for a form bean that we will create
+ later.)</para>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>The <emphasis>
+ <property>/greeting</property>
+ </emphasis> action should appear in four places, in the diagram, under the
+ <emphasis>
+ <property>action-mappings</property></emphasis> node, under the <emphasis>
+ <property>struts-config.xml</property></emphasis> node in Tree view, in <property>Web Projects
+ view</property> and in the <property>Outline view</property>. Also, note the asterisk to the right of the name,
+ <emphasis>
+ <property>struts-config.xml</property>,</emphasis> in the <property>Outline view</property> showing that the file has been changed, but
+ not saved to disk.</para>
+ </section>
+ <section id="CreatingaLink">
+ <title>Creating a Link</title>
+ <para>Let's now create a link from the <emphasis>
+ <property>inputname.jsp</property></emphasis> page to the action.</para>
+ <itemizedlist>
+ <listitem>
+ <para>On the left-hand side of the diagram in the column of icons, click on the Create New Connection
+ icon( <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_1.png"/>
+ </imageobject>
+ </inlinemediaobject>).</para>
+ </listitem>
+ </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para>In the connect-the-components mode you are in now, click on the <emphasis>
+ <property>/pages/inputname.jsp</property>
+ </emphasis> icon in the diagram and then click on the <emphasis>
+ <property>/greeting</property>
+ </emphasis> action</para>
+ </listitem>
+ </itemizedlist>
+ <para>A link will be created from the page to the action.</para>
+ </section>
+ <section id="CreatingaForward">
+ <title>Creating a Forward</title>
+ <para>Next, we are going to create a forward for the action.</para>
+ <itemizedlist>
+ <listitem>
+ <para>On the left-hand side of the diagram in the column of icons, click on
+ the Create New Connection
+ icon( <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_1.png"/>
+ </imageobject>
+ </inlinemediaobject>), again.</para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>/greeting</property>
+ </emphasis> action icon in the diagram and then click on the <emphasis>
+ <property>pages/greeting.jsp</property>
+ </emphasis> icon</para>
+ </listitem>
+ <listitem>
+ <para>That's it. A link will be drawn from the actions new greeting
+ forward to the <emphasis>
+ <property>greeting.jsp</property></emphasis> JSP page. Note that the forwards name will be
+ set based on the name of the target JSP file name. If you don't
+ like it, you can easily change it</para>
+ </listitem>
+ <listitem>
+ <para>Select the <emphasis>
+ <property>Tree</property>
+ </emphasis> tab at the bottom of the editor window (between Diagram and
+ Source)</para>
+ </listitem>
+ <listitem>
+ <para>Expand the <emphasis>
+ <property>struts-config.xml/action-mappings/ /greeting</property>
+ </emphasis> node and then select the greeting forward</para>
+ </listitem>
+ <listitem>
+ <para>In the Properties Editor to the right, change the text to
+ "sayHello" in the <emphasis>
+ <property>Name</property></emphasis> field</para>
+ </listitem>
+ <listitem>
+ <para>Select the <emphasis>
+ <property>Diagram</property>
+ </emphasis> tab at the bottom of the editor window and see how the diagram
+ is also updated to reflect the change</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section id="CreatingaGlobalForward">
+ <title>Creating a Global Forward</title>
+ <para>One last component that we need to create in the diagram is a global forward.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Somewhere in the top-left corner of diagram, right-click and select <emphasis>
+ <property>New > Global Forward</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Enter <emphasis>
+ <property>getName</property>
+ </emphasis> in the <emphasis>
+ <property>Name</property></emphasis> field</para>
+ </listitem>
+ <listitem>
+ <para>Select the <emphasis>
+ <property>Change...</property>
+ </emphasis>button for Path</para>
+ </listitem>
+ <listitem>
+ <para>In the Edit Path window, switch to the <emphasis>
+ <property>Pages</property>
+ </emphasis> tab</para>
+ </listitem>
+ <listitem>
+ <para>Expand the <emphasis>
+ <property>StrutsHello > WEB-ROOT (WebContent) > pages</property>
+ </emphasis> node and then select the inputname.jsp page</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Ok</property>
+ </emphasis>.</para>
+ </listitem>
+ <listitem>
+ <para>Leave the rest of the fields blank and click <emphasis>
+ <property>OK</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>A forward object now appears on the diagram and also in the global-forwards folder
+ in the Outline view.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Tidy up the diagram, by clicking and dragging around each icon, so that
+ the diagram looks something like this:</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Diagram View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_application/struts_application_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="CreatingaFormBean">
+ <title>Creating a Form Bean</title>
+ <para>One last thing that we need to do is to create a form bean.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to the Tree viewer in the editor for the <emphasis>
+ <property>struts-config.xml</property></emphasis> file, by
+ selecting the <emphasis>
+ <property>Tree</property>
+ </emphasis> tab at the bottom of the editor window</para>
+ </listitem>
+ <listitem>
+ <para>Right-click <emphasis>
+ <property>struts-config.xml > form-beans</property>
+ </emphasis> and select Create Form Bean</para>
+ </listitem>
+ <listitem>
+ <para>Enter <emphasis>
+ <property>GetNameForm</property>
+ </emphasis> in the name field and <emphasis>
+ <property>sample.GetNameForm</property>
+ </emphasis> for type</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>To save your changes to struts-config.xml, select <emphasis>
+ <property>File > Save</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ <para>Note the disappearance of the asterisk next to the name, <emphasis>
+ <property>struts-config.xml</property>.</emphasis></para>
+ </section>
+ </section>
+</chapter>
\ No newline at end of file
Added: trunk/struts/docs/struts_tools_tutorial/en-US/struts_validation.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/en-US/struts_validation.xml (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/en-US/struts_validation.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,239 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter id="struts_validation" xreflabel="struts_validation">
+ <?dbhtml filename="struts_validation.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Struts</keyword>
+ <keyword>Struts Validation</keyword>
+ </keywordset>
+ </chapterinfo>
+<title>Struts Validation Examples</title>
+
+<para><property>Validation</property> of input is an important part of any Web application. All Apache Jakarta frameworks,
+including Struts, can use a common Jakarta Validation Framework for streamlining this aspect of Web
+application development. The Validation Framework allows you to define validation rules and then apply these rules on the client-side or the server-side.</para>
+
+ <para>JBoss Developer Studio makes using the <property>Validation Framework</property> in Struts even easier with the help of a specialized editor for the XML files that controls validation in a project. In this document, we'll show you how this all works by creating some simple client-side validation and server-side validation examples.</para>
+
+<section id="StartingPoint">
+<?dbhtml filename="StartingPoint.html"?>
+<title>Starting Point</title>
+<para>The example assumes that you have already created our sample "StrutsHello" application from the
+Getting Started Guide for Creating a Struts Application. You should have the JBoss Developer Studio perspective
+ open on this StrutsHello project.</para>
+</section>
+
+<section id="DefiningTheValidationRule">
+<?dbhtml filename="DefiningTheValidationRule.html"?>
+<title>Defining the Validation Rule</title>
+<para>In these steps you will set up the validation that can be used for either client-side or
+server side validation. You need to enable validation as a part of the project, define an error message, and tie it into an appropriate part of the application.</para>
+
+<itemizedlist>
+<listitem><para>Right-click on a "plug-ins" node under the <emphasis><property>StrutsHello > Configuration > default > struts-config.xml</property></emphasis> node in the Web Projects view and select <emphasis><property>Create Special Plugin > Validators</property></emphasis> from the context menu</para></listitem>
+<listitem><para>Further down in the Web Projects view, right-click on the
+<emphasis><property>StrutsHello > ResourceBundles</property></emphasis> node and select <emphasis><property> New > Properties File...</property></emphasis>from the context menu</para></listitem>
+<listitem><para>In the dialog box, click on the <emphasis><property>Browse...</property></emphasis>button next to the Folder field, expand the
+ JavaSource folder in this next dialog box, select the sample subfolder, and click on the <emphasis><property>OK</property></emphasis> button</para></listitem>
+ <listitem><para>Back in the first dialog box, type in "applResources" for the Name field and click on the <emphasis><property>Finish</property></emphasis> button</para></listitem>
+<listitem><para>Right-click on a newly created file and select <emphasis><property>Add > Default Error Messages</property></emphasis>
+ from the context menu</para></listitem>
+
+<listitem><para>Drag up the sample.applResources icon until you can drop it on the resources folder under struts-config.xml</para></listitem>
+<listitem><para>Select<emphasis><property> File > Save </property></emphasis>All from the menu bar</para></listitem>
+<listitem><para>Select validation.xml under the <emphasis><property>StrutsHello > Validation</property></emphasis> node and double-click it to open it with the JBoss Tools XML Editor</para></listitem>
+<listitem><para>Here you must create a Formset.</para></listitem>
+<listitem><para>In the validation.xml file editor click the button <emphasis><property>Create Formset</property></emphasis> on the panel <emphasis><property>Formsets</property></emphasis></para></listitem>
+<listitem><para>In the dialog <emphasis><property>Add Formset</property></emphasis> fill the fields <emphasis><property>Language</property></emphasis> and <emphasis><property>Country</property></emphasis> or just leave them empty to create a default formset. Click <emphasis><property>OK</property></emphasis></para></listitem>
+</itemizedlist>
+<figure>
+ <title>Create Formset</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_validation/struts_validation.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<itemizedlist>
+<listitem><para>Expand the "form-beans" node under the <emphasis><property>StrutsHello > Configuration > default > struts-config.xml node.</property></emphasis> Then, drag the form bean "GetNameForm" and drop it onto a formset in the <property>XML</property> Editor</para></listitem>
+<listitem><para>In the Validation Editor, expand the formset node, right-click GetNameForm, and select <emphasis><property>Create Field...</property></emphasis> from the context menu</para></listitem>
+<listitem><para>Enter a name for Property in the dialog box. A new property will be created:</para></listitem>
+</itemizedlist>
+<figure>
+ <title>New Property Is Added</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/struts_validation/struts_validation_2.png"/>
+ </imageobject>
+</mediaobject>
+</figure>
+<itemizedlist>
+<listitem><para>In the Properties view for the name field to the right of the "tree" for the validation.xml file, click on the <emphasis><property>Change...</property></emphasis>button next to the Depends entry field</para></listitem>
+<listitem><para>In the displayed double list, select <emphasis><property>required</property></emphasis> from the left list and then click <emphasis><property>Add</property></emphasis></para></listitem>
+ <listitem><para>Click <emphasis><property>Ok</property></emphasis></para></listitem>
+<listitem><para>Right-click name and select <emphasis><property>Add Arg...</property></emphasis> from the context menu</para></listitem>
+<listitem><para>In the Add Arg dialog box, click on the <emphasis><property>Change...</property></emphasis>button next to the <emphasis><property>Key</property></emphasis> field</para></listitem>
+ <listitem><para>In the Key dialog box that appears now, click on the <emphasis><property>Add</property></emphasis> button</para></listitem>
+ <listitem><para>Enter "name.required" in the Name field, and enter a person's name in the Value field</para></listitem>
+ <listitem><para>Click <emphasis><property>Finish</property></emphasis>, then <emphasis><property>Ok</property></emphasis>, and then <emphasis><property>Ok</property></emphasis> again</para></listitem>
+<listitem><para>Select <emphasis><property>File > Save All</property></emphasis> from the menu bar</para></listitem>
+</itemizedlist>
+</section>
+
+<section id="Client-SideValidation">
+<?dbhtml filename="Client-SideValidation.html"?>
+<title>Client-Side Validation</title>
+<para>Client-side <property>validation</property> uses a scripting language (like JavaScript) running in the client browser to actually do the <property>validation</property>. In a Struts application using the <property>Validation</property> Framework, however, you don't actually have to do any of the script coding. The <property>Validation</property> Framework handles this.</para>
+<para>To see how this works in our application, you'll just need to make a couple of modifications to one of the JSP files.</para>
+<itemizedlist>
+<listitem><para>Double-click inputname.jsp under <emphasis><property>StrutsHello > WEB-ROOT(WebContent) > pages</property></emphasis> to open it for editing</para></listitem>
+<listitem><para>Find the tag near the top and hit Return to make a new line under it</para></listitem>
+ <listitem><para>In the JBoss Tools Palette view to the right, open the Struts HTML folder and click on the javascript tag</para></listitem>
+<listitem><para>Back in the editor, just in front of the closing slash for this inserted tag, hit Ctrl+Space and select "formName" from the prompting menu</para></listitem>
+<listitem><para>Over in the Web Projects view, select GetNameForm under the <emphasis><property>StrutsHello > Configuration > default > struts-config.xml > form-beans</property></emphasis> node, drag it, and drop it between the quotes in the editor</para></listitem>
+<listitem><para>Modify the <code><html:form></code> tag by inserting this attribute:</para></listitem>
+</itemizedlist>
+<programlisting role="XML"><![CDATA[onsubmit="return validateGetNameForm(this)"
+]]></programlisting>
+<para></para>
+<para>The file should now look like this:</para>
+<programlisting role="XML"><![CDATA[
+<%@ taglib uri="/WEB-INF/struts-html" prefix="html" %>
+
+<html:html >
+ <head>
+ <html:javascript formName="GetNameForm"/>
+ <title></title>
+ </head>
+ <body>
+ <html:form action="/greeting.do" onsubmit="return validateGetNameForm(this)">
+ Input name:<html:text property="name"/><html:submit value="Say Hello!"/>
+ </html:form>
+ </body>
+</html:html>
+]]></programlisting>
+<itemizedlist>
+<listitem><para>Select<emphasis><property> File > Save </property></emphasis>from the menu bar</para></listitem>
+<listitem><para>Start JBoss Application Server by clicking on its icon (a right-pointing arrow) in the toolbar</para></listitem>
+ <listitem><para>Click the Run icon(<inlinemediaobject> <imageobject>
+ <imagedata fileref="images/struts_validation/struts_validation_1.png"/>
+ </imageobject></inlinemediaobject>) or right click your project folder and select <emphasis><property>Run As > Run on Server</property></emphasis></para></listitem>
+</itemizedlist>
+
+<itemizedlist><listitem><para>In the browser window, click on the "Say Hello!" button without having entered any name in the form</para></listitem></itemizedlist>
+<para>A JavaScript error message should be displayed in an alert box.</para>
+</section>
+<section id="Server-SideValidation">
+<?dbhtml filename="Server-SideValidation.html"?>
+<title>Server Side Validation</title>
+<para>Server side validation does the validation inside the application on the server. In a Struts application using the Validation Framework, you still don't have to do any of the actual validation coding. The Validation Framework handles this. You will though have to make a few changes to the JSP file you modified for client-side validation along with a change to an action and a few changes to the form bean class.</para>
+</section>
+
+<section id="EditingTheJSPFile">
+<?dbhtml filename="EditingTheJSPFile.html"?>
+<title>Editing the JSP File</title>
+<itemizedlist>
+<listitem><para>Reopen inputname.jsp for editing</para></listitem>
+<listitem><para>Delete the <emphasis role="italic"><property>"onsubmit"</property></emphasis> attribute in the <code><html:form></code> element that you put in for client-side validation</para></listitem>
+
+<listitem><para>Add an <code><html:errors/></code> tag after the
+ <code><html:form></code>
+ tag</para></listitem>
+</itemizedlist>
+<para>The JSP file should now look like this:</para>
+
+ <programlisting role="XML"><![CDATA[<%@ taglib uri="/WEB-INF/struts-html" prefix="html" %>
+<html:html >
+<head>
+ <html:javascript formName="GetNameForm"/>
+ <title></title>
+ </head>
+ <body>
+ <html:form action="/greeting.do" >Input name:<html:text property="name"/>
+ <html:submit value="Say Hello!"/>
+ </html:form>
+ <html:errors/>
+ </body>
+</html:html>
+]]></programlisting>
+
+</section>
+
+<section id="EditingTheAction">
+<?dbhtml filename="EditingTheAction.html"?>
+<title>Editing the Action</title>
+<itemizedlist>
+<listitem><para>In the Web Projects view, expand the node under the <emphasis><property>StrutsHello > Configuration > default > struts-config.xml > action-mappings</property></emphasis> node, right-click the <emphasis><property>/greeting</property></emphasis> action, and then select <emphasis><property>Properties...</property></emphasis>from the context menu</para></listitem>
+
+ <listitem><para>In the Edit Properties window, insert the cursor into the value column for the input property and click on the <property>...</property> button</para></listitem>
+
+ <listitem><para>In the dialog box, make sure the Pages tab is selected, select <emphasis><property>StrutsHello > WEB-ROOT(WebContent) > pages > inputname.jsp</property></emphasis>, click the <emphasis><property>Ok</property></emphasis> button, and then click on the <emphasis><property>Close</property></emphasis> button</para></listitem>
+</itemizedlist>
+</section>
+<section id="EditingTheFormBean">
+<?dbhtml filename="EditingTheFormBean.html"?>
+
+<title>Editing the Form Bean</title>
+<itemizedlist>
+<listitem><para>Right-click the <emphasis><property>/greeting</property></emphasis> action again and select Open Form-bean Source to open the GetNameForm.java file for editing</para></listitem>
+<listitem><para>Change the class that it extends from: <emphasis><property>org.apache.struts.action.ActionForm</property></emphasis> to <emphasis><property>org.apache.struts.validator.ValidatorForm</property></emphasis></para></listitem>
+<listitem><para>Comment out a validate method</para></listitem>
+</itemizedlist>
+<para>The file should now look like this:</para>
+<programlisting role="JAVA"><![CDATA[package sample;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionMapping;
+public class GetNameForm extends
+
+org.apache.struts.validator.ValidatorForm
+{
+
+ private String name = "";
+
+ /**
+ * @return Returns the name.
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @param name The name to set.
+ */
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public GetNameForm ()
+ {
+ }
+
+ public void reset(ActionMapping actionMapping,
+ HttpServletRequest request)
+ {
+ this.name = "";
+ }
+
+ // public ActionErrors validate(ActionMapping actionMapping,
+ // HttpServletRequest request)
+ //{
+ // ActionErrors errors = new ActionErrors();
+ // return errors;
+ // }
+ }
+]]></programlisting>
+
+<itemizedlist>
+<listitem><para>Select <emphasis><property>File > Save All </property></emphasis>from the menu bar</para></listitem>
+<listitem><para>Reload the application into JBoss AS by clicking on the "Change Time Stamp" icon (a finger pointing with a little star) in the toolbar</para></listitem>
+<listitem><para>Run the application</para></listitem>
+<listitem><para>In the browser window, click on the "Say Hello!" button without having entered any name in the form</para></listitem>
+</itemizedlist>
+<para>The error message should appear in a refreshed version of the form.</para>
+</section>
+
+</chapter>
\ No newline at end of file
Modified: trunk/struts/docs/struts_tools_tutorial/pom.xml
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/pom.xml 2010-03-09 01:57:23 UTC (rev 20701)
+++ trunk/struts/docs/struts_tools_tutorial/pom.xml 2010-03-09 02:06:33 UTC (rev 20702)
@@ -96,9 +96,9 @@
<configuration>
<sourceDocumentName>${master}</sourceDocumentName>
- <sourceDirectory>${pom.basedir}/en</sourceDirectory>
+ <sourceDirectory>${pom.basedir}/en-US</sourceDirectory>
<imageResource>
- <directory>${pom.basedir}/en</directory>
+ <directory>${pom.basedir}/en-US</directory>
<includes>
<include>images/**/*</include>
</includes>
Added: trunk/struts/docs/struts_tools_tutorial/publican.cfg
===================================================================
--- trunk/struts/docs/struts_tools_tutorial/publican.cfg (rev 0)
+++ trunk/struts/docs/struts_tools_tutorial/publican.cfg 2010-03-09 02:06:33 UTC (rev 20702)
@@ -0,0 +1,7 @@
+# Config::Simple 4.59
+# Fri Nov 20 13:19:45 2009
+
+xml_lang: en-US
+type: Book
+brand: JBoss
+
14 years, 10 months