[jboss-svn-commits] JBL Code SVN: r5223 - in labs/shotoku/trunk: . shotoku-feeds/src/java/org/jboss/shotoku/feeds/data shotoku-user shotoku-user/src shotoku-user/src/etc shotoku-user/src/etc/META-INF shotoku-user/src/java shotoku-user/src/java/org shotoku-user/src/java/org/jboss shotoku-user/src/java/org/jboss/shotoku shotoku-user/src/java/org/jboss/shotoku/user shotoku-user/src/java/org/jboss/shotoku/user/service shotoku-user/src/java/org/jboss/shotoku/user/tools

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jul 21 15:23:41 EDT 2006


Author: adamw
Date: 2006-07-21 15:23:36 -0400 (Fri, 21 Jul 2006)
New Revision: 5223

Added:
   labs/shotoku/trunk/shotoku-user/
   labs/shotoku/trunk/shotoku-user/maven.xml
   labs/shotoku/trunk/shotoku-user/project.properties
   labs/shotoku/trunk/shotoku-user/project.xml
   labs/shotoku/trunk/shotoku-user/shotoku-user.iml
   labs/shotoku/trunk/shotoku-user/src/
   labs/shotoku/trunk/shotoku-user/src/etc/
   labs/shotoku/trunk/shotoku-user/src/etc/META-INF/
   labs/shotoku/trunk/shotoku-user/src/etc/META-INF/jboss.xml
   labs/shotoku/trunk/shotoku-user/src/java/
   labs/shotoku/trunk/shotoku-user/src/java/org/
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/Group.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/GroupNotFoundException.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/JBossPortalGroup.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/JBossPortalUser.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/User.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/UserNotFoundException.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/UserService.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/service/
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/service/UserServiceImpl.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/service/UserServiceLocal.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/tools/
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/tools/UserConstants.java
   labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/tools/UserTools.java
Modified:
   labs/shotoku/trunk/project.properties
   labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/data/TagFeed.java
Log:
http://jira.jboss.org/jira/browse/JBSHOTOKU-39

Modified: labs/shotoku/trunk/project.properties
===================================================================
--- labs/shotoku/trunk/project.properties	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/project.properties	2006-07-21 19:23:36 UTC (rev 5223)
@@ -5,7 +5,7 @@
 
 shotoku.sar.dir=shotoku.sar
 shotoku.subprojects.cms=base,files,jcr,svn
-shotoku.subprojects=${shotoku.subprojects.cms},aop,test,web,admin,tags,feeds,portal,file-access
+shotoku.subprojects=${shotoku.subprojects.cms},aop,test,user,web,admin,tags,feeds,portal,file-access
 
 maven.final.name=${pom.artifactId}
 
@@ -34,3 +34,4 @@
 maven.jar.shotoku-svn=${shotoku.root.dir}shotoku-svn/target/shotoku-svn.jar
 maven.jar.shotoku-aop=${shotoku.root.dir}shotoku-aop/target/shotoku-aop.jar
 maven.jar.shotoku-tags=${shotoku.root.dir}shotoku-tags/target/shotoku-tags.jar
