You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2004/12/22 09:57:35 UTC
svn commit: r123066 - /lenya/trunk/src/webapp/lenya/usecases/addUser.jx /lenya/trunk/src/webapp/lenya/usecases/usecase.xmap /lenya/trunk/src/webapp/lenya/usecases/usecases.js /lenya/trunk/src/webapp/lenya/usecases/userProfile.jx
Author: andreas
Date: Wed Dec 22 00:57:32 2004
New Revision: 123066
URL: http://svn.apache.org/viewcvs?view=rev&rev=123066
Log:
initial checkin of java-based access control usecasees
Added:
lenya/trunk/src/webapp/lenya/usecases/addUser.jx
lenya/trunk/src/webapp/lenya/usecases/usecase.xmap
lenya/trunk/src/webapp/lenya/usecases/usecases.js
lenya/trunk/src/webapp/lenya/usecases/userProfile.jx
Added: lenya/trunk/src/webapp/lenya/usecases/addUser.jx
Url: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/usecases/addUser.jx?view=auto&rev=123066
==============================================================================
--- (empty file)
+++ lenya/trunk/src/webapp/lenya/usecases/addUser.jx Wed Dec 22 00:57:32 2004
@@ -0,0 +1,82 @@
+<page:page
+ xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
+ xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+ >
+
+ <page:title><i18n:text>Add <jx:out value="${request.getParameter('userType')}"/></i18n:text></page:title>
+ <page:body>
+
+ <form>
+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/>
+
+ <table class="lenya-table-noborder">
+ <tr>
+ <td colspan="2">
+ <ul>
+ <jx:forEach var="message" items="${usecase.getErrorMessages()}">
+ <li>
+ <i18n:text><jx:out value="${message}"/></i18n:text>
+ </li>
+ </jx:forEach>
+ <jx:forEach var="message" items="${usecase.getInfoMessages()}">
+ <li>
+ <i18n:text><jx:out value="${message}"/></i18n:text>
+ </li>
+ </jx:forEach>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>User ID</i18n:text> *</td>
+ <td><input type="text" name="userId" class="lenya-form-entry" value="${request.getParameter('userId')}"/></td>
+ </tr>
+
+ <jx:if test="${request.getParameter('className') == 'org.apache.lenya.ac.ldap.LDAPUser'}">
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>LDAP ID</i18n:text> *</td>
+ <td><input type="text" name="ldapId" class="lenya-form-entry" value="${request.getParameter('ldapId')}"/></td>
+ </tr>
+ </jx:if>
+
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>Name</i18n:text> *</td>
+ <td><input type="text" name="fullName" class="lenya-form-entry" value="${request.getParameter('fullName')}"/></td>
+ </tr>
+ <tr>
+ <td valign="top" class="lenya-entry-caption"><i18n:text>Description</i18n:text></td>
+ <td>
+ <textarea name="description" class="lenya-form-entry">
+ <jx:out value="${request.getParameter('description')}"/>
+ </textarea>
+ </td>
+ </tr>
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>E-Mail</i18n:text> *</td>
+ <td><input type="text" name="email" class="lenya-form-entry" value="${request.getParameter('email')}"/></td>
+ </tr>
+
+ <jx:if test="${request.getParameter('className') != 'org.apache.lenya.ac.ldap.LDAPUser'}">
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>Password</i18n:text> *</td>
+ <td><input type="password" name="password" class="lenya-form-entry" value="${request.getParameter('password')}"/></td>
+ </tr>
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>Confirm pasword</i18n:text> *</td>
+ <td><input type="password" name="confirmPassword" class="lenya-form-entry" value="${request.getParameter('confirmPassword')}"/></td>
+ </tr>
+ </jx:if>
+
+ <tr>
+ <td/>
+ <td>
+ <input i18n:attr="value" type="submit" name="submit" value="Add"/>
+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/>
+ </td>
+ </tr>
+ </table>
+ </form>
+ </page:body>
+</page:page>
\ No newline at end of file
Added: lenya/trunk/src/webapp/lenya/usecases/usecase.xmap
Url: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/usecases/usecase.xmap?view=auto&rev=123066
==============================================================================
--- (empty file)
+++ lenya/trunk/src/webapp/lenya/usecases/usecase.xmap Wed Dec 22 00:57:32 2004
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+ <!-- =========================== Components ================================ -->
+
+ <map:components>
+ <map:generators default="file">
+ <map:generator name="jx" src="org.apache.cocoon.generation.JXTemplateGenerator" label="content" logger="sitemap.generator.jx"/>
+ </map:generators>
+ <map:transformers default="xslt">
+ <map:transformer name="forms" logger="forms" src="org.apache.cocoon.forms.transformation.FormsTemplateTransformer"/>
+ </map:transformers>
+ <map:serializers default="html">
+ <map:serializer logger="sitemap.serializer.xml" mime-type="text/xml" name="xml" src="org.apache.cocoon.serialization.XMLSerializer"/>
+ <map:serializer logger="sitemap.serializer.html" mime-type="text/html" name="html" pool-grow="4" pool-max="32" pool-min="4" src="org.apache.cocoon.serialization.HTMLSerializer">
+ <doctype-public>-//W3C//DTD HTML 4.01 Transitional//EN</doctype-public>
+ <doctype-system>http://www.w3.org/TR/html4/loose.dtd</doctype-system>
+ </map:serializer>
+ </map:serializers>
+ </map:components>
+
+ <!-- ========== -->
+ <!-- FlowScript -->
+ <!-- ========== -->
+
+ <map:flow language="javascript">
+ <map:script src="usecases.js"/>
+ </map:flow>
+
+ <!-- =========================== Pipelines ================================ -->
+
+ <map:views>
+ <map:view name="xml" from-label="xml">
+ <map:serialize type="xml"/>
+ </map:view>
+ </map:views>
+
+ <map:pipelines>
+
+ <map:pipeline type="noncaching">
+ <map:match pattern="redirect">
+ <map:generate src="../content/admin/common/redirect.xsp" type="serverpages"/>
+ <map:transform src="../xslt/admin/common/redirect.xsl"/>
+ <map:serialize/>
+ </map:match>
+
+ <map:match pattern="view/*">
+ <map:generate type="jx" src="{1}.jx"/>
+ <map:transform type="i18n">
+ <map:parameter name="locale" value="{request:locale}"/>
+ </map:transform>
+ <map:transform src="cocoon://lenya-screen.xsl"/>
+ <map:serialize type="html"/>
+ </map:match>
+ </map:pipeline>
+
+ <map:pipeline>
+ <map:match type="request-parameter" pattern="lenya.continuation">
+ <map:call continuation="{1}"/>
+ </map:match>
+ <map:match type="usecase" pattern="*">
+ <map:call function="executeUsecase"/>
+ </map:match>
+ </map:pipeline>
+
+ </map:pipelines>
+
+</map:sitemap>
Added: lenya/trunk/src/webapp/lenya/usecases/usecases.js
Url: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/usecases/usecases.js?view=auto&rev=123066
==============================================================================
--- (empty file)
+++ lenya/trunk/src/webapp/lenya/usecases/usecases.js Wed Dec 22 00:57:32 2004
@@ -0,0 +1,71 @@
+
+function passRequestParameters(flowHelper, usecase) {
+ var names = cocoon.request.getParameterNames();
+ while (names.hasMoreElements()) {
+ var name = names.nextElement();
+ if (!name.equals("lenya.usecase")
+ && !name.equals("lenya.continuation")
+ && !name.equals("submit")) {
+
+ var value = flowHelper.getRequest(cocoon).get(name);
+ Packages.java.lang.System.out.println("name: " + name + " value: " + value.getClass());
+
+ var string = new Packages.java.lang.String();
+ if (string.getClass().isInstance(value)) {
+ usecase.setParameter(name, value);
+ }
+ else {
+ usecase.setPart(name, value);
+ }
+
+ }
+ }
+}
+
+function executeUsecase() {
+ var usecaseName = cocoon.request.getParameter("lenya.usecase");
+ var usecaseResolver = cocoon.getComponent("org.apache.lenya.cms.usecase.UsecaseResolver");
+ var usecase = usecaseResolver.resolve(usecaseName);
+
+ var flowHelper = new Packages.org.apache.lenya.cms.cocoon.flow.FlowHelper();
+ var situation = flowHelper.getSituation(cocoon);
+ var envelope = flowHelper.getPageEnvelope(cocoon);
+ var document = envelope.getDocument();
+
+ passRequestParameters(flowHelper, usecase);
+
+ var ready = false;
+ var success = false;
+
+ while (!ready) {
+
+ cocoon.sendPageAndWait("view/" + usecaseName, {
+ "usecase" : usecase
+ });
+
+ if (cocoon.request.getParameter("submit")) {
+
+ passRequestParameters(flowHelper, usecase);
+
+ usecase.checkExecutionConditions();
+ if (usecase.getErrorMessages().isEmpty()) {
+ usecase.execute();
+ if (usecase.getErrorMessages().isEmpty()) {
+ usecase.checkPostconditions();
+ if (usecase.getErrorMessages().isEmpty()) {
+ ready = true;
+ success = true;
+ }
+ }
+ }
+ }
+ else if (cocoon.request.getParameter("cancel")) {
+ ready = true;
+ }
+
+ }
+
+ var url = envelope.getContext() + usecase.getTargetURL(success);
+ cocoon.redirectTo(url);
+
+}
Added: lenya/trunk/src/webapp/lenya/usecases/userProfile.jx
Url: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/usecases/userProfile.jx?view=auto&rev=123066
==============================================================================
--- (empty file)
+++ lenya/trunk/src/webapp/lenya/usecases/userProfile.jx Wed Dec 22 00:57:32 2004
@@ -0,0 +1,59 @@
+<page:page
+ xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
+ xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+ >
+
+ <page:title><i18n:text>Edit User Profile</i18n:text></page:title>
+ <page:body>
+
+ <form>
+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/>
+
+ <table class="lenya-table-noborder">
+ <tr>
+ <td colspan="2">
+ <ul>
+ <jx:forEach var="message" items="${usecase.getErrorMessages()}">
+ <li>
+ <i18n:text><jx:out value="${message}"/></i18n:text>
+ </li>
+ </jx:forEach>
+ <jx:forEach var="message" items="${usecase.getInfoMessages()}">
+ <li>
+ <i18n:text><jx:out value="${message}"/></i18n:text>
+ </li>
+ </jx:forEach>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>Name</i18n:text> *</td>
+ <td><input type="text" name="fullName" class="lenya-form-entry" value="${usecase.getParameter('fullName')}"/></td>
+ </tr>
+ <tr>
+ <td valign="top" class="lenya-entry-caption"><i18n:text>Description</i18n:text></td>
+ <td>
+ <textarea name="description" class="lenya-form-entry">
+ <jx:out value="${usecase.getParameter('description')}"/>
+ </textarea>
+ </td>
+ </tr>
+ <tr>
+ <td class="lenya-entry-caption"><i18n:text>E-Mail</i18n:text> *</td>
+ <td><input type="text" name="email" class="lenya-form-entry" value="${usecase.getParameter('email')}"/></td>
+ </tr>
+
+ <tr>
+ <td/>
+ <td>
+ <input i18n:attr="value" type="submit" name="submit" value="Save"/>
+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/>
+ </td>
+ </tr>
+ </table>
+ </form>
+ </page:body>
+</page:page>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org