Author: snjeza
Date: 2009-05-04 17:03:52 -0400 (Mon, 04 May 2009)
New Revision: 15015
Added:
trunk/examples/plugins/org.jboss.tools.seam.tutorial/cheatsheets/projectExamples.xml
Removed:
trunk/examples/plugins/org.jboss.tools.seam.tutorial/cheatsheets/registration.xml
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard.java
trunk/examples/plugins/org.jboss.tools.seam.tutorial/plugin.xml
workspace/examples/project-examples-3.0.xml
workspace/snjeza/seam-examples/registration2.zip
Log:
https://jira.jboss.org/jira/browse/JBIDE-4180 We should have the projects featured in Seam
tutorials available in Project Examples
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard.java 2009-05-04
19:18:43 UTC (rev 15014)
+++
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard.java 2009-05-04
21:03:52 UTC (rev 15015)
@@ -271,7 +271,7 @@
if (id == null) {
id = ""; //$NON-NLS-1$
}
- view.getCheatSheetViewer().setInput(id, id, finalURL, new DefaultStateManager(),
true);
+ view.getCheatSheetViewer().setInput(id, id, finalURL, new DefaultStateManager(),
false);
} else {
try {
IWorkbenchBrowserSupport browserSupport =
ProjectExamplesActivator.getDefault().getWorkbench().getBrowserSupport();
Added:
trunk/examples/plugins/org.jboss.tools.seam.tutorial/cheatsheets/projectExamples.xml
===================================================================
--- trunk/examples/plugins/org.jboss.tools.seam.tutorial/cheatsheets/projectExamples.xml
(rev 0)
+++
trunk/examples/plugins/org.jboss.tools.seam.tutorial/cheatsheets/projectExamples.xml 2009-05-04
21:03:52 UTC (rev 15015)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<cheatsheet title="Project Examples Tutorial">
+
+ <intro>
+ <description>
+ Learn how to use Project Examples Wizard.
+ </description>
+ </intro>
+
+ <item title="Open the Seam perspective" dialog="false"
skip="false"
href="/org.eclipse.platform.doc.user/concepts/concepts-4.htm">
+ <description>
+ If you're not already in the Seam perspective, in the main menu select
<b>Window</b> > <b>Open Perspective</b> >
<b>Other</b> > <b>Seam</b> or click on the "Click
to Perform" link below.
+ </description>
+ <command
serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.jboss.tools.seam.ui.SeamPerspective)"
required="false" translate="">
+ </command>
+ </item>
+
+ <item
+ title="Setup the Environment"
+ skip="true">
+ <description>
+ You must set up your environment before performing the steps in this tutorial.
+ <br/><br/>
+ <b>
+ If you have JBoss Developer Studio with EAP installed, your environment is already
set correctly.
+ </b>
+ </description>
+ <subitem
+ label="Create JBoss AS Runtime and Server using "File >
New > Other > Server > Server" and select "JBoss
Comunity" or "JBoss Enterprise Middleware" server type or click
the "Click to Perform" link."
+ skip="true">
+ <command
+
serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.wst.server.ui.new.server)"
+ required="false" translate="">
+ </command>
+ </subitem>
+ <subitem
+ label="Create a Seam Runtime using "Window > Preferences
> JBoss Tools > Web > Seam." or click the "Click to
Perform" link."
+ skip="true">
+ <action
+ required="false"
+ pluginId="org.jboss.tools.seam.tutorial"
+ class="org.jboss.tools.seam.tutorial.actions.OpenPreferencePage"
+ param1="org.jboss.tools.common.model.ui.seam"/>
+ </subitem>
+ <subitem
+ label="Create a Database Connection Profile by selecting "File
> New > Other > Connection Profiles > Connection
Profile." or click the "Click to Perform" link."
+ skip="true">
+ <command
+
serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.datatools.connectivity.internal.ui.wizards.newconnectionprofile)"
+ required="false" translate="">
+ </command>
+ </subitem>
+ </item>
+
+ <item
+ title="Call the Project Examples wizard">
+ <description>
+ Click <b>Help > Project Examples</b> or the "Click to
Perform" link below.
+ <br/><br/>
+ If you don't have JBoss Developer Studio with EAP, you will have to set your
Server Runtime, Seam Runtime and Database Connection Profile.
+After importing the project example, you will be able to use the Quick Fix dialog to set
them.
+ </description>
+ <command
+
serialization="org.eclipse.ui.newWizard(newWizardId=org.jboss.tools.project.examples.wizard.NewProjectExamplesWizard)"
+ required="false" translate="">
+ </command>
+ </item>
+
+</cheatsheet>
Deleted:
trunk/examples/plugins/org.jboss.tools.seam.tutorial/cheatsheets/registration.xml
===================================================================
---
trunk/examples/plugins/org.jboss.tools.seam.tutorial/cheatsheets/registration.xml 2009-05-04
19:18:43 UTC (rev 15014)
+++
trunk/examples/plugins/org.jboss.tools.seam.tutorial/cheatsheets/registration.xml 2009-05-04
21:03:52 UTC (rev 15015)
@@ -1,438 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<cheatsheet title="Your first Seam application: the registration
example">
-
- <intro>
- <description>
- The registration example is a simple application that lets a new user store his
username, real name and password in the database. The example isn't intended to
show off all of the cool functionality of Seam. However, it demonstrates the use of an
EJB3 session bean as a JSF action listener, and basic configuration of Seam.
-<br/><br/>
-We'll go slowly, since we realize you might not yet be familiar with EJB 3.0.
-<br/><br/>
-The start page displays a very basic form with three input fields. Try filling them in
and then submitting the form. This will save a user object in the database.
- </description>
- </intro>
-
- <item title="Open the Seam perspective" dialog="false"
skip="false"
href="/org.eclipse.platform.doc.user/concepts/concepts-4.htm">
- <description>
- If you're not already in the Seam perspective, in the main menu select
<b>Window</b> > <b>Open Perspective</b> >
<b>Other</b> > <b>Seam</b> or click on the "Click
to Perform" link below.
- </description>
- <command
serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.jboss.tools.seam.ui.SeamPerspective)"
required="false" translate="">
- </command>
- </item>
-
- <item
- title="Setup the Environment"
- skip="true">
- <description>
- You must set up your environment before performing the steps in this tutorial.
- <br/><br/>
- <b>
- If you have JBoss Developer Studio with EAP installed, your environment is already
set correctly.
- </b>
- </description>
- <subitem
- label="Create JBoss AS Runtime and Server using "File >
New > Other > Server > Server" and select "JBoss
Comunity" or "JBoss Enterprise Middleware" server type or click
the "Click to Perform" link."
- skip="true">
- <command
-
serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.wst.server.ui.new.server)"
- required="false" translate="">
- </command>
- </subitem>
- <subitem
- label="Create a Seam Runtime using "Window > Preferences
> JBoss Tools > Web > Seam." or click the "Click to
Perform" link."
- skip="true">
- <action
- required="false"
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenPreferencePage"
- param1="org.jboss.tools.common.model.ui.seam"/>
- </subitem>
- <subitem
- label="Create a Database Connection Profile by selecting "File
> New > Other > Connection Profiles > Connection
Profile." or click the "Click to Perform" link."
- skip="true">
- <command
-
serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.datatools.connectivity.internal.ui.wizards.newconnectionprofile)"
- required="false" translate="">
- </command>
- </subitem>
- </item>
-
- <item
- title="Import the registration example">
- <description>
- Import the registration example using <b>Help > Project Examples</b>
and select "Seam Registration Example - EAR" or click the "Click to
Perform" link below.
- <br/><br/>
- If you don't have JBoss Developer Studio with EAP, you will have to set your
Server Runtime, Seam Runtime and Database Connection Profile.
-After importing the project example, you will be able to use the Quick Fix dialog to set
them.
- </description>
- <action
- required="true"
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.ImportProjectExample"
- param1="registration2"
- param2="registration,registration-ejb,registration-ear"
-
param3="http://anonsvn.jboss.org/repos/jbosstools/workspace/snjeza/s...
- />
- </item>
-
- <item
- skip="true"
- title="Understanding the code">
- <description>
- The example is implemented with two Facelets templates, one entity bean and one
stateless session bean. Let's take a look at the code, starting from the
"bottom".
- </description>
- </item>
-
- <item
- title="The entity bean: User.java">
- <description>
- The most important things to notice in this example are the @Name and @Scope
annotations. These annotations establish that this class is a Seam component.
-<br/><br/>
-We'll see below that the properties of our User class are bound directly to JSF
components and are populated by JSF during the update model values phase. We don't
need any tedious glue code to copy data back and forth between the JSP pages and the
entity bean domain model.
-<br/><br/>
-However, entity beans shouldn't do transaction management or database access. So we
can't use this component as a JSF action listener. For that we need a session bean.
-
- </description>
- <subitem
- label="The EJB3 standard @Entity annotation indicates that the User
class is an entity bean."
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/User.java"
- param2="17" />
- </subitem>
- <subitem
- label="A Seam component needs a component name specified by the @Name
annotation. This name must be unique within the Seam application. When JSF asks Seam to
resolve a context variable with a name that is the same as a Seam component name, and the
context variable is currently undefined (null), Seam will instantiate that component, and
bind the new instance to the context variable. In this case, Seam will instantiate a User
the first time JSF encounters a variable named user."
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/User.java"
- param2="18"/>
- </subitem>
- <subitem
- label="Whenever Seam instantiates a component, it binds the new instance
to a context variable in the component's default context. The default context is
specified using the @Scope annotation. The User bean is a session scoped component.
"
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/User.java"
- param2="19"/>
- </subitem>
- <subitem
- label="The EJB standard @Table annotation indicates that the User class
is mapped to the users table. "
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/User.java"
- param2="20"/>
- </subitem>
- <subitem
- label="name, password and username are the persistent attributes of the
entity bean. All of our persistent attributes define accessor methods. These are needed
when this component is used by JSF in the render response and update model values phases.
"
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/User.java"
- param2="25"
- param3="27"/>
- </subitem>
- <subitem
- label="An empty constructor is both required by both the EJB
specification and by Seam. "
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/User.java"
- param2="36"/>
- </subitem>
- <subitem
- label="The @NotNull and @Length annotations are part of the Hibernate
Validator framework. Seam integrates Hibernate Validator and lets you use it for data
validation (even if you are not using Hibernate for persistence). "
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/User.java"
- param2="49"/>
- </subitem>
- <subitem
- label="The EJB standard @Id annotation indicates the primary key
attribute of the entity bean. "
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/User.java"
- param2="60"/>
- </subitem>
- </item>
-
- <item
- title="The stateless session bean class: RegisterAction.java">
- <description>
- Most Seam application use session beans as JSF action listeners (you can use
JavaBeans instead if you like).
-<br/><br/>
-We have exactly one JSF action in our application, and one session bean method attached
to it. In this case, we'll use a stateless session bean, since all the state
associated with our action is held by the User bean.
-<br/><br/>
-This is the only really interesting code in the example!
- </description>
- <subitem
- label="The EJB @Stateless annotation marks this class as a stateless
session bean."
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/RegisterAction.java"
- param2="16" />
- </subitem>
- <subitem
- label="The @In annotation marks an attribute of the bean as injected
by Seam. In this case, the attribute is injected from a context variable named user (the
instance variable name). "
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/RegisterAction.java"
- param2="21" />
- </subitem>
- <subitem
- label="The EJB standard @PersistenceContext annotation is used to inject
the EJB3 entity manager."
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/RegisterAction.java"
- param2="24" />
- </subitem>
- <subitem
- label="The Seam @Logger annotation is used to inject the component's
Log instance."
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/RegisterAction.java"
- param2="27" />
- </subitem>
- <subitem
- label="The action listener method uses the standard EJB3 EntityManager
API to interact with the database, and returns the JSF outcome. Note that, since this is a
session bean, a transaction is automatically begun when the register() method is called,
and committed when it completes. "
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/RegisterAction.java"
- param2="30"
- param3="46" />
- </subitem>
- <subitem
- label="Notice that Seam lets you use a JSF EL expression inside EJB-QL.
Under the covers, this results in an ordinary JPA setParameter() call on the standard JPA
Query object. Nice, huh?"
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/RegisterAction.java"
- param2="32"/>
- </subitem>
- <subitem
- label="The Log API lets us easily display templated log messages which
can also make use of JSF EL expressions. "
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/RegisterAction.java"
- param2="38"/>
- </subitem>
- <subitem
- label="JSF action listener methods return a string-valued outcome that
determines what page will be displayed next. A null outcome (or a void action listener
method) redisplays the previous page. In plain JSF, it is normal to always use a JSF
navigation rule to determine the JSF view id from the outcome. For complex application
this indirection is useful and a good practice. However, for very simple examples like
this one, Seam lets you use the JSF view id as the outcome, eliminating the requirement
for a navigation rule. Note that when you use a view id as an outcome, Seam always
performs a browser redirect."
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/RegisterAction.java"
- param2="39"/>
- </subitem>
- <subitem
- label="Seam provides a number of built-in components to help solve
common problems. The FacesMessages component makes it easy to display templated error or
success messages. (As of Seam 2.1, you can use StatusMessages instead to remove the
semantic dependency on JSF). Built-in Seam components may be obtained by injection, or by
calling the instance() method on the class of the built-in component."
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/RegisterAction.java"
- param2="43"/>
- </subitem>
- <subitem
- label="Note that we did not explicitly specify a @Scope this time. Each
Seam component type has a default scope if not explicitly specified. For stateless session
beans, the default scope is the stateless context, which is the only sensible
value."
- skip="true">
- </subitem>
- <subitem
- label="Our session bean action listener performs the business and
persistence logic for our mini-application. In more complex applications, we might need
require a separate service layer. This is easy to achieve with Seam, but it's overkill
for most web applications. Seam does not force you into any particular strategy for
application layering, allowing your application to be as simple, or as complex, as you
want."
- skip="true">
- </subitem>
- <subitem
- label="Note that in this simple application, we've actually made it
far more complex than it needs to be. If we had used the Seam application framework
controllers, we would have eliminated all of our application code. However, then we
wouldn't have had much of an application to explain."
- skip="true">
- </subitem>
- </item>
-
- <item
- skip="true"
- title="The session bean local interface: Register.java">
- <description>
- Naturally, our session bean needs a local interface.
- </description>
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/org/jboss/seam/example/registration/Register.java"/>
- </item>
-
- <item
- title="The view: register.xhtml">
- <description>
- The view pages for a Seam application could be implemented using any technology that
supports JSF. In this example we use Facelets, because we think it's better than JSP.
- </description>
- <subitem
- label="The only thing here that is specific to Seam is the
<s:validateAll> tag. This JSF component tells JSF to validate all the
contained input fields against the Hibernate Validator annotations specified on the entity
bean."
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration/WebContent/register.xhtml"
- param2="15"
- param4="org.jboss.tools.jst.jsp.jspeditor.JSPTextEditor"/>
- </subitem>
-
- </item>
- <item
- title="The view: registered.xhtml">
- <description>
- This is a simple Facelets page using some inline EL. There's nothing specific to
Seam here.
- </description>
- <subitem
- label="Open registered.xhtml"
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration/WebContent/registered.xhtml"
- param4="org.jboss.tools.jst.jsp.jspeditor.JSPTextEditor"/>
- </subitem>
-
- </item>
-
- <item
- title="The Seam component deployment descriptor: components.xml">
- <description>
- Since this is the first Seam app we've seen, we'll take a look at the
deployment descriptors. Before we get into them, it is worth noting that Seam strongly
values minimal configuration. These configuration files will be created for you when you
create a Seam application. You'll never need to touch most of these files. We're
presenting them now only to help you understand what all the pieces in the example are
doing.
-<br/><br/>
-If you've used many Java frameworks before, you'll be used to having to declare
all your component classes in some kind of XML file that gradually grows more and more
unmanageable as your project matures. You'll be relieved to know that Seam does not
require that application components be accompanied by XML. Most Seam applications require
a very small amount of XML that does not grow very much as the project gets bigger.
-<br/><br/>
-Nevertheless, it is often useful to be able to provide for some external configuration of
some components (particularly the components built in to Seam). You have a couple of
options here, but the most flexible option is to provide this configuration in a file
called components.xml, located in the WEB-INF directory. We'll use the components.xml
file to tell Seam how to find our EJB components in JNDI.
-<br/><br/>
-This code configures a property named jndiPattern of a built-in Seam component named
org.jboss.seam.core.init. The funny @ symbols are there because our Ant build script puts
the correct JNDI pattern in when we deploy the application, which it reads from the
components.properties file.
- </description>
- <subitem label="Open components.xml"
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration/WebContent/WEB-INF/components.xml"
- param2="9"/>
- </subitem>
- <subitem label="Open components.properties"
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/components.properties"/>
- </subitem>
- </item>
-
- <item
- title="The web deployment description: web.xml">
- <description>
- The presentation layer for our mini-application will be deployed in a WAR. So
we'll need a web deployment descriptor.
- </description>
- <subitem
- label="This web.xml file configures Seam and JSF. The configuration you
see here is pretty much identical in all Seam applications."
- skip="true">
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration/WebContent/WEB-INF/web.xml"/>
- </subitem>
-
- </item>
- <item
- skip="true"
- title="The JSF configuration: faces-config.xml">
- <description>
- Most Seam applications use JSF views as the presentation layer. So usually we'll
need faces-config.xml. In our case, we are going to use Facelets for defining our views,
so we need to tell JSF to use Facelets as its templating engine.
-<br/><br/>
- Note that we don't need any JSF managed bean declarations! Our managed beans are
annotated Seam components. In Seam applications, the faces-config.xml is used much less
often than in plain JSF. Here, we are simply using it to enable Facelets as the view
handler instead of JSP.
-<br/><br/>
-In fact, once you have all the basic descriptors set up, the only XML you need to write
as you add new functionality to a Seam application is orchestration: navigation rules or
jBPM process definitions. Seam's stand is that process flow and configuration data are
the only things that truly belong in XML.
-<br/><br/>
-In this simple example, we don't even need a navigation rule, since we decided to
embed the view id in our action code.
- </description>
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration/WebContent/WEB-INF/faces-config.xml"/>
-
- </item>
-
- <item
- skip="true"
- title="The EJB deployment descriptor: ejb-jar.xml">
- <description>
- The ejb-jar.xml file integrates Seam with EJB3, by attaching the SeamInterceptor to
all session beans in the archive.
- </description>
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/META-INF/ejb-jar.xml"/>
-
- </item>
-
- <item
- skip="true"
- title="The EJB persistence deployment descriptor: persistence.xml">
- <description>
- The persistence.xml file tells the EJB persistence provider where to find the
datasource, and contains some vendor-specific settings. In this case, enables automatic
schema export at startup time.
- </description>
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ejb/ejbModule/META-INF/persistence.xml"/>
-
- </item>
-
- <item
- skip="true"
- title="The EAR deployment descriptor: application.xml">
- <description>
- The persistence.xml file tells the EJB persistence provider where to find the
datasource, and contains some vendor-specific settings. In this case, enables automatic
schema export at startup time.
-<br/><br/>
-This deployment descriptor links modules in the enterprise archive and binds the web
application to the context root /registration.
- </description>
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.OpenFileInEditor"
- param1="/registration-ear/EarContent/META-INF/application.xml"/>
- </item>
-
- <item
- skip="true"
- title="Run and deploy the application">
- <description>
- Right-click the registration-ear/resources/registration-ds.xml file and select
<b>Make Deployable.</b>
- <br/>
- Right-click the registration project and select <b>Run As</b> >
<b>Run On Server</b> or click on the "Click to Perform" link
below.
- </description>
- <action
- pluginId="org.jboss.tools.seam.tutorial"
- class="org.jboss.tools.seam.tutorial.actions.RunOnServer"
- param1="registration"
- param2="registration-ear/resources/registration-ds.xml"/>
-
- </item>
-</cheatsheet>
Modified: trunk/examples/plugins/org.jboss.tools.seam.tutorial/plugin.xml
===================================================================
--- trunk/examples/plugins/org.jboss.tools.seam.tutorial/plugin.xml 2009-05-04 19:18:43
UTC (rev 15014)
+++ trunk/examples/plugins/org.jboss.tools.seam.tutorial/plugin.xml 2009-05-04 21:03:52
UTC (rev 15015)
@@ -5,15 +5,15 @@
point="org.eclipse.ui.cheatsheets.cheatSheetContent">
<category
id="org.jboss.tools.seam.tutorial"
- name="JBoss Seam Tutorials">
+ name="Project Examples Tutorial">
</category>
<cheatsheet
category="org.jboss.tools.seam.tutorial"
- contentFile="$nl$/cheatsheets/registration.xml"
- id="org.jboss.tools.seam.tutorial.registration"
- name="Your first Seam application: the registration example">
+ contentFile="$nl$/cheatsheets/projectExamples.xml"
+ id="org.jboss.tools.seam.tutorial.projectExamples"
+ name="Project Examples Tutorial">
<description>
- The registration example is a simple application that lets a new user store
his username, real name and password in the database.
+ Learn how to use Project Examples Wizard
</description>
</cheatsheet>
</extension>
Modified: workspace/examples/project-examples-3.0.xml
===================================================================
--- workspace/examples/project-examples-3.0.xml 2009-05-04 19:18:43 UTC (rev 15014)
+++ workspace/examples/project-examples-3.0.xml 2009-05-04 21:03:52 UTC (rev 15015)
@@ -158,12 +158,14 @@
</included-projects>
<shortDescription>Seam Registration Example - EAR</shortDescription>
<description>This is a trivial example for the Seam tutorial. It runs on both
JBoss AS and Tomcat.
-It includes the registration,registration-ejb,registration-ear,registration-test
projects.
+The example creates the registration,registration-ejb,registration-ear projects.
+It includes a tutorial.
</description>
<size>8450048</size>
<url>
http://anonsvn.jboss.org/repos/jbosstools/workspace/snjeza/seam-examples/...
</url>
+ <welcome type="cheatsheets"
url="/registration/cheatsheets/registration.xml"/>
</project>
<project>
Modified: workspace/snjeza/seam-examples/registration2.zip
===================================================================
(Binary files differ)