[Yanel-commits] rev 25628 - in public/yanel/trunk/src:
realms/yanel-website/content realms/yanel-website/content/usecases
realms/yanel-website/content/usecases/user-mgmt
realms/yanel-website/content/usecases/user-mgmt/templates
realms/yanel-website/content/xslt realms/yanel-website/paths
realms/yanel-website/paths/usecases
realms/yanel-website/paths/usecases/user-mgmt
realms/yanel-website/paths/usecases/user-mgmt/create-group.html.yanel-rc
realms/yanel-website/paths/usecases/user-mgmt/create-user.html.yanel-rc
realms/yanel-website/paths/usecases/user-mgmt/delete-group.html.yanel-rc
realms/yanel-website/paths/usecases/user-mgmt/delete-user.html.yanel-rc
realms/yanel-website/paths/usecases/user-mgmt/list-groups.html.yanel-rc
realms/yanel-website/paths/usecases/user-mgmt/list-users.html.yanel-rc
realms/yanel-website/paths/usecases/user-mgmt/templates
realms/yanel-website/paths/usecases/user-mgmt/templates/create-group.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/creat!
e-user.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/delete-group.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/delete-user.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/list-groups.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/list-users.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/update-user-admin.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/update-user.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-cancel.jelly
realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-done.jelly
realms/yanel-website/paths/usecases/user-mgmt/update-user-admin.html.yanel-rc
realms/yanel-website/paths/usecases/user-mgmt/update-user.html.yanel-rc
resources resources/user-mgmt resources/user-mgmt/src
resources/user-mgmt/src/build resources/user-mgmt/src/java
resources/user-mgmt/!
src/java/org resources/user-mgmt/src/java/org/wyona resources/!
user-mgmt/src/java/org/wyona/yanel
resources/user-mgmt/src/java/org/wyona/yanel/impl
resources/user-mgmt/src/java/org/wyona/yanel/impl/resources
josias at wyona.com
josias at wyona.com
Fri Jun 29 16:57:46 CEST 2007
Author: josias
Date: 2007-06-29 16:57:45 +0200 (Fri, 29 Jun 2007)
New Revision: 25628
Added:
public/yanel/trunk/src/realms/yanel-website/content/usecases/
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/create-group.rc
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/create-user.rc
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/delete-group.rc
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/delete-user.rc
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/list-groups.rc
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/list-users.rc
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/create-group.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/create-user.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/delete-group.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/delete-user.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/list-groups.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/list-users.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/update-user-admin.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/update-user.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/usecase-cancel.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/usecase-done.jelly
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/update-user-admin.rc
public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/update-user.rc
public/yanel/trunk/src/realms/yanel-website/content/xslt/usecase.xsl
public/yanel/trunk/src/realms/yanel-website/paths/usecases/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-group.html.yanel-rc/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-group.html.yanel-rc/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-user.html.yanel-rc/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-user.html.yanel-rc/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-group.html.yanel-rc/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-group.html.yanel-rc/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-user.html.yanel-rc/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-user.html.yanel-rc/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-groups.html.yanel-rc/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-groups.html.yanel-rc/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-users.html.yanel-rc/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-users.html.yanel-rc/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-group.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-group.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-user.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-user.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-group.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-group.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-user.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-user.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-groups.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-groups.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/list-users.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/list-users.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user-admin.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user-admin.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-cancel.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-cancel.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-done.jelly/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-done.jelly/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user-admin.html.yanel-rc/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user-admin.html.yanel-rc/.yarep-uid
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user.html.yanel-rc/
public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user.html.yanel-rc/.yarep-uid
public/yanel/trunk/src/resources/user-mgmt/
public/yanel/trunk/src/resources/user-mgmt/build.xml
public/yanel/trunk/src/resources/user-mgmt/resource-create-group.xml
public/yanel/trunk/src/resources/user-mgmt/resource-create-user.xml
public/yanel/trunk/src/resources/user-mgmt/resource-delete-group.xml
public/yanel/trunk/src/resources/user-mgmt/resource-delete-user.xml
public/yanel/trunk/src/resources/user-mgmt/resource-list-groups.xml
public/yanel/trunk/src/resources/user-mgmt/resource-list-users.xml
public/yanel/trunk/src/resources/user-mgmt/resource-update-user.xml
public/yanel/trunk/src/resources/user-mgmt/src/
public/yanel/trunk/src/resources/user-mgmt/src/build/
public/yanel/trunk/src/resources/user-mgmt/src/build/build.properties
public/yanel/trunk/src/resources/user-mgmt/src/build/dependencies.xml
public/yanel/trunk/src/resources/user-mgmt/src/java/
public/yanel/trunk/src/resources/user-mgmt/src/java/org/
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateGroupResource.java
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateUserResource.java
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteGroupResource.java
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteUserResource.java
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListGroupsResource.java
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListUsersResource.java
public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/UpdateUserResource.java
Log:
added user management resource
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/create-group.rc
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/create-group.rc (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/create-group.rc 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+
+<yanel:resource-config xmlns:yanel="http://www.wyona.org/yanel/rti/1.0">
+ <yanel:rti name="create-group" namespace="http://www.wyona.org/yanel/resource/1.0"/>
+
+ <yanel:property name="xslt" value="/xslt/usecase.xsl"/>
+
+ <yanel:custom-config>
+ <views>
+ <view id="default" type="jelly">
+ <template>/usecases/user-mgmt/templates/create-group.jelly</template>
+ </view>
+ <view id="done" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-done.jelly</template>
+ </view>
+ <view id="cancel" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-cancel.jelly</template>
+ </view>
+ </views>
+ </yanel:custom-config>
+
+</yanel:resource-config>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/create-user.rc
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/create-user.rc (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/create-user.rc 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+
+<yanel:resource-config xmlns:yanel="http://www.wyona.org/yanel/rti/1.0">
+ <yanel:rti name="create-user" namespace="http://www.wyona.org/yanel/resource/1.0"/>
+
+ <yanel:property name="xslt" value="/xslt/usecase.xsl"/>
+
+ <yanel:custom-config>
+ <views>
+ <view id="default" type="jelly">
+ <template>/usecases/user-mgmt/templates/create-user.jelly</template>
+ </view>
+ <view id="done" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-done.jelly</template>
+ </view>
+ <view id="cancel" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-cancel.jelly</template>
+ </view>
+ </views>
+ </yanel:custom-config>
+
+</yanel:resource-config>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/delete-group.rc
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/delete-group.rc (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/delete-group.rc 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+
+<yanel:resource-config xmlns:yanel="http://www.wyona.org/yanel/rti/1.0">
+ <yanel:rti name="delete-group" namespace="http://www.wyona.org/yanel/resource/1.0"/>
+
+ <yanel:property name="xslt" value="/xslt/usecase.xsl"/>
+
+ <yanel:custom-config>
+ <views>
+ <view id="default" type="jelly">
+ <template>/usecases/user-mgmt/templates/delete-group.jelly</template>
+ </view>
+ <view id="done" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-done.jelly</template>
+ </view>
+ <view id="cancel" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-cancel.jelly</template>
+ </view>
+ </views>
+ </yanel:custom-config>
+
+</yanel:resource-config>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/delete-user.rc
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/delete-user.rc (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/delete-user.rc 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+
+<yanel:resource-config xmlns:yanel="http://www.wyona.org/yanel/rti/1.0">
+ <yanel:rti name="delete-user" namespace="http://www.wyona.org/yanel/resource/1.0"/>
+
+ <yanel:property name="xslt" value="/xslt/usecase.xsl"/>
+
+ <yanel:custom-config>
+ <views>
+ <view id="default" type="jelly">
+ <template>/usecases/user-mgmt/templates/delete-user.jelly</template>
+ </view>
+ <view id="done" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-done.jelly</template>
+ </view>
+ <view id="cancel" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-cancel.jelly</template>
+ </view>
+ </views>
+ </yanel:custom-config>
+
+</yanel:resource-config>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/list-groups.rc
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/list-groups.rc (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/list-groups.rc 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+
+<yanel:resource-config xmlns:yanel="http://www.wyona.org/yanel/rti/1.0">
+ <yanel:rti name="list-groups" namespace="http://www.wyona.org/yanel/resource/1.0"/>
+
+ <yanel:property name="xslt" value="/xslt/usecase.xsl"/>
+
+ <yanel:custom-config>
+ <views>
+ <view id="default" type="jelly">
+ <template>/usecases/user-mgmt/templates/list-groups.jelly</template>
+ </view>
+ </views>
+ </yanel:custom-config>
+
+</yanel:resource-config>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/list-users.rc
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/list-users.rc (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/list-users.rc 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+
+<yanel:resource-config xmlns:yanel="http://www.wyona.org/yanel/rti/1.0">
+ <yanel:rti name="list-users" namespace="http://www.wyona.org/yanel/resource/1.0"/>
+
+ <yanel:property name="xslt" value="/xslt/usecase.xsl"/>
+
+ <yanel:custom-config>
+ <views>
+ <view id="default" type="jelly">
+ <template>/usecases/user-mgmt/templates/list-users.jelly</template>
+ </view>
+ </views>
+ </yanel:custom-config>
+
+</yanel:resource-config>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/create-group.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/create-group.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/create-group.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Create Group</h1>
+ <p>${resource.getErrorMessages()}</p>
+ <form action="">
+ <label for="groupID">Group ID:</label>
+ <input type="text" id="groupID" name="groupID" value="${resource.getParameterAsString('groupID')}"/>
+ <br/>
+ Name: <input type="text" name="name" value="${resource.getParameterAsString('name')}"/>
+ <br/>
+ <input type="submit" name="submit" value="Ok"/>
+ <input type="submit" name="cancel" value="Cancel"/>
+ </form>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/create-user.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/create-user.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/create-user.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Create User</h1>
+ <p>${resource.getErrorMessages()}</p>
+ <form action="">
+ <label for="userID">User ID:</label>
+ <input type="text" id="userID" name="userID" value="${resource.getParameterAsString('userID')}"/>
+ <br/>
+ Name: <input type="text" name="name" value="${resource.getParameterAsString('name')}"/>
+ <br/>
+ Email: <input type="text" name="email" value="${resource.getParameterAsString('email')}"/>
+ <br/>
+ Password: <input type="password" name="password1"/>
+ <br/>
+ Password: <input type="password" name="password2"/>
+ <br/>
+ <input type="submit" name="submit" value="Ok"/>
+ <input type="submit" name="cancel" value="Cancel"/>
+ </form>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/delete-group.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/delete-group.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/delete-group.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Delete Group: ${resource.getParameterAsString('groupID')}</h1>
+ <p>${resource.getErrorMessages()}</p>
+ <form action="" >
+ <input type="hidden" name="groupID" value="${resource.getParameterAsString('groupID')}"/>
+ <p style="width: 500px; text-align: left">Are you sure you want to permanently delete the group ${resource.getParameterAsString('groupID')} (${resource.getGroup().getName()})?</p>
+ <input type="submit" name="submit" value="Ok"/>
+ <input type="submit" name="cancel" value="Cancel"/>
+ </form>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/delete-user.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/delete-user.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/delete-user.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Delete User: ${resource.getParameterAsString('userID')}</h1>
+ <p>${resource.getErrorMessages()}</p>
+ <form action="" >
+ <input type="hidden" name="userID" value="${resource.getParameterAsString('userID')}"/>
+ <p style="width: 500px; text-align: left">Are you sure you want to permanently delete the user ${resource.getParameterAsString('userID')} (${resource.getUser().getName()})?</p>
+ <input type="submit" name="submit" value="Ok"/>
+ <input type="submit" name="cancel" value="Cancel"/>
+ </form>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/list-groups.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/list-groups.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/list-groups.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Groups</h1>
+ <table border="1">
+ <tr>
+ <th>ID</th>
+ <th>Name</th>
+ <th>Action</th>
+ </tr>
+ <j:forEach var="group" items="${resource.getGroups()}">
+ <tr>
+ <td>${group.getID()}</td>
+ <td>${group.getName()}</td>
+ <td><a href="delete-group.html?groupID=${group.getID()}">Delete</a></td>
+ </tr>
+ </j:forEach>
+ </table>
+ <a href="create-group.html">Create new group</a>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/list-users.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/list-users.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/list-users.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Users</h1>
+ <table border="1">
+ <tr>
+ <th>ID</th>
+ <th>Name</th>
+ <th>Email</th>
+ <th colspan="3">Actions</th>
+ </tr>
+ <j:forEach var="user" items="${resource.getUsers()}">
+ <tr>
+ <td>${user.getID()}</td>
+ <td>${user.getName()}</td>
+ <td>${user.getEmail()}</td>
+ <td><a href="update-user.html?userID=${user.getID()}">Edit</a></td>
+ <td><a href="update-user-admin.html?userID=${user.getID()}">Admin</a></td>
+ <td><a href="delete-user.html?userID=${user.getID()}">Delete</a></td>
+ </tr>
+ </j:forEach>
+ </table>
+ <a href="create-user.html">Create new user</a>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/update-user-admin.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/update-user-admin.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/update-user-admin.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Update User: ${resource.getParameterAsString('userID')}</h1>
+ <p>${resource.getErrorMessages()}</p>
+ <form action="" >
+ <input type="hidden" name="userID" value="${resource.getParameterAsString('userID')}"/>
+ <input type="hidden" name="usecaseState" value="${resource.getParameterAsString('usecaseState')}"/>
+ Name: <input type="text" name="name" value="${resource.getParameterAsString('name')}"/>
+ <br/>
+ Email: <input type="text" name="email" value="${resource.getParameterAsString('email')}"/>
+ <br/>
+ New Password: <input type="password" name="password1"/>
+ <br/>
+ New Password: <input type="password" name="password2"/>
+ <br/>
+
+ Group Affiliation:
+ <table border="1">
+ <j:forEach var="group" items="${resource.getGroups()}">
+ <tr>
+ <td>${group.getName()}</td>
+ <td>
+ <j:choose>
+ <j:when test="${resource.isGroupSelected(group)}">
+ <input type="checkbox" checked="checked" name="groups" value="${group.getID()}"/>
+ </j:when>
+ <j:otherwise>
+ <input type="checkbox" name="groups" value="${group.getID()}"/>
+ </j:otherwise>
+ </j:choose>
+ </td>
+ </tr>
+ </j:forEach>
+ </table>
+
+ <input type="submit" name="submit" value="Ok"/>
+ <input type="submit" name="cancel" value="Cancel"/>
+ </form>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/update-user.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/update-user.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/update-user.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Update User: ${resource.getParameterAsString('userID')}</h1>
+ <p>${resource.getErrorMessages()}</p>
+ <form action="" >
+ <input type="hidden" name="userID" value="${resource.getParameterAsString('userID')}"/>
+ <input type="hidden" name="usecaseState" value="${resource.getParameterAsString('usecaseState')}"/>
+ Name: <input type="text" name="name" value="${resource.getParameterAsString('name')}"/>
+ <br/>
+ Email: <input type="text" name="email" value="${resource.getParameterAsString('email')}"/>
+ <br/>
+ Current Password: <input type="password" name="oldPassword"/>
+ <br/>
+ New Password: <input type="password" name="password1"/>
+ <br/>
+ New Password: <input type="password" name="password2"/>
+ <br/>
+
+ Group Affiliation:
+ <table border="1">
+ <j:forEach var="group" items="${resource.getGroups()}">
+ <tr>
+ <td>${group.getName()}</td>
+ <td>
+ <j:choose>
+ <j:when test="${resource.isGroupSelected(group)}">
+ <input disabled="disabled" type="checkbox" checked="checked" name="groups" value="${group.getID()}"/>
+ </j:when>
+ <j:otherwise>
+ <input disabled="disabled" type="checkbox" name="groups" value="${group.getID()}"/>
+ </j:otherwise>
+ </j:choose>
+ </td>
+ </tr>
+ </j:forEach>
+ </table>
+
+ <input type="submit" name="submit" value="Ok"/>
+ <input type="submit" name="cancel" value="Cancel"/>
+ </form>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/usecase-cancel.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/usecase-cancel.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/usecase-cancel.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Usecase cancelled</h1>
+ <a href="list-users.html">Show list of users</a>
+ <br/>
+ <a href="list-groups.html">Show list of groups</a>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/usecase-done.jelly
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/usecase-done.jelly (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/templates/usecase-done.jelly 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<j:jelly xmlns:j="jelly:core">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Usecase done</h1>
+ <p>${resource.getErrorMessages()}</p>
+ <p>${resource.getInfoMessages()}</p>
+
+ <a href="list-users.html">Show list of users</a>
+ <br/>
+ <a href="list-groups.html">Show list of groups</a>
+ </body>
+ </html>
+</j:jelly>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/update-user-admin.rc
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/update-user-admin.rc (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/update-user-admin.rc 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+
+<yanel:resource-config xmlns:yanel="http://www.wyona.org/yanel/rti/1.0">
+ <yanel:rti name="update-user" namespace="http://www.wyona.org/yanel/resource/1.0"/>
+
+ <yanel:property name="xslt" value="/xslt/usecase.xsl"/>
+ <yanel:property name="allowEditGroups" value="true"/>
+ <yanel:property name="verifyPassword" value="false"/>
+
+ <yanel:custom-config>
+ <views>
+ <view id="default" type="jelly">
+ <template>/usecases/user-mgmt/templates/update-user-admin.jelly</template>
+ </view>
+ <view id="done" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-done.jelly</template>
+ </view>
+ <view id="cancel" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-cancel.jelly</template>
+ </view>
+ </views>
+ </yanel:custom-config>
+
+</yanel:resource-config>
Added: public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/update-user.rc
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/update-user.rc (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/usecases/user-mgmt/update-user.rc 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+
+<yanel:resource-config xmlns:yanel="http://www.wyona.org/yanel/rti/1.0">
+ <yanel:rti name="update-user" namespace="http://www.wyona.org/yanel/resource/1.0"/>
+
+ <yanel:property name="xslt" value="/xslt/usecase.xsl"/>
+ <yanel:property name="allowEditGroups" value="false"/>
+ <yanel:property name="verifyPassword" value="true"/>
+
+ <yanel:custom-config>
+ <views>
+ <view id="default" type="jelly">
+ <template>/usecases/user-mgmt/templates/update-user.jelly</template>
+ </view>
+ <view id="done" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-done.jelly</template>
+ </view>
+ <view id="cancel" type="jelly">
+ <template>/usecases/user-mgmt/templates/usecase-cancel.jelly</template>
+ </view>
+ </views>
+ </yanel:custom-config>
+
+</yanel:resource-config>
Added: public/yanel/trunk/src/realms/yanel-website/content/xslt/usecase.xsl
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/xslt/usecase.xsl (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/content/xslt/usecase.xsl 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:yanel="http://www.wyona.org/yanel/1.0">
+
+ <xsl:param name="yanel.back2realm" select="'BACK2REALM_IS_NULL'"/>
+ <xsl:param name="yanel.reservedPrefix" select="'RESERVEDPREFIX_IS_NULL'"/>
+
+ <xsl:template match="/">
+ <html>
+ <head>
+ <link rel="stylesheet" href="{$yanel.back2realm}{$yanel.reservedPrefix}/yanel-css/global.css" type="text/css"/>
+ <xsl:apply-templates select="/xhtml:html/xhtml:head/*"/>
+ </head>
+ <body>
+ <table cellspacing="0" cellpadding="0" id="bodytable">
+ <tr>
+ <td id="title"></td>
+ <td id="logo">
+ <img src="{$yanel.back2realm}{$yanel.reservedPrefix}/yanel-img/yanel_header.png"/>
+ </td>
+ </tr>
+ <tr>
+ <td width="100%" valign="top" colspan="2">
+ <div id="content">
+ <xsl:apply-templates select="/xhtml:html/xhtml:body/*"/>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+
+</xsl:stylesheet>
Property changes on: public/yanel/trunk/src/realms/yanel-website/content/xslt/usecase.xsl
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-group.html.yanel-rc/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-group.html.yanel-rc/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-group.html.yanel-rc/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/create-group.rc
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-user.html.yanel-rc/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-user.html.yanel-rc/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/create-user.html.yanel-rc/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/create-user.rc
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-group.html.yanel-rc/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-group.html.yanel-rc/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-group.html.yanel-rc/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/delete-group.rc
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-user.html.yanel-rc/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-user.html.yanel-rc/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/delete-user.html.yanel-rc/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/delete-user.rc
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-groups.html.yanel-rc/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-groups.html.yanel-rc/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-groups.html.yanel-rc/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/list-groups.rc
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-users.html.yanel-rc/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-users.html.yanel-rc/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/list-users.html.yanel-rc/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/list-users.rc
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-group.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-group.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-group.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/create-group.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-user.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-user.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/create-user.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/create-user.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-group.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-group.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-group.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/delete-group.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-user.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-user.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/delete-user.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/delete-user.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-groups.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-groups.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-groups.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/list-groups.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/list-users.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/list-users.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/list-users.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/list-users.jelly/list-users.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/list-users.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user-admin.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user-admin.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user-admin.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/update-user-admin.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/update-user.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/update-user.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-cancel.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-cancel.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-cancel.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/usecase-cancel.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-done.jelly/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-done.jelly/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/templates/usecase-done.jelly/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/templates/usecase-done.jelly
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user-admin.html.yanel-rc/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user-admin.html.yanel-rc/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user-admin.html.yanel-rc/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/update-user-admin.rc
Added: public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user.html.yanel-rc/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user.html.yanel-rc/.yarep-uid (rev 0)
+++ public/yanel/trunk/src/realms/yanel-website/paths/usecases/user-mgmt/update-user.html.yanel-rc/.yarep-uid 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1 @@
+usecases/user-mgmt/update-user.rc
Added: public/yanel/trunk/src/resources/user-mgmt/build.xml
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/build.xml (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/build.xml 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+
+<project name="yanel-resource" default="compile">
+
+ <import file="src/build/dependencies.xml"/>
+
+ <target name="init" description="Initialize build" depends="dependencies">
+ <echo>Initialize build</echo>
+
+ <dirname property="resource.home.dir" file="${ant.file}"/>
+ <echo>Resource Home Directory: ${resource.home.dir}</echo>
+
+ <property file="${resource.home.dir}/src/build/local.build.properties"/>
+ <property file="${resource.home.dir}/src/build/build.properties"/>
+
+ <path id="classpath">
+ <pathelement path="${maven2.cp}"/>
+ <pathelement path="${maven2.resource.cp}"/>
+ </path>
+ <property name="resource.build.dir" value="${resource.home.dir}/build"/>
+ <property name="resource.classes.dir" value="${resource.build.dir}/classes"/>
+ <property name="resource.lib.dir" value="${resource.build.dir}/lib"/>
+ <property name="resource.java.dir" value="${resource.home.dir}/src/java"/>
+ </target>
+
+ <target name="compile" description="Compile Java classes" depends="init">
+
+ <mkdir dir="${resource.classes.dir}"/>
+ <javac srcdir="${resource.java.dir}" destdir="${resource.classes.dir}"
+ classpathref="classpath"
+ debug="true"
+ />
+ <mkdir dir="${resource.lib.dir}"/>
+ <jar destfile="${resource.lib.dir}/yanel-resource-${resource.name}-${resource.version}.jar"
+ basedir="${resource.classes.dir}"
+ />
+ </target>
+
+ <target name="clean" depends="init">
+ <delete dir="${resource.build.dir}"/>
+ </target>
+
+ <target name="copy-dependencies" depends="init">
+ <copy todir="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/lib">
+ <fileset refid="maven2.resource.fileset"/>
+ <mapper type="flatten"/>
+ </copy>
+ </target>
+</project>
Property changes on: public/yanel/trunk/src/resources/user-mgmt/build.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/resource-create-group.xml
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/resource-create-group.xml (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/resource-create-group.xml 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<resource xmlns="http://www.wyona.org/yanel/1.0"
+ name="create-group"
+ namespace="http://www.wyona.org/yanel/resource/1.0"
+ class="org.wyona.yanel.impl.resources.CreateGroupResource"
+ >
+<description>
+Create group
+</description>
+
+<rtd>
+ <property name="xslt"/>
+</rtd>
+</resource>
Property changes on: public/yanel/trunk/src/resources/user-mgmt/resource-create-group.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/resource-create-user.xml
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/resource-create-user.xml (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/resource-create-user.xml 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<resource xmlns="http://www.wyona.org/yanel/1.0"
+ name="create-user"
+ namespace="http://www.wyona.org/yanel/resource/1.0"
+ class="org.wyona.yanel.impl.resources.CreateUserResource"
+ >
+<description>
+Create user
+</description>
+
+<rtd>
+ <property name="xslt"/>
+</rtd>
+</resource>
Property changes on: public/yanel/trunk/src/resources/user-mgmt/resource-create-user.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/resource-delete-group.xml
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/resource-delete-group.xml (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/resource-delete-group.xml 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<resource xmlns="http://www.wyona.org/yanel/1.0"
+ name="delete-group"
+ namespace="http://www.wyona.org/yanel/resource/1.0"
+ class="org.wyona.yanel.impl.resources.DeleteGroupResource"
+ >
+<description>
+Delete group
+</description>
+
+<rtd>
+ <property name="xslt"/>
+</rtd>
+</resource>
Property changes on: public/yanel/trunk/src/resources/user-mgmt/resource-delete-group.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/resource-delete-user.xml
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/resource-delete-user.xml (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/resource-delete-user.xml 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<resource xmlns="http://www.wyona.org/yanel/1.0"
+ name="delete-user"
+ namespace="http://www.wyona.org/yanel/resource/1.0"
+ class="org.wyona.yanel.impl.resources.DeleteUserResource"
+ >
+<description>
+Delete user
+</description>
+
+<rtd>
+ <property name="xslt"/>
+</rtd>
+</resource>
Property changes on: public/yanel/trunk/src/resources/user-mgmt/resource-delete-user.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/resource-list-groups.xml
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/resource-list-groups.xml (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/resource-list-groups.xml 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<resource xmlns="http://www.wyona.org/yanel/1.0"
+ name="list-groups"
+ namespace="http://www.wyona.org/yanel/resource/1.0"
+ class="org.wyona.yanel.impl.resources.ListGroupsResource"
+ >
+<description>
+List groups
+</description>
+
+<rtd>
+ <property name="xslt"/>
+</rtd>
+</resource>
Property changes on: public/yanel/trunk/src/resources/user-mgmt/resource-list-groups.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/resource-list-users.xml
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/resource-list-users.xml (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/resource-list-users.xml 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<resource xmlns="http://www.wyona.org/yanel/1.0"
+ name="list-users"
+ namespace="http://www.wyona.org/yanel/resource/1.0"
+ class="org.wyona.yanel.impl.resources.ListUsersResource"
+ >
+<description>
+List users
+</description>
+
+<rtd>
+ <property name="xslt"/>
+</rtd>
+</resource>
Property changes on: public/yanel/trunk/src/resources/user-mgmt/resource-list-users.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/resource-update-user.xml
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/resource-update-user.xml (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/resource-update-user.xml 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<resource xmlns="http://www.wyona.org/yanel/1.0"
+ name="update-user"
+ namespace="http://www.wyona.org/yanel/resource/1.0"
+ class="org.wyona.yanel.impl.resources.UpdateUserResource"
+ >
+<description>
+Update user
+</description>
+
+<rtd>
+ <property name="xslt"/>
+</rtd>
+</resource>
Property changes on: public/yanel/trunk/src/resources/user-mgmt/resource-update-user.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/src/build/build.properties
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/src/build/build.properties (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/src/build/build.properties 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,2 @@
+resource.name=user-mgmt
+resource.version=0.0.1-dev-rXXX
Property changes on: public/yanel/trunk/src/resources/user-mgmt/src/build/build.properties
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/src/build/dependencies.xml
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/src/build/dependencies.xml (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/src/build/dependencies.xml 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+
+<project name="wiki-dependencies" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+
+ <target name="dependencies" description="Dependencies">
+ <!-- INFO: http://maven.apache.org/ant-tasks.html -->
+ <artifact:remoteRepository id="wyona.remote.repository" url="http://www.wyona.org/maven2/"/>
+
+ <artifact:dependencies pathId="maven2.classpath" filesetId="maven2.fileset">
+ <remoteRepository refid="wyona.remote.repository"/>
+ <dependency groupId="wyona-org-yanel" artifactId="yanel-core" version="${yanel.source.version}"/>
+ <dependency groupId="javax.servlet" artifactId="servlet-api" version="2.3"/>
+ <dependency groupId="xml-resolver" artifactId="xml-resolver" version="1.1"/>
+ <dependency groupId="xalan" artifactId="xalan" version="2.7.0"/>
+ </artifact:dependencies>
+
+ <artifact:dependencies pathId="maven2.resource.classpath" filesetId="maven2.resource.fileset">
+ <remoteRepository refid="wyona.remote.repository"/>
+ <dependency groupId="wyona-org-yanel" artifactId="yanel-impl" version="${yanel.source.version}"/>
+ <dependency groupId="commons-jelly" artifactId="commons-jelly" version="1.0"/>
+ <dependency groupId="commons-jexl" artifactId="commons-jexl" version="1.0"/>
+ <dependency groupId="commons-beanutils" artifactId="commons-beanutils" version="1.6"/>
+ <dependency groupId="dom4j" artifactId="dom4j" version="1.5.2"/>
+ <dependency groupId="wyona-org-security" artifactId="wyona-org-security-core" version="0.0.1-dev-r23969"/>
+ <dependency groupId="avalon-framework" artifactId="avalon-framework-api" version="4.3"/>
+ <dependency groupId="avalon-framework" artifactId="avalon-framework-impl" version="4.3"/>
+ </artifact:dependencies>
+
+ <property name="maven2.cp" refid="maven2.classpath"/>
+ <property name="maven2.resource.cp" refid="maven2.resource.classpath"/>
+ <!--<echo>Maven2 classpath: ${maven2.cp}</echo>-->
+ </target>
+
+</project>
Property changes on: public/yanel/trunk/src/resources/user-mgmt/src/build/dependencies.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateGroupResource.java
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateGroupResource.java (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateGroupResource.java 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2006 Wyona
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.wyona.org/licenses/APACHE-LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wyona.yanel.impl.resources;
+
+import org.apache.log4j.Category;
+import org.wyona.security.core.api.AccessManagementException;
+import org.wyona.security.core.api.GroupManager;
+import org.wyona.yanel.impl.resources.usecase.ExecutableUsecaseResource;
+import org.wyona.yanel.impl.resources.usecase.UsecaseException;
+
+
+/**
+ *
+ */
+public class CreateGroupResource extends ExecutableUsecaseResource {
+
+ private static Category log = Category.getInstance(CreateGroupResource.class);
+
+ private static final String PARAM_GROUP_ID = "groupID";
+ private static final String PARAM_NAME = "name";
+
+ public void execute() throws UsecaseException {
+ GroupManager groupManager = getRealm().getIdentityManager().getGroupManager();
+ String id = getParameterAsString(PARAM_GROUP_ID);
+ String name = getParameterAsString(PARAM_NAME);
+ try {
+ if (log.isDebugEnabled()) {
+ log.debug("creating group: " + id + " " + name);
+ }
+ groupManager.createGroup(id, name);
+ addInfoMessage("Group " + id + " (" + name + ") created successfully.");
+ } catch (AccessManagementException e) {
+ log.error(e, e);
+ throw new UsecaseException(e.getMessage(), e);
+ }
+ }
+
+ public boolean checkPreconditions() throws UsecaseException {
+ String id = getParameterAsString(PARAM_GROUP_ID);
+ String name = getParameterAsString(PARAM_NAME);
+
+ if (id == null || id.length()==0) {
+ this.addError("Please enter a group ID.");
+ return false;
+ } else {
+ GroupManager groupManager = getRealm().getIdentityManager().getGroupManager();
+ try {
+ if (groupManager.existsGroup(id)) {
+ this.addError("Group with this ID exists already.");
+ return false;
+ }
+ } catch (AccessManagementException e) {
+ throw new UsecaseException(e.getMessage(), e);
+ }
+ }
+ if (name == null || name.length()==0) {
+ this.addError("Please enter a user name.");
+ return false;
+ }
+ return true;
+ }
+
+}
Property changes on: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateGroupResource.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateUserResource.java
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateUserResource.java (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateUserResource.java 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2006 Wyona
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.wyona.org/licenses/APACHE-LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wyona.yanel.impl.resources;
+
+import org.apache.log4j.Category;
+import org.wyona.security.core.api.AccessManagementException;
+import org.wyona.security.core.api.UserManager;
+import org.wyona.yanel.impl.resources.usecase.ExecutableUsecaseResource;
+import org.wyona.yanel.impl.resources.usecase.UsecaseException;
+
+
+/**
+ *
+ */
+public class CreateUserResource extends ExecutableUsecaseResource {
+
+ private static Category log = Category.getInstance(CreateUserResource.class);
+
+ private static final String PARAM_USER_ID = "userID";
+ private static final String PARAM_NAME = "name";
+ private static final String PARAM_EMAIL = "email";
+ private static final String PARAM_PASSWORD1 = "password1";
+ private static final String PARAM_PASSWORD2 = "password2";
+
+ public void execute() throws UsecaseException {
+ UserManager userManager = getRealm().getIdentityManager().getUserManager();
+ String id = getParameterAsString(PARAM_USER_ID);
+ String name = getParameterAsString(PARAM_NAME);
+ String email = getParameterAsString(PARAM_EMAIL);
+ String password = getParameterAsString(PARAM_PASSWORD1);
+ try {
+ if (log.isDebugEnabled()) {
+ log.debug("creating user: " + id + " " + name + " " + email);
+ }
+ userManager.createUser(id, name, email, password);
+ addInfoMessage("User " + id + " (" + name + ") created successfully.");
+ } catch (AccessManagementException e) {
+ log.error(e, e);
+ throw new UsecaseException(e.getMessage(), e);
+ }
+ }
+
+ public boolean checkPreconditions() throws UsecaseException {
+ String id = getParameterAsString(PARAM_USER_ID);
+ String name = getParameterAsString(PARAM_NAME);
+ String email = getParameterAsString(PARAM_EMAIL);
+ String password1 = getParameterAsString(PARAM_PASSWORD1);
+ String password2 = getParameterAsString(PARAM_PASSWORD2);
+
+ if (id == null || id.length()==0) {
+ this.addError("Please enter a user ID.");
+ return false;
+ } else {
+ UserManager userManager = getRealm().getIdentityManager().getUserManager();
+ try {
+ if (userManager.existsUser(id)) {
+ this.addError("User with this ID exists already.");
+ return false;
+ }
+ } catch (AccessManagementException e) {
+ throw new UsecaseException(e.getMessage(), e);
+ }
+ }
+ if (name == null || name.length()==0) {
+ this.addError("Please enter a user name.");
+ return false;
+ }
+ if (email == null || email.length()==0) {
+ this.addError("Please enter an email address.");
+ return false;
+ }
+ if (password1 == null || password1.length() < 6) {
+ this.addError("Please enter a password with at least 6 characters.");
+ return false;
+ }
+ if (!password1.equals(password2)) {
+ this.addError("Passwords don't match.");
+ return false;
+ }
+ return true;
+ }
+
+}
Property changes on: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/CreateUserResource.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteGroupResource.java
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteGroupResource.java (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteGroupResource.java 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2006 Wyona
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.wyona.org/licenses/APACHE-LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wyona.yanel.impl.resources;
+
+import org.apache.log4j.Category;
+import org.wyona.security.core.api.AccessManagementException;
+import org.wyona.security.core.api.Group;
+import org.wyona.security.core.api.GroupManager;
+import org.wyona.yanel.impl.resources.usecase.ExecutableUsecaseResource;
+import org.wyona.yanel.impl.resources.usecase.UsecaseException;
+
+/**
+ *
+ */
+public class DeleteGroupResource extends ExecutableUsecaseResource {
+
+ private static Category log = Category.getInstance(DeleteGroupResource.class);
+
+ private static final String PARAM_GROUP_ID = "groupID";
+
+ public void execute() throws UsecaseException {
+ try {
+ String id = getParameterAsString(PARAM_GROUP_ID);
+ if (log.isDebugEnabled()) {
+ log.debug("deleting group: " + id);
+ }
+ GroupManager groupManager = getRealm().getIdentityManager().getGroupManager();
+ groupManager.removeGroup(id);
+ addInfoMessage("Group " + id + " deleted successfully.");
+ } catch (AccessManagementException e) {
+ log.error(e, e);
+ throw new UsecaseException(e.getMessage(), e);
+ }
+ }
+
+ public Group getGroup() throws AccessManagementException {
+ String id = getParameterAsString(PARAM_GROUP_ID);
+ GroupManager groupManager = getRealm().getIdentityManager().getGroupManager();
+ Group group = groupManager.getGroup(id);
+ return group;
+ }
+
+}
Property changes on: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteGroupResource.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteUserResource.java
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteUserResource.java (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteUserResource.java 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2006 Wyona
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.wyona.org/licenses/APACHE-LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wyona.yanel.impl.resources;
+
+import org.apache.log4j.Category;
+import org.wyona.security.core.api.AccessManagementException;
+import org.wyona.security.core.api.User;
+import org.wyona.security.core.api.UserManager;
+import org.wyona.yanel.impl.resources.usecase.ExecutableUsecaseResource;
+import org.wyona.yanel.impl.resources.usecase.UsecaseException;
+
+/**
+ *
+ */
+public class DeleteUserResource extends ExecutableUsecaseResource {
+
+ private static Category log = Category.getInstance(DeleteUserResource.class);
+
+ private static final String PARAM_USER_ID = "userID";
+
+ public void execute() throws UsecaseException {
+ try {
+ String id = getParameterAsString(PARAM_USER_ID);
+ if (log.isDebugEnabled()) {
+ log.debug("deleting user: " + id);
+ }
+ UserManager userManager = getRealm().getIdentityManager().getUserManager();
+ userManager.removeUser(id);
+ addInfoMessage("User " + id + " deleted successfully.");
+ } catch (AccessManagementException e) {
+ log.error(e, e);
+ throw new UsecaseException(e.getMessage(), e);
+ }
+ }
+
+ public User getUser() throws AccessManagementException {
+ String id = getParameterAsString(PARAM_USER_ID);
+ UserManager userManager = getRealm().getIdentityManager().getUserManager();
+ User user = userManager.getUser(id);
+ return user;
+ }
+
+}
Property changes on: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/DeleteUserResource.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListGroupsResource.java
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListGroupsResource.java (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListGroupsResource.java 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2006 Wyona
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.wyona.org/licenses/APACHE-LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wyona.yanel.impl.resources;
+
+import org.wyona.security.core.api.AccessManagementException;
+import org.wyona.security.core.api.Group;
+import org.wyona.security.core.api.GroupManager;
+import org.wyona.yanel.impl.resources.usecase.UsecaseException;
+import org.wyona.yanel.impl.resources.usecase.UsecaseResource;
+
+
+/**
+ *
+ */
+public class ListGroupsResource extends UsecaseResource {
+
+ public Group[] getGroups() throws UsecaseException {
+ GroupManager groupManager = getRealm().getIdentityManager().getGroupManager();
+ try {
+ return groupManager.getGroups();
+ } catch (AccessManagementException e) {
+ throw new UsecaseException(e.toString(), e);
+ }
+ }
+
+}
Property changes on: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListGroupsResource.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListUsersResource.java
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListUsersResource.java (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListUsersResource.java 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2006 Wyona
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.wyona.org/licenses/APACHE-LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wyona.yanel.impl.resources;
+
+import org.wyona.security.core.api.AccessManagementException;
+import org.wyona.security.core.api.User;
+import org.wyona.security.core.api.UserManager;
+import org.wyona.yanel.impl.resources.usecase.UsecaseException;
+import org.wyona.yanel.impl.resources.usecase.UsecaseResource;
+
+
+/**
+ *
+ */
+public class ListUsersResource extends UsecaseResource {
+
+ public User[] getUsers() throws UsecaseException {
+ UserManager userManager = getRealm().getIdentityManager().getUserManager();
+ try {
+ return userManager.getUsers();
+ } catch (AccessManagementException e) {
+ throw new UsecaseException(e.toString(), e);
+ }
+ }
+
+}
Property changes on: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/ListUsersResource.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/UpdateUserResource.java
===================================================================
--- public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/UpdateUserResource.java (rev 0)
+++ public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/UpdateUserResource.java 2007-06-29 14:57:45 UTC (rev 25628)
@@ -0,0 +1,193 @@
+/*
+ * Copyright 2006 Wyona
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.wyona.org/licenses/APACHE-LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wyona.yanel.impl.resources;
+
+import org.apache.log4j.Category;
+import org.wyona.security.core.api.AccessManagementException;
+import org.wyona.security.core.api.Group;
+import org.wyona.security.core.api.GroupManager;
+import org.wyona.security.core.api.User;
+import org.wyona.security.core.api.UserManager;
+import org.wyona.yanel.impl.resources.usecase.ExecutableUsecaseResource;
+import org.wyona.yanel.impl.resources.usecase.UsecaseException;
+
+
+/**
+ * Update a user profile.
+ * This usecase can be configured with two resource config properties:
+ * - allowEditGroups: allow to edit the group affiliations of the user
+ * - verifyPassword: the user has to enter the current password
+ *
+ * This usecase may be used in two different situations:
+ * 1. a user wants to update his own profile
+ * 2. an admin user wants to update the profile of another user
+ */
+public class UpdateUserResource extends ExecutableUsecaseResource {
+
+ private static Category log = Category.getInstance(UpdateUserResource.class);
+
+ private static final String PARAM_USER_ID = "userID";
+ private static final String PARAM_NAME = "name";
+ private static final String PARAM_EMAIL = "email";
+ private static final String PARAM_OLD_PASSWORD = "oldPassword";
+ private static final String PARAM_PASSWORD1 = "password1";
+ private static final String PARAM_PASSWORD2 = "password2";
+ private static final String PARAM_GROUPS = "groups";
+ private static final String PARAM_USECASE_STATE = "usecaseState";
+
+ private static final String PROPERTY_ALLOW_EDIT_GROUPS = "allowEditGroups";
+ private static final String PROPERTY_VERIFY_PASSWORD = "verifyPassword";
+
+ public void cancel() {
+ // don't do anything
+ }
+
+ protected void init() throws UsecaseException {
+ super.init();
+ try {
+ User user = getUser();
+ if (getParameter(PARAM_USECASE_STATE) == null) {
+ // set initial parameter values:
+ setParameter(PARAM_NAME, user.getName());
+ setParameter(PARAM_EMAIL, user.getEmail());
+ Group[] groups = user.getGroups();
+ String[] groupIDs = new String[groups.length];
+ for (int i = 0; i < groups.length; i++) {
+ groupIDs[i] = groups[i].getID();
+ }
+ setParameter(PARAM_GROUPS, groupIDs);
+ setParameter(PARAM_USECASE_STATE, "initialized");
+ }
+ } catch (AccessManagementException e) {
+ throw new UsecaseException(e.getMessage(), e);
+ }
+ }
+
+ public void execute() throws UsecaseException {
+ String name = getParameterAsString(PARAM_NAME);
+ String email = getParameterAsString(PARAM_EMAIL);
+ String password = getParameterAsString(PARAM_PASSWORD1);
+ String[] groupIDs = getParameterAsStringValues(PARAM_GROUPS);
+ try {
+ User user = getUser();
+ if (log.isDebugEnabled()) {
+ log.debug("updating user: " + user.getID() + " " + name + " " + email);
+ }
+ user.setName(name);
+ user.setEmail(email);
+ if (password != null && password.length() > 0) {
+ user.setPassword(password);
+ }
+ String allowEditGroups = this.getResourceConfigProperty(PROPERTY_ALLOW_EDIT_GROUPS);
+ if (allowEditGroups != null && allowEditGroups.equals("true")) {
+ Group[] groups = getGroups();
+ for (int i = 0; i < groups.length; i++) {
+ boolean matched = false;
+ for (int j = 0; j < groupIDs.length; j++) {
+ if (groups[i].getID().equals(groupIDs[j])) {
+ matched = true;
+ break;
+ }
+ }
+ if (matched && !groups[i].isMember(user)) {
+ if (log.isDebugEnabled()) {
+ log.debug("adding user '" + user.getID() + "' to group '" + groups[i].getID() + "'");
+ }
+ groups[i].addMember(user);
+ groups[i].save();
+ }
+ if (!matched && groups[i].isMember(user)) {
+ if (log.isDebugEnabled()) {
+ log.debug("removing user '" + user.getID() + "' from group '" + groups[i].getID() + "'");
+ }
+ groups[i].removeMember(user);
+ groups[i].save();
+ }
+ }
+ }
+ user.save();
+ addInfoMessage("User " + user.getID() + " (" + name + ") updated successfully.");
+ } catch (AccessManagementException e) {
+ log.error(e, e);
+ throw new UsecaseException(e.getMessage(), e);
+ } catch (Exception e) {
+ log.error(e, e);
+ throw new UsecaseException(e.getMessage(), e);
+ }
+ }
+
+ public boolean checkPreconditions() throws UsecaseException {
+ String name = getParameterAsString(PARAM_NAME);
+ String email = getParameterAsString(PARAM_EMAIL);
+ String oldPassword = getParameterAsString(PARAM_OLD_PASSWORD);
+ String password1 = getParameterAsString(PARAM_PASSWORD1);
+ String password2 = getParameterAsString(PARAM_PASSWORD2);
+
+ if (name == null || name.length()==0) {
+ this.addError("Please enter a user name.");
+ return false;
+ }
+ if (email == null || email.length()==0) {
+ this.addError("Please enter an email address.");
+ return false;
+ }
+ if (password1 != null && password1.length() > 0 && password1.length() < 6) {
+ this.addError("Please enter a password with at least 6 characters.");
+ return false;
+ }
+ if (!password1.equals(password2)) {
+ this.addError("Passwords don't match.");
+ return false;
+ }
+ try {
+ String verifyPassword = this.getResourceConfigProperty(PROPERTY_VERIFY_PASSWORD);
+ if (verifyPassword != null && verifyPassword.equals("true")) {
+ User user = getUser();
+ if (!user.authenticate(oldPassword)) {
+ this.addError("Current password is not correct.");
+ return false;
+ }
+ }
+ } catch (Exception e) {
+ throw new UsecaseException(e.getMessage(), e);
+ }
+ return true;
+ }
+
+ public User getUser() throws AccessManagementException {
+ String id = getParameterAsString(PARAM_USER_ID);
+ UserManager userManager = getRealm().getIdentityManager().getUserManager();
+ User user = userManager.getUser(id);
+ return user;
+ }
+
+ public Group[] getGroups() throws AccessManagementException {
+ GroupManager groupManager = getRealm().getIdentityManager().getGroupManager();
+ return groupManager.getGroups();
+ }
+
+ public boolean isGroupSelected(Group group) throws AccessManagementException {
+ String[] groupIDs = (String[])getParameter(PARAM_GROUPS);
+
+ for (int i = 0; i < groupIDs.length; i++) {
+ if (groupIDs[i].equals(group.getID())) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
Property changes on: public/yanel/trunk/src/resources/user-mgmt/src/java/org/wyona/yanel/impl/resources/UpdateUserResource.java
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the Yanel-commits
mailing list