[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