+maven.jar.shotoku-user=${shotoku.root.dir}shotoku-user/target/shotoku-user.jar

Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/data/TagFeed.java
===================================================================
--- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/data/TagFeed.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/data/TagFeed.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -77,7 +77,7 @@
 
         if (FeedType.AUTHOR_TAG.toString().equals(rep)) {
             return FeedType.AUTHOR_TAG;
-        }
+        }                             
 
         if (FeedType.TAGS.toString().equals(rep)) {
             return FeedType.TAGS;
@@ -110,7 +110,7 @@
         TagService service = TagTools.getService();
 
         FeedType ft = getFeedType(infoTokens[0]);
-        
+
         String[] feedCounterData = new String[] { infoDataDecoded };
         try {
             switch (ft) {


Property changes on: labs/shotoku/trunk/shotoku-user
___________________________________________________________________
Name: svn:ignore
   + target


Added: labs/shotoku/trunk/shotoku-user/maven.xml
===================================================================
--- labs/shotoku/trunk/shotoku-user/maven.xml	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/maven.xml	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,22 @@
+<project xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:u="jelly:util">
+    <goal name="clean">
+        <attainGoal name="prj-clean" />
+    </goal>
+
+    <goal name="build">
+        <attainGoal name="ejb" />
+    </goal>
+
+    <goal name="deploy">
+        <ant:copy
+                file="target/shotoku-user.jar"
+                tofile="${local.deploy.dir}/shotoku-user.ejb3"
+                overwrite="true" />
+    </goal>
+
+	<goal name="all">
+		<attainGoal name="clean" />
+		<attainGoal name="build" />
+		<attainGoal name="deploy" />
+	</goal>
+</project>

Added: labs/shotoku/trunk/shotoku-user/project.properties
===================================================================
--- labs/shotoku/trunk/shotoku-user/project.properties	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/project.properties	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,6 @@
+maven.repo.remote=http://repository.atlassian.com,http://www.ibiblio.org/maven,http://dist.codehaus.org/
+
+maven.final.name=${pom.artifactId}
+
+maven.war.classes.includes=**/test/*
+

Added: labs/shotoku/trunk/shotoku-user/project.xml
===================================================================
--- labs/shotoku/trunk/shotoku-user/project.xml	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/project.xml	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<project>
+    <pomVersion>3</pomVersion>
+    <extend>../project.xml</extend>
+    <id>shotoku-user</id>
+    <name>Shotoku user</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>shotoku</groupId>
+            <artifactId>shotoku-base</artifactId>
+            <jar>shotoku-base.jar</jar>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet</artifactId>
+            <jar>javax.servlet.jar</jar>
+        </dependency>
+        <dependency>
+            <groupId>jboss</groupId>
+            <artifactId>portal-core</artifactId>
+            <jar>portal-core-lib.jar</jar>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <sourceDirectory>src/java</sourceDirectory>
+        <resources>
+            <resource>
+                <directory>src/etc/</directory>
+                <include>**/*.xml</include>
+            </resource>
+        </resources>
+    </build>
+</project>

Added: labs/shotoku/trunk/shotoku-user/shotoku-user.iml
===================================================================
--- labs/shotoku/trunk/shotoku-user/shotoku-user.iml	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/shotoku-user.iml	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+  <component name="ModuleRootManager" />
+  <component name="NewModuleRootManager">
+    <output url="file://$MODULE_DIR$/target" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="portal" level="application" />
+    <orderEntry type="library" name="jboss" level="application" />
+    <orderEntry type="module" module-name="shotoku-aop" />
+    <orderEntry type="module" module-name="shotoku-base" />
+    <orderEntryProperties />
+  </component>
+</module>
+

Added: labs/shotoku/trunk/shotoku-user/src/etc/META-INF/jboss.xml
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/etc/META-INF/jboss.xml	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/etc/META-INF/jboss.xml	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<jboss
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+                            http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
+        version="3.0">
+    <!--<enterprise-beans>
+        <service>
+            <ejb-name>UserService</ejb-name>
+            <ejb-class>org.jboss.shotoku.user.service.UserServiceImpl</ejb-class>
+            <local>org.jboss.shotoku.user.service.UserServiceLocal</local>
+            <management>org.jboss.shotoku.user.UserService</management>
+            <local-jndi-name>shotoku:service=user</local-jndi-name>
+            <object-name>shotoku:service=user</object-name>
+        </service>
+    </enterprise-beans>-->
+</jboss>

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/Group.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/Group.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/Group.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,38 @@
+package org.jboss.shotoku.user;
+
+import org.jboss.shotoku.tags.tools.UserTools;
+import org.apache.log4j.Logger;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class Group {
+    private static final Logger log = Logger.getLogger(UserService.class);
+
+    private String groupName;
+
+    public Group(String groupName) {
+        this.groupName = groupName;
+    }
+
+    public Group() {
+    }
+
+    public String getGroupName() {
+        return groupName;
+    }
+
+    public List<User> getUsers() {
+        try {
+            return UserTools.getService().getUsersInGroup(getGroupName());
+        } catch (GroupNotFoundException e) {
+            log.error("Previously existing group " +
+                    getGroupName() + " not found.", e);
+
+            return new ArrayList<User>();
+        }
+    }
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/GroupNotFoundException.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/GroupNotFoundException.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/GroupNotFoundException.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,21 @@
+package org.jboss.shotoku.user;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class GroupNotFoundException extends Exception {
+    public GroupNotFoundException() {
+    }
+
+    public GroupNotFoundException(String message) {
+        super(message);
+    }
+
+    public GroupNotFoundException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public GroupNotFoundException(Throwable cause) {
+        super(cause);
+    }
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/JBossPortalGroup.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/JBossPortalGroup.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/JBossPortalGroup.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,18 @@
+package org.jboss.shotoku.user;
+
+import org.jboss.portal.core.model.Role;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class JBossPortalGroup extends Group {
+    private org.jboss.portal.core.model.Role r;
+
+    public JBossPortalGroup(Role r) {
+        this.r = r;
+    }
+
+    public String getGroupName() {
+        return r.getName();
+    }
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/JBossPortalUser.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/JBossPortalUser.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/JBossPortalUser.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,24 @@
+package org.jboss.shotoku.user;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class JBossPortalUser extends User {
+    org.jboss.portal.core.model.User u;
+
+    public JBossPortalUser(org.jboss.portal.core.model.User u) {
+        this.u = u;
+    }
+
+    public String getUserName() {
+        return u.getUserName();
+    }
+
+    public String getGivenName() {
+        return u.getGivenName();
+    }
+
+    public String getFamilyName() {
+        return u.getFamilyName();
+    }
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/User.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/User.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/User.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,50 @@
+package org.jboss.shotoku.user;
+
+import org.jboss.shotoku.tags.tools.UserTools;
+import org.apache.log4j.Logger;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class User {
+    private static final Logger log = Logger.getLogger(UserService.class);
+
+    private String userName;
+    private String givenName;
+    private String familyName;
+
+    public User() {
+    }
+
+    public User(String userName, String givenName, String familyName) {
+        this.userName = userName;
+        this.givenName = givenName;
+        this.familyName = familyName;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public String getGivenName() {
+        return givenName;
+    }
+
+    public String getFamilyName() {
+        return familyName;
+    }
+
+    public List<Group> getGroups() {
+        try {
+            return UserTools.getService().getGroupsOfUser(getUserName());
+        } catch (UserNotFoundException e) {
+            log.error("Previously existing user " +
+                    getUserName() + " not found.", e);
+
+            return new ArrayList<Group>();
+        }
+    }
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/UserNotFoundException.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/UserNotFoundException.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/UserNotFoundException.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,21 @@
+package org.jboss.shotoku.user;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class UserNotFoundException extends Exception {
+    public UserNotFoundException() {
+    }
+
+    public UserNotFoundException(String message) {
+        super(message);
+    }
+
+    public UserNotFoundException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public UserNotFoundException(Throwable cause) {
+        super(cause);
+    }
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/UserService.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/UserService.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/UserService.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,22 @@
+package org.jboss.shotoku.user;
+
+import java.util.List;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public interface UserService  {
+    public User getUser(String userName) throws UserNotFoundException;
+    public Group getGroup(String groupName) throws GroupNotFoundException;
+    public List<User> getUsersInGroup(String groupName) throws GroupNotFoundException;
+    public List<Group> getGroupsOfUser(String userName) throws UserNotFoundException;
+
+    /*
+    * SERVICE MANAGEMENT METHODS
+    */
+
+    public void create() throws Exception;
+    public void start() throws Exception;
+    public void stop();
+    public void destroy();
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/service/UserServiceImpl.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/service/UserServiceImpl.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/service/UserServiceImpl.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,126 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.shotoku.user.service;
+
+import org.jboss.annotation.ejb.Service;
+import org.jboss.annotation.ejb.Management;
+import org.jboss.annotation.ejb.Depends;
+import org.jboss.shotoku.user.tools.UserConstants;
+import org.jboss.shotoku.user.*;
+import org.jboss.portal.core.modules.UserModule;
+import org.jboss.portal.core.modules.ModuleException;
+import org.jboss.portal.core.modules.RoleModule;
+import org.apache.log4j.Logger;
+
+import javax.ejb.Local;
+import java.util.List;
+import java.util.ArrayList;
+
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ * @author Damon Sicore (damon at sicore.com)
+ */
+ at Service(objectName = UserConstants.USER_SERVICE_NAME)
+ at Local(UserServiceLocal.class)
+ at Management(UserService.class)
+public class UserServiceImpl implements UserService, UserServiceLocal {
+    private static final Logger log = Logger.getLogger(UserService.class);
+
+    @Depends(UserConstants.PORTAL_USER_SERVICE_NAME)
+    private UserModule um;
+
+    @Depends(UserConstants.PORTAL_ROLE_SERVICE_NAME)
+    private RoleModule rm;
+
+    /*
+     * UserService implementation
+     */
+
+    public User getUser(String userName) throws UserNotFoundException {
+        try {
+            return new JBossPortalUser(um.findUserByUserName(userName));
+        } catch (ModuleException e) {
+            throw new UserNotFoundException(e);
+        }
+    }
+
+    public Group getGroup(String groupName) throws GroupNotFoundException {
+        try {
+            return new JBossPortalGroup(rm.findRoleByName(groupName));
+        } catch (ModuleException e) {
+            throw new GroupNotFoundException(e);
+        }
+    }
+
+    public List<User> getUsersInGroup(String groupName) throws GroupNotFoundException {
+        try {
+            org.jboss.portal.core.model.Role r = rm.findRoleByName(groupName);
+
+            List<User> users = new ArrayList<User>();
+            for (Object u : r.getUsers()) {
+                users.add(new JBossPortalUser(
+                        (org.jboss.portal.core.model.User) u));
+            }
+
+            return users;
+        } catch (ModuleException e) {
+            throw new GroupNotFoundException(e);
+        }
+    }
+
+    public List<Group> getGroupsOfUser(String userName) throws UserNotFoundException {
+        try {
+            org.jboss.portal.core.model.User u = um.findUserByUserName(userName);
+
+            List<Group> groups = new ArrayList<Group>();
+            for (Object r : u.getRoles()) {
+                groups.add(new JBossPortalGroup(
+                        (org.jboss.portal.core.model.Role) r));
+            }
+
+            return groups;
+        } catch (ModuleException e) {
+            throw new UserNotFoundException(e);
+        }
+    }
+
+    /*
+    * Service lifecycle management.
+    */
+
+    public void create() throws Exception {
+
+    }
+
+    public void start() throws Exception {
+
+    }
+
+    public void destroy() {
+
+    }
+
+    public void stop() {
+
+    }
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/service/UserServiceLocal.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/service/UserServiceLocal.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/service/UserServiceLocal.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.shotoku.user.service;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ * @author Damon Sicore (damon at sicore.com)
+ */
+public interface UserServiceLocal {
+	
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/tools/UserConstants.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/tools/UserConstants.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/tools/UserConstants.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,14 @@
+package org.jboss.shotoku.user.tools;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class UserConstants {
+    public static final String USER_SERVICE_NAME = "shotoku:service=user";
+
+    public static final String PORTAL_USER_SERVICE_NAME =
+            "portal:service=Module,type=User";
+
+    public static final String PORTAL_ROLE_SERVICE_NAME =
+            "portal:service=Module,type=Role";
+}

Added: labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/tools/UserTools.java
===================================================================
--- labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/tools/UserTools.java	2006-07-21 17:44:40 UTC (rev 5222)
+++ labs/shotoku/trunk/shotoku-user/src/java/org/jboss/shotoku/user/tools/UserTools.java	2006-07-21 19:23:36 UTC (rev 5223)
@@ -0,0 +1,38 @@
+package org.jboss.shotoku.tags.tools;
+
+import org.jboss.shotoku.ContentManager;
+import org.jboss.shotoku.user.tools.UserConstants;
+import org.jboss.shotoku.user.service.UserServiceImpl;
+import org.jboss.shotoku.user.UserService;
+import org.jboss.mx.util.MBeanProxyExt;
+import org.jboss.mx.util.MBeanServerLocator;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class UserTools {
+    private static UserService instance;
+
+    public static UserService getService() {
+        try {
+            if (instance == null) {
+                if (ContentManager.isEmbedded()) {
+                    // Embedded mode - simply creating a new service instance.
+                    instance = new UserServiceImpl();
+                    instance.create();
+                    instance.start();
+                } else {
+                    // Application server mode - creating a proxy to a mbean.
+                    instance = (UserService) MBeanProxyExt.create(
+                            UserService.class,
+                            UserConstants.USER_SERVICE_NAME,
+                            MBeanServerLocator.locate());
+                }
+            }
+
+            return instance;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+}




More information about the jboss-svn-commits mailing list