[kune-commits] r1231 - in trunk: . script src/main/java/cc/kune/chat/client src/main/java/cc/kune/common/client/actions/gxtui src/main/java/cc/kune/common/client/noti src/main/java/cc/kune/common/client/utils src/main/java/cc/kune/core/client src/main/java/cc/kune/core/client/auth src/main/java/cc/kune/core/client/notify/msgs src/main/java/cc/kune/core/client/sitebar src/main/java/cc/kune/core/client/ui/dialogs src/main/java/cc/kune/core/public src/main/java/cc/kune/domain src/main/java/cc/kune/msgs/client src/main/java/org/ourproject/kune/app/public/css src/main/java/org/ourproject/kune/platf/server src/main/java/org/ourproject/kune/platf/server/init src/main/java/org/ourproject/kune/platf/server/manager src/main/java/org/ourproject/kune/platf/server/manager/impl src/test/java/org/ourproject/kune src/test/java/org/ourproject/kune/platf/integration src/test/java/org/ourproject/kune/platf/server src/test/java/org/ourproject/kune/platf/server/manager src/test/java/org/ourproject/kune/platf/server/manager/impl

Vicente J. Ruiz Jurado vjrj_ at ourproject.org
Wed Feb 2 03:55:05 CET 2011


Author: vjrj_
Date: 2011-02-02 03:55:03 +0100 (Wed, 02 Feb 2011)
New Revision: 1231

Added:
   trunk/infinitest.filters
   trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.java
   trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.ui.xml
   trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanelView.java
   trunk/src/test/java/org/ourproject/kune/FaultyTestSuite.java
   trunk/src/test/java/org/ourproject/kune/IntegrationTestSuite.java
   trunk/src/test/java/org/ourproject/kune/OthersTestSuite.java
   trunk/src/test/java/org/ourproject/kune/PlatfClientTestSuite.java
   trunk/src/test/java/org/ourproject/kune/ServerManagerTestSuite.java
   trunk/src/test/java/org/ourproject/kune/ServerTestSuite.java
   trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/AbstractSocialNetworkManagerTest.java
   trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerMoreTest.java
Removed:
   trunk/src/main/java/cc/kune/domain/Properties.java
   trunk/src/main/java/cc/kune/domain/Property.java
   trunk/src/main/java/cc/kune/domain/PropertyGroup.java
   trunk/src/main/java/cc/kune/domain/PropertySetted.java
   trunk/src/main/java/cc/kune/domain/PropertySubgroup.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertiesManager.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertyGroupManager.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertyManager.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertySettedManager.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertySubgroupManager.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertiesManagerDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertyGroupManagerDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertyManagerDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertySettedManagerDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertySubgroupManagerDefault.java
   trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/PropertySettedManagerDefaultTest.java
Modified:
   trunk/.classpath
   trunk/pom.xml
   trunk/script/mvn-eclipse.sh
   trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
   trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtToolbarGui.java
   trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java
   trunk/src/main/java/cc/kune/common/client/utils/TextUtils.java
   trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
   trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java
   trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java
   trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java
   trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
   trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java
   trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java
   trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignOutLink.java
   trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessageToolbar.java
   trunk/src/main/java/cc/kune/core/public/ws.css
   trunk/src/main/java/cc/kune/core/public/ws.html
   trunk/src/main/java/cc/kune/domain/Content.java
   trunk/src/main/java/cc/kune/domain/ExtMediaDescrip.java
   trunk/src/main/java/cc/kune/domain/Group.java
   trunk/src/main/java/cc/kune/domain/I18nLanguage.java
   trunk/src/main/java/cc/kune/domain/Rate.java
   trunk/src/main/java/cc/kune/domain/TagUserContent.java
   trunk/src/main/java/cc/kune/domain/User.java
   trunk/src/main/java/cc/kune/msgs/client/UserMessage.java
   trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java
   trunk/src/main/java/cc/kune/msgs/client/UserMessagesPresenter.java
   trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
   trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java
   trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java
   trunk/src/test/java/org/ourproject/kune/platf/server/PersistencePreLoadedDataTest.java
   trunk/src/test/java/org/ourproject/kune/platf/server/manager/ContentManagerTest.java
   trunk/src/test/java/org/ourproject/kune/platf/server/manager/GroupManagerTest.java
   trunk/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java
   trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java
Log:
Tests reorganization. Test suites added. Hibernate versions adjustments. Some fixes

Modified: trunk/.classpath
===================================================================
--- trunk/.classpath	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/.classpath	2011-02-02 02:55:03 UTC (rev 1231)
@@ -3,21 +3,14 @@
   <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
   <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/>
-  <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar" sourcepath="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA.jar" sourcepath="M2_REPO/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
   <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1.2/c3p0-0.9.1.2.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1.2/c3p0-0.9.1.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
@@ -30,7 +23,6 @@
   <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar" sourcepath="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/>
   <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
@@ -56,16 +48,14 @@
   <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
   <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1694/hablar-r1694.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/4.0.2.GA/hibernate-validator-4.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/4.0.2.GA/hibernate-validator-4.0.2.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/sun/xml/bind/jaxb-impl/2.1.3/jaxb-impl-2.1.3.jar" sourcepath="M2_REPO/com/sun/xml/bind/jaxb-impl/2.1.3/jaxb-impl-2.1.3-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>

Added: trunk/infinitest.filters
===================================================================
--- trunk/infinitest.filters	                        (rev 0)
+++ trunk/infinitest.filters	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1 @@
+.*Selenium.*

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/pom.xml	2011-02-02 02:55:03 UTC (rev 1231)
@@ -243,12 +243,12 @@
       <version>r464</version>
     </dependency>
     <dependency>
-			<groupId>com.jhickman.web.gwt</groupId>
+      <groupId>com.jhickman.web.gwt</groupId>
       <artifactId>gwt-customuibinder</artifactId>
       <version>0.1</version>
     </dependency>
     <dependency>
-			<groupId>com.jhickman.web.gwt</groupId>
+      <groupId>com.jhickman.web.gwt</groupId>
       <artifactId>gxt-uibinder</artifactId>
       <version>0.6</version>
     </dependency>
@@ -340,7 +340,7 @@
     <dependency>
       <groupId>org.hibernate</groupId>
       <artifactId>hibernate-validator</artifactId>
-      <version>4.0.2.GA</version>
+      <version>3.1.0.GA</version>
     </dependency>
     <dependency>
       <groupId>org.hibernate</groupId>
@@ -351,9 +351,16 @@
       <groupId>org.hibernate</groupId>
       <artifactId>hibernate-commons-annotations</artifactId>
       <version>3.3.0.ga</version>
+      <!-- http://stackoverflow.com/questions/882338/hibernate-preinsertevent-getsource-nosuchmethoderror -->
+      <exclusions>
+        <exclusion>
+          <groupId>org.hibernate</groupId>
+          <artifactId>hibernate</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
-    <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> 
-      <version>3.3.1.GA</version> </dependency> -->
+<!--     <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> -->
+<!--      <version>3.3.1.GA</version> </dependency> -->
     <dependency>
       <groupId>org.hibernate</groupId>
       <artifactId>hibernate-search</artifactId>

Modified: trunk/script/mvn-eclipse.sh
===================================================================
--- trunk/script/mvn-eclipse.sh	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/script/mvn-eclipse.sh	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,7 +1,7 @@
 mvn eclipse:eclipse -Dgwt.compiler.skip=true
 
 perl -p -i -e 's/<\/classpath>//g' .classpath
-perl -p -i -e 's/\/home\/vjrj\/proyectos\/dev\/kune-dev\///g' .classpath
+perl -p -i -e 's/\/home\/vjrj\/nfsdev\///g' .classpath
 echo -en "  <classpathentry kind=\"src\" path=\"target/generated-sources/apt\" including=\"**/*.java\"/>" >> .classpath
 echo -en "  <classpathentry kind=\"con\" path=\"com.google.gwt.eclipse.core.GWT_CONTAINER\"/>\n</classpath>" >> .classpath
 

Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -11,6 +11,7 @@
 import cc.kune.common.client.actions.ui.descrip.IconLabelDescriptor;
 import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor;
 import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor.Type;
+import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
 import cc.kune.common.client.ui.PopupTopPanel;
 import cc.kune.core.client.init.AppStartEvent;
 import cc.kune.core.client.resources.icons.IconResources;
@@ -71,16 +72,20 @@
 
     private final Session session;
 
+    private final GlobalShortcutRegister shorcutRegister;
+
     private final SitebarActionsPresenter siteActions;
 
     @Inject
     public ChatClientDefault(final EventBus eventBus, final I18nTranslationService i18n, final ChatClientAction action,
-            final SitebarActionsPresenter siteActions, final IconResources res, final Session session) {
+            final SitebarActionsPresenter siteActions, final IconResources res, final Session session,
+            final GlobalShortcutRegister shorcutRegister) {
         this.i18n = i18n;
         this.action = action;
         this.siteActions = siteActions;
         this.res = res;
         this.session = session;
+        this.shorcutRegister = shorcutRegister;
         eventBus.addHandler(AppStartEvent.getType(), new AppStartEvent.AppStartHandler() {
             @Override
             public void onAppStart(final AppStartEvent event) {
@@ -134,13 +139,14 @@
         if (chatIcon == null) {
             res.css().ensureInjected();
             chatIcon = new IconLabelDescriptor(action);
-            chatIcon.setParent(SitebarActionsPresenter.LEFT_TOOLBAR);
+            // chatIcon.setParent(SitebarActionsPresenter.LEFT_TOOLBAR);
             chatIcon.putValue(Action.SMALL_ICON, res.chat());
             chatIcon.putValue(Action.NAME, i18n.t("Chat ;)"));
             chatIcon.setId(CHAT_CLIENT_ICON_ID);
             chatIcon.setStyles("k-no-backimage, k-btn-sitebar, k-chat-icon");
             action.putValue(Action.SHORT_DESCRIPTION, i18n.t("Show/hide the chat window"));
             final KeyStroke shortcut = Shortcut.getShortcut(false, true, true, false, Character.valueOf('C'));
+            shorcutRegister.put(shortcut, action);
             action.setShortcut(shortcut);
             chatIcon.setVisible(session.isLogged());
             siteActions.getLeftToolbar().addAction(

Modified: trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtToolbarGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtToolbarGui.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/common/client/actions/gxtui/GxtToolbarGui.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -5,9 +5,6 @@
 import cc.kune.common.client.actions.ui.descrip.AbstractGuiActionDescrip;
 
 import com.extjs.gxt.ui.client.widget.Component;
-import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
-import com.extjs.gxt.ui.client.widget.toolbar.LabelToolItem;
-import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
 import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
 import com.google.gwt.user.client.ui.UIObject;
 
@@ -28,24 +25,24 @@
         toolbar.add((Component) uiObject);
     }
 
-    public FillToolItem addFill() {
-        final FillToolItem item = new FillToolItem();
-        toolbar.add(item);
-        return item;
-    }
+    // public FillToolItem addFill() {
+    // final FillToolItem item = new FillToolItem();
+    // toolbar.add(item);
+    // return item;
+    // }
+    //
+    // public SeparatorToolItem addSeparator() {
+    // final SeparatorToolItem item = new SeparatorToolItem();
+    // toolbar.add(item);
+    // return item;
+    // }
+    //
+    // public LabelToolItem addSpacer() {
+    // final LabelToolItem item = new LabelToolItem();
+    // toolbar.add(item);
+    // return item;
+    // }
 
-    public SeparatorToolItem addSeparator() {
-        final SeparatorToolItem item = new SeparatorToolItem();
-        toolbar.add(item);
-        return item;
-    }
-
-    public LabelToolItem addSpacer() {
-        final LabelToolItem item = new LabelToolItem();
-        toolbar.add(item);
-        return item;
-    }
-
     @Override
     public AbstractGuiItem create(final AbstractGuiActionDescrip descriptor) {
         super.descriptor = descriptor;

Modified: trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/common/client/noti/NotifyUser.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -11,6 +11,18 @@
     private static EventBus eventBus;
     private static SimpleCallback onOk;
 
+    public static void error(final String message) {
+        eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, message));
+    }
+
+    public static void error(final String message, final boolean closeable) {
+        eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, message, closeable));
+    }
+
+    public static void error(final String message, final String id, final boolean closeable) {
+        eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, message, id, closeable));
+    }
+
     public static void hideProgress() {
         eventBus.fireEvent(new ProgressHideEvent());
     }
@@ -63,5 +75,4 @@
     public static void veryImportant(final String message) {
         eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.veryImportant, message));
     }
-
 }

Modified: trunk/src/main/java/cc/kune/common/client/utils/TextUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/utils/TextUtils.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/common/client/utils/TextUtils.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -45,15 +45,14 @@
      * This method escape only some dangerous html chars
      */
     public static String escapeHtmlLight(final String source) {
-        if (source == null) {
-            return null;
-        }
         String result = source;
-        result = result.replaceAll("&", "&amp;");
-        result = result.replaceAll("\"", "&quot;");
-        // text = text.replaceAll("\'", "&#039;");
-        result = result.replaceAll("<", "&lt;");
-        result = result.replaceAll(">", "&gt;");
+        if (source != null) {
+            result = result.replaceAll("&", "&amp;");
+            result = result.replaceAll("\"", "&quot;");
+            // text = text.replaceAll("\'", "&#039;");
+            result = result.replaceAll("<", "&lt;");
+            result = result.replaceAll(">", "&gt;");
+        }
         return result;
     }
 
@@ -62,7 +61,7 @@
     }
 
     public static boolean notEmpty(final String string) {
-        return string != null & string.length() > 0;
+        return string != null && string.length() > 0;
     }
 
     public static String removeLastSlash(final String text) {

Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -49,6 +49,8 @@
 import cc.kune.core.client.state.StateManager;
 import cc.kune.core.client.state.StateManagerDefault;
 import cc.kune.core.client.ui.QTipsHelper;
+import cc.kune.core.client.ui.dialogs.MessagePanel;
+import cc.kune.core.client.ui.dialogs.MessagePanelView;
 import cc.kune.core.client.ws.CorePresenter;
 import cc.kune.core.client.ws.CoreViewImpl;
 import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -112,6 +114,7 @@
 
         bind(UserMessagesPresenter.class).in(Singleton.class);
         bind(UserMessagesPanel.class).in(Singleton.class);
+        bind(MessagePanelView.class).to(MessagePanel.class);
 
         bind(WsArmorImpl.class).in(Singleton.class);
         bind(WsArmor.class).to(WsArmorImpl.class).in(Singleton.class);

Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -61,6 +61,7 @@
     private void createMessageErrorIfNeeded() {
         if (messageErrorBar == null) {
             messageErrorBar = new MessageToolbar(images, errorLabelId);
+            messageErrorBar.setHeight("50px");
             dialog.getBottomPanel().add(messageErrorBar);
         }
     }

Modified: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierViewImpl.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -34,12 +34,13 @@
 
     @Override
     public void notify(final UserNotifyEvent event) {
-        msgs.add(event.getLevel(), event.getTitle(), event.getMessage(), event.getCloseable(), new CloseCallback() {
-            @Override
-            public void onClose() {
-                popup.setCenterPosition();
-            }
-        });
+        msgs.add(event.getLevel(), event.getTitle(), event.getMessage(), event.getId(), event.getCloseable(),
+                new CloseCallback() {
+                    @Override
+                    public void onClose() {
+                        popup.setCenterPosition();
+                    }
+                });
         popup.setCenterPosition();
         DOM.setStyleAttribute(popup.getElement(), "zIndex", "100000");
     }

Modified: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifyEvent.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -43,6 +43,7 @@
     }
 
     private final Boolean closeable;
+    private java.lang.String id;
     private final NotifyLevel level;
     private final java.lang.String message;
     private final java.lang.String title;
@@ -85,6 +86,10 @@
         return closeable;
     }
 
+    public java.lang.String getId() {
+        return id;
+    }
+
     public NotifyLevel getLevel() {
         return level;
     }
@@ -97,4 +102,8 @@
         return title;
     }
 
+    public void setId(final String id) {
+        this.id = id;
+    }
+
 }

Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -89,7 +89,7 @@
     public void onAppStart(final AppStartEvent event) {
         final IsActionExtensible right = getView().getRightBar();
         OPTIONS_MENU.putValue(Action.NAME, i18n.t("Options"));
-        OPTIONS_MENU.setParent(RIGHT_TOOLBAR);
+        // OPTIONS_MENU.setParent(RIGHT_TOOLBAR);
         final AbstractExtendedAction action = new AbstractExtendedAction() {
             @Override
             public void actionPerformed(final ActionEvent event) {
@@ -129,9 +129,9 @@
 
         right.addAction(signInLink.get());
         right.addAction(signOutLink.get());
-        right.addAction(separator2);
+        // right.addAction(separator2);
         right.addAction(newGroupLink.get());
-        right.addAction(separator);
+        // right.addAction(separator);
         right.addAction(testMenuItem);
         right.addAction(menuSeparator);
         right.addAction(bugs);

Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -34,6 +34,6 @@
     public SitebarNewGroupLink(final SitebarNewGroupAction action) {
         super(action);
         setStyles("k-no-backimage, k-btn-sitebar");
-        setParent(SitebarActionsPresenter.RIGHT_TOOLBAR);
+        // setParent(SitebarActionsPresenter.RIGHT_TOOLBAR);
     }
 }

Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -42,7 +42,7 @@
     @Inject
     public SitebarSignInLink(final SitebarSignInAction action, final EventBus eventBus, final Session session) {
         super(action);
-        setParent(SitebarActionsPresenter.RIGHT_TOOLBAR);
+        // setParent(SitebarActionsPresenter.RIGHT_TOOLBAR);
         setId(SITE_SIGN_IN);
         setVisible(!session.isLogged());
         setStyles("k-no-backimage, k-btn-sitebar");

Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignOutLink.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignOutLink.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignOutLink.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -97,7 +97,7 @@
             final ErrorHandler errorHandler, final Session session) {
         super(action);
         setId(SITE_SIGN_OUT);
-        setParent(SitebarActionsPresenter.RIGHT_TOOLBAR);
+        // setParent(SitebarActionsPresenter.RIGHT_TOOLBAR);
         setVisible(session.isLogged());
         setStyles("k-no-backimage, k-btn-sitebar");
         eventBus.addHandler(UserSignInEvent.getType(), new UserSignInHandler() {

Added: trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,62 @@
+package cc.kune.core.client.ui.dialogs;
+
+import cc.kune.common.client.noti.NotifyLevel;
+import cc.kune.common.client.noti.NotifyLevelImages;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.resources.client.ImageResource;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.DockLayoutPanel;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.IsWidget;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Widget;
+
+public class MessagePanel extends Composite implements MessagePanelView {
+
+    interface MessagePanelUiBinder extends UiBinder<Widget, MessagePanel> {
+    }
+    private static MessagePanelUiBinder uiBinder = GWT.create(MessagePanelUiBinder.class);
+    @UiField
+    Label description;
+    @UiField
+    FlowPanel flowPanel;
+    @UiField
+    Image icon;
+    private final NotifyLevelImages images;
+    @UiField
+    DockLayoutPanel mainPanel;
+    @UiField
+    Label title;
+
+    public MessagePanel(final NotifyLevelImages images, final String errorLabelId) {
+        this.images = images;
+        initWidget(uiBinder.createAndBindUi(this));
+        description.ensureDebugId(errorLabelId);
+    }
+
+    @Override
+    public IsWidget getPanel() {
+        return this;
+    }
+
+    @Override
+    public void hideErrorMessage() {
+        icon.setVisible(false);
+        title.setText("");
+        description.setText("");
+        this.setVisible(false);
+    }
+
+    @Override
+    public void setErrorMessage(final String message, final NotifyLevel level) {
+        description.setText(message);
+        final ImageResource resource = images.getImage(level);
+        icon.setResource(resource);
+        icon.setVisible(true);
+        this.setVisible(true);
+    }
+}


Property changes on: trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.ui.xml	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.ui.xml	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,19 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+  xmlns:g="urn:import:com.google.gwt.user.client.ui">
+  <ui:style>
+    
+  </ui:style>
+  <g:DockLayoutPanel unit="EM" width="100%" height="100%" ui:field="mainPanel">
+    <g:center>
+    	<g:FlowPanel ui:field="flowPanel" addStyleNames="k-message-panel">
+    		<g:Label text="Title" ui:field="title" height="20px" addStyleNames="k-message-title"/>
+    		<g:Label text="Description" ui:field="description"
+        height="100%" horizontalAlignment="ALIGN_LEFT"  addStyleNames="k-message-description"/>
+    	</g:FlowPanel>
+    </g:center>
+    <g:west size="1.0">
+      <g:Image ui:field="icon" width="32" height="32"  addStyleNames="k-message-icon"/>
+    </g:west>
+  </g:DockLayoutPanel>
+</ui:UiBinder> 
\ No newline at end of file


Property changes on: trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanel.ui.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanelView.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanelView.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanelView.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,15 @@
+package cc.kune.core.client.ui.dialogs;
+
+import cc.kune.common.client.noti.NotifyLevel;
+
+import com.google.gwt.user.client.ui.IsWidget;
+
+public interface MessagePanelView {
+
+    IsWidget getPanel();
+
+    void hideErrorMessage();
+
+    void setErrorMessage(String message, NotifyLevel level);
+
+}


Property changes on: trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessagePanelView.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessageToolbar.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessageToolbar.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/MessageToolbar.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -22,40 +22,36 @@
 import cc.kune.common.client.noti.NotifyLevel;
 import cc.kune.common.client.noti.NotifyLevelImages;
 
-import com.extjs.gxt.ui.client.widget.Label;
-import com.extjs.gxt.ui.client.widget.WidgetComponent;
-import com.extjs.gxt.ui.client.widget.toolbar.LabelToolItem;
-import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
 import com.google.gwt.resources.client.ImageResource;
 import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlowPanel;
 import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
 
 public class MessageToolbar extends Composite {
     private final Image errorIcon;
     private final Label errorLabel;
     private final NotifyLevelImages images;
-    private final ToolBar toolbar;
+    private final FlowPanel toolbar;
 
     public MessageToolbar(final NotifyLevelImages images, final String errorLabelId) {
         this.images = images;
-        toolbar = new ToolBar();
+        toolbar = new FlowPanel();
         errorLabel = new Label("");
         errorLabel.ensureDebugId(errorLabelId);
         errorIcon = new Image();
         errorIcon.setResource(images.getImage(NotifyLevel.error));
-        toolbar.add(new LabelToolItem());
-        toolbar.add(new LabelToolItem());
-        toolbar.add(new WidgetComponent(errorIcon));
+
+        toolbar.add(errorIcon);
         toolbar.setStyleName("k-error-tb");
-        toolbar.add(new LabelToolItem());
-        toolbar.add(new LabelToolItem());
+
         toolbar.add(errorLabel);
         errorIcon.setVisible(false);
         toolbar.setVisible(false);
         initWidget(toolbar);
     }
 
-    public ToolBar getToolbar() {
+    public FlowPanel getToolbar() {
         return toolbar;
     }
 

Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/public/ws.css	2011-02-02 02:55:03 UTC (rev 1231)
@@ -344,6 +344,8 @@
 	-moz-border-radius-bottomright: 4px;
 	border-bottom-right-radius: 4px;
 	padding: 0 1px 0 3px;
+	border-collapse: separate;
+	border-spacing: 2px;
 }
 
 .kLoadingLabel {
@@ -643,7 +645,7 @@
 
 .k-publicspace-icon {
 	margin: 3px 3px 3px 0;
-	float:left;
+	float: left;
 }
 
 .k-publicspace-title {
@@ -662,3 +664,32 @@
 .k-publicspace-actions {
 	display: inline;
 }
+
+
+.k-message-panel {
+	margin: 5px;
+	display: table-row;
+}
+
+.k-message-icon {
+	margin: 3px 3px 3px 0;
+	float: left;
+}
+
+.k-message-title {
+	font-weight: bold;
+	display: block;
+	margin-bottom: 5px;
+	font-size: 16px;
+	display: table-caption;
+}
+
+.k-message-description {
+	font-size: 14px;
+	display: table-cell;
+}
+
+.k-error-tb {
+  background: #FFB380 none repeat scroll 0% 50%;
+  color: #250;
+}
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.html	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/core/public/ws.html	2011-02-02 02:55:03 UTC (rev 1231)
@@ -32,6 +32,16 @@
 		}
 	});
 </script>
+<!-- Only for wave testing  -->
+<script type="text/javascript" language="javascript">
+	var __session = {
+		"id" : "TK8O7UyqvT",
+		"address" : "vjrj at kune.beta.iepala.es",
+		"domain" : "kune.beta.iepala.es"
+	};
+	var __client_flags = {};
+	var __useSocketIO = true;
+</script>
 <link
 	href='http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic'
 	rel='stylesheet' type='text/css'>
@@ -42,7 +52,8 @@
 <link type="text/css" rel="stylesheet" href="kune-chat.css">
 <link type="text/css" rel="stylesheet" href="kune-hablar.css">
 <link type="text/css" rel="stylesheet" href="kune-common.css">
-<link type="text/css" rel="stylesheet" href="fontface/stylesheet.css">
+<link type="text/css" rel="stylesheet"
+	href="fontface/ubuntufontface.css">
 <link type="text/css" rel="stylesheet" href="kune-message.css">
 <link type="text/css" rel="stylesheet" href="ws.css">
 <style type="text/css">
@@ -54,9 +65,15 @@
 	margin: 5px;
 	overflow: hidden;
 }
+
+.banner {
+	margin: 30px;
+}
 </style>
 </head>
 <body>
+<!-- Banner for wave errors -->
+<div class="banner" id="banner"></div>
 <!-- Autocomplete user/pass -->
 <form method="post" action="javascript:void(0)" style="display: none">
 <input type="text" id="username" name="username" value="" /> <input

Modified: trunk/src/main/java/cc/kune/domain/Content.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Content.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/Content.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -45,12 +45,12 @@
 import javax.persistence.Table;
 import javax.persistence.Transient;
 import javax.persistence.Version;
-import javax.validation.constraints.NotNull;
 
 import org.hibernate.search.annotations.ContainedIn;
 import org.hibernate.search.annotations.DocumentId;
 import org.hibernate.search.annotations.Indexed;
 import org.hibernate.search.annotations.IndexedEmbedded;
+import org.hibernate.validator.NotNull;
 
 import cc.kune.core.shared.domain.ContentStatus;
 import cc.kune.core.shared.domain.utils.StateToken;
@@ -67,27 +67,27 @@
 @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
 public class Content implements HasStateToken {
 
-    private static final String TITLE = "title";
     private static final String GROUP = "group";
     private static final String MIMETYPE = "mimetype";
-
     public static final Content NO_CONTENT = new Content();
 
-    @Id
-    @DocumentId
-    @GeneratedValue
-    // @PMD:REVIEWED:ShortVariable: by vjrj on 21/05/09 15:28
-    private Long id;
+    private static final String TITLE = "title";
 
-    @Version
-    private int version;
+    @OneToOne(cascade = CascadeType.ALL)
+    private AccessLists accessLists;
 
-    @OneToOne
-    private License license;
+    @IndexedEmbedded
+    @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
+    private List<User> authors;
 
+    @ContainedIn
+    @OneToMany(mappedBy = "content", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+    private Set<Comment> comments;
+
+    @ManyToOne
+    @JoinColumn
     @IndexedEmbedded
-    @OneToOne(cascade = { CascadeType.ALL })
-    private Revision lastRevision;
+    private Container container;
 
     @Basic(optional = false)
     private Long createdOn;
@@ -95,49 +95,49 @@
     @Basic(optional = true)
     private Date deletedOn;
 
-    @Basic(optional = true)
-    private Date publishedOn;
+    /**
+     * filename if is an uploaded content
+     */
+    private String filename;
 
-    // @NotNull??
-    private String typeId;
+    @Id
+    @DocumentId
+    @GeneratedValue
+    // @PMD:REVIEWED:ShortVariable: by vjrj on 21/05/09 15:28
+    private Long id;
 
-    @OneToMany(cascade = CascadeType.ALL)
-    private List<ContentTranslation> translations;
-
-    @ManyToOne
-    @JoinColumn
     @IndexedEmbedded
-    private Container container;
-
-    @IndexedEmbedded
     @NotNull
     @ManyToOne(fetch = FetchType.LAZY)
     private I18nLanguage language;
 
-    @OneToOne(cascade = CascadeType.ALL)
-    private AccessLists accessLists;
+    @IndexedEmbedded
+    @OneToOne(cascade = { CascadeType.ALL })
+    private Revision lastRevision;
 
+    @OneToOne
+    private License license;
+
     @IndexedEmbedded
-    @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
-    private List<User> authors;
+    @Embedded
+    private BasicMimeType mimeType;
 
-    @ContainedIn
-    @OneToMany(mappedBy = "content", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
-    private Set<Comment> comments;
+    @Basic(optional = true)
+    private Date publishedOn;
 
     @Enumerated(EnumType.STRING)
     @Column(nullable = false)
     private ContentStatus status;
 
-    @IndexedEmbedded
-    @Embedded
-    private BasicMimeType mimeType;
+    @OneToMany(cascade = CascadeType.ALL)
+    private List<ContentTranslation> translations;
 
-    /**
-     * filename if is an uploaded content
-     */
-    private String filename;
+    // @NotNull??
+    private String typeId;
 
+    @Version
+    private int version;
+
     public Content() {
         translations = new ArrayList<ContentTranslation>();
         authors = new ArrayList<User>();
@@ -257,6 +257,7 @@
         return publishedOn;
     }
 
+    @Override
     @Transient
     public StateToken getStateToken() {
         return getContainer().getStateToken().copy().setDocument(getId());

Modified: trunk/src/main/java/cc/kune/domain/ExtMediaDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/ExtMediaDescrip.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/ExtMediaDescrip.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -8,7 +8,7 @@
 import javax.persistence.Id;
 import javax.persistence.Table;
 
-import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.Length;
 
 import cc.kune.domain.utils.HasId;
 

Modified: trunk/src/main/java/cc/kune/domain/Group.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Group.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/Group.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -37,14 +37,14 @@
 import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
-import javax.validation.constraints.Pattern;
 
 import org.hibernate.search.annotations.DocumentId;
 import org.hibernate.search.annotations.Field;
 import org.hibernate.search.annotations.Index;
 import org.hibernate.search.annotations.Indexed;
 import org.hibernate.search.annotations.Store;
-import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.Length;
+import org.hibernate.validator.Pattern;
 
 import cc.kune.core.shared.domain.AdmissionType;
 import cc.kune.core.shared.domain.utils.StateToken;
@@ -62,58 +62,58 @@
     // see: http://docs.codehaus.org/display/PICO/Good+Citizen:
     // Never expect or return null
     public static final Group NO_GROUP = null;
-    public static final String PROPS_ID = "groupprops";
+    // public static final String PROPS_ID = "groupprops";
 
-    @Id
-    @DocumentId
-    @GeneratedValue
-    private Long id;
-
     @Enumerated(EnumType.STRING)
     @Column(nullable = false)
     AdmissionType admissionType;
 
+    @Basic(optional = false)
+    private final Long createdOn;
+
+    @OneToOne
+    private Content defaultContent;
+
+    @OneToOne
+    private License defaultLicense;
+
+    @OneToOne
+    private Content groupBackImage;
+
     @Enumerated(EnumType.STRING)
     @Column(nullable = false)
     GroupType groupType;
 
-    @Field(index = Index.UN_TOKENIZED, store = Store.NO)
-    @Column(unique = true)
-    @Length(min = 3, max = 15, message = "The shortname must be between 3 and 15 characters of length")
-    @Pattern(regexp = "^[a-z0-9_\\-]+$", message = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters, numbers, and dashes")
-    private String shortName;
+    @Id
+    @DocumentId
+    @GeneratedValue
+    private Long id;
 
+    @Lob
+    private byte[] logo;
+
+    @Embedded
+    private BasicMimeType logoMime;
+
     @Field(index = Index.TOKENIZED, store = Store.NO)
     @Column(unique = true)
     @Length(min = 3, max = 50, message = "The longName must be between 3 and 50 characters of length")
     private String longName;
 
-    @OneToOne
-    private Content defaultContent;
+    @Field(index = Index.UN_TOKENIZED, store = Store.NO)
+    @Column(unique = true)
+    @Length(min = 3, max = 15, message = "The shortname must be between 3 and 15 characters of length")
+    @Pattern(regex = "^[a-z0-9_\\-]+$", message = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters, numbers, and dashes")
+    private String shortName;
 
-    @OneToOne
-    private Content groupBackImage;
-
     @OneToOne(cascade = CascadeType.ALL)
     private SocialNetwork socialNetwork;
 
-    @OneToOne
-    private License defaultLicense;
-
     @OneToMany
     private final Map<String, ToolConfiguration> toolsConfig;
 
     private String workspaceTheme;
 
-    @Lob
-    private byte[] logo;
-
-    @Embedded
-    private BasicMimeType logoMime;
-
-    @Basic(optional = false)
-    private final Long createdOn;
-
     public Group() {
         this(null, null, null, null);
     }
@@ -217,6 +217,7 @@
         return hasLogo();
     }
 
+    @Override
     public Long getId() {
         return id;
     }
@@ -299,6 +300,7 @@
         this.groupType = groupType;
     }
 
+    @Override
     public void setId(final Long id) {
         this.id = id;
     }

Modified: trunk/src/main/java/cc/kune/domain/I18nLanguage.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/I18nLanguage.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/I18nLanguage.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -25,14 +25,14 @@
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.Table;
-import javax.validation.constraints.Pattern;
 
 import org.hibernate.search.annotations.DocumentId;
 import org.hibernate.search.annotations.Field;
 import org.hibernate.search.annotations.Index;
 import org.hibernate.search.annotations.Indexed;
 import org.hibernate.search.annotations.Store;
-import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.Length;
+import org.hibernate.validator.Pattern;
 
 import cc.kune.domain.utils.HasId;
 
@@ -50,28 +50,19 @@
 @Table(name = "globalize_languages")
 public class I18nLanguage implements HasId {
 
-    @Id
-    // Is not GeneratedValue
-    @DocumentId
-    @Column(name = "id", unique = true, nullable = false)
-    private Long id;
-
     @Field(index = Index.TOKENIZED, store = Store.NO)
     @Column(name = "code", unique = true)
     private String code;
 
-    @Column(name = "iso_639_1", length = 2)
-    private String iso6391;
+    @Column(name = "date_format")
+    private String dateFormat;
 
-    @Column(name = "iso_639_2", length = 3, unique = true)
-    private String iso6392;
+    @Column(name = "date_format_short")
+    private String dateFormatShort;
 
-    @Column(name = "iso_639_3", length = 3, unique = true)
-    private String iso6393;
+    @Column(name = "direction")
+    private String direction;
 
-    @Column(name = "rfc_3066", unique = true)
-    private String rfc3066;
-
     @Field(index = Index.TOKENIZED, store = Store.NO)
     @Column(name = "english_name")
     private String englishName;
@@ -82,6 +73,24 @@
     @Column(name = "english_name_modifier")
     private String englishNameModifier;
 
+    @Id
+    // Is not GeneratedValue
+    @DocumentId
+    @Column(name = "id", unique = true, nullable = false)
+    private Long id;
+
+    @Column(name = "iso_639_1", length = 2)
+    private String iso6391;
+
+    @Column(name = "iso_639_2", length = 3, unique = true)
+    private String iso6392;
+
+    @Column(name = "iso_639_3", length = 3, unique = true)
+    private String iso6393;
+
+    @Column(name = "macro_language")
+    private Boolean macroLanguage;
+
     @Field(index = Index.TOKENIZED, store = Store.NO)
     @Column(name = "native_name")
     private String nativeName;
@@ -92,26 +101,17 @@
     @Column(name = "native_name_modifier")
     private String nativeNameModifier;
 
-    @Column(name = "macro_language")
-    private Boolean macroLanguage;
-
-    @Column(name = "direction")
-    private String direction;
-
-    @Pattern(regexp = "^[c=\\d?:%!<>&|() ]+$")
+    @Pattern(regex = "^[c=\\d?:%!<>&|() ]+$")
     @Column(name = "pluralization")
     @Length(max = 200)
     private String pluralization;
 
+    @Column(name = "rfc_3066", unique = true)
+    private String rfc3066;
+
     @Column(name = "scope", length = 1)
     private String scope;
 
-    @Column(name = "date_format")
-    private String dateFormat;
-
-    @Column(name = "date_format_short")
-    private String dateFormatShort;
-
     public I18nLanguage() {
         this(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
     }
@@ -187,6 +187,7 @@
         return this.englishNameModifier;
     }
 
+    @Override
     public Long getId() {
         return this.id;
     }
@@ -260,6 +261,7 @@
         this.englishNameModifier = englishNameModifier;
     }
 
+    @Override
     public void setId(final Long id) {
         this.id = id;
     }

Deleted: trunk/src/main/java/cc/kune/domain/Properties.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Properties.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/Properties.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,83 +0,0 @@
-package cc.kune.domain;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.MapKey;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-
-import org.hibernate.annotations.Cascade;
-
-import cc.kune.domain.utils.HasId;
-
-/**
- * Properties defined for some elements (identified by the group)
- * 
- */
- at Entity
- at Table(name = "properties")
-public class Properties implements HasId {
-
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    @OneToMany(cascade = CascadeType.ALL)
-    @MapKey(name = "property")
-    @Cascade({ org.hibernate.annotations.CascadeType.ALL })
-    private Map<Property, PropertySetted> list;
-
-    /**
-     * Every list of properties are from a unique PropertyGroup (like User
-     * properties, or Group properties)
-     * 
-     */
-    @NotNull
-    @ManyToOne
-    private final PropertyGroup pgroup;
-
-    public Properties() {
-        this(null);
-    }
-
-    public Properties(final PropertyGroup group) {
-        pgroup = group;
-        list = new HashMap<Property, PropertySetted>();
-    }
-
-    // @Finder(query =
-    // "SELECT p FROM Properties ps JOIN ps.list p WHERE p.property.name = :pname")
-    // public PropertySetted find(@Named("pname") final String key) {
-    // return null;
-    // }
-
-    @Override
-    public Long getId() {
-        return id;
-    }
-
-    public Map<Property, PropertySetted> getList() {
-        return list;
-    }
-
-    public PropertyGroup getPgroup() {
-        return pgroup;
-    }
-
-    @Override
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    public void setList(final Map<Property, PropertySetted> list) {
-        this.list = list;
-    }
-
-}

Deleted: trunk/src/main/java/cc/kune/domain/Property.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Property.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/Property.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,217 +0,0 @@
-package cc.kune.domain;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.Basic;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-
-import org.hibernate.annotations.Index;
-
-import cc.kune.domain.utils.HasId;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
- at Entity
- at Table(name = "property")
-// @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
-public class Property implements HasId {
-
-    public enum Type implements IsSerializable {
-        STRING, ENUM, BOOL, LIST, HIDDEN
-    }
-
-    @Id
-    @GeneratedValue
-    // (strategy = GenerationType.TABLE)
-    private Long id;
-
-    /**
-     * Required "symbolic" name of the user preference; displayed to the user
-     * during editing if no display_name is defined. Must contain only letters,
-     * number and underscores, i.e. the regular expression ^[a-zA-Z0-9_]+$. Must
-     * be unique.
-     **/
-    @Index(name = "propname")
-    @Column(unique = true)
-    @Pattern(regexp = "^[a-zA-Z0-9_]+$", message = "The name can only contain Western characters, numbers, and dashes")
-    private String name;
-
-    /**
-     * Optional string to display alongside the user preferences in the edit
-     * window (in google gadgets must be unique).
-     **/
-    private String displayName;
-
-    /**
-     * Optional string that indicates the data type of this attribute. Can be
-     * string, bool, enum, hidden (final a string that is not visible or user
-     * editable), or list (final dynamic array generated from user input). The
-     * default is string.
-     **/
-    @Enumerated(EnumType.STRING)
-    @Column(nullable = false)
-    private Type datatype;
-
-    /**
-     * Optional boolean argument (true or false) indicating whether this user
-     * preference is required. The default is false.
-     **/
-    @Basic
-    private boolean required;
-
-    /**
-     * Optional string that indicates a user preference's default value.
-     **/
-    private String defaultValue;
-
-    /**
-     * Optional string list that indicates enum valid values.
-     **/
-    @Basic
-    private ArrayList<String> enumValues;
-
-    @NotNull
-    @ManyToOne
-    private PropertyGroup pgroup;
-
-    @NotNull
-    @ManyToOne
-    private PropertySubgroup sgroup;
-
-    public Property() {
-        this(null, null, Type.STRING, false, null, new ArrayList<String>(), null, null);
-    }
-
-    public Property(final Property prop) {
-        this.name = prop.getName();
-        this.required = prop.getRequired();
-        this.datatype = prop.getDatatype();
-        this.defaultValue = prop.getDefaultValue();
-        this.displayName = prop.getDisplayName();
-        this.enumValues = prop.getEnumValues();
-        this.pgroup = prop.getPgroup();
-        this.sgroup = prop.getSgroup();
-    }
-
-    public Property(final String name, final String displayName, final Type datatype, final boolean required,
-            final String defaultValue, final ArrayList<String> enumValues, final PropertyGroup pgroup,
-            final PropertySubgroup sgroup) {
-        this.name = name;
-        this.displayName = displayName;
-        this.datatype = datatype;
-        this.required = required;
-        this.defaultValue = defaultValue;
-        this.enumValues = enumValues;
-        this.pgroup = pgroup;
-        this.sgroup = sgroup;
-    }
-
-    public Property(final String name, final String displayName, final Type datatype, final boolean required,
-            final String defaultValue, final PropertyGroup pgroup, final PropertySubgroup sgroup) {
-        this(name, displayName, datatype, required, defaultValue, new ArrayList<String>(), pgroup, sgroup);
-    }
-
-    @Finder(query = "SELECT p FROM Property p JOIN p.pgroup g WHERE g = :pgroup")
-    public List<Property> find(@Named("pgroup") final PropertyGroup pGroup) {
-        return null;
-    }
-
-    @Finder(query = "SELECT p.name FROM Property p JOIN p.sgroup g WHERE g = :sgroup")
-    public List<String> find(@Named("sgroup") final PropertySubgroup sGroup) {
-        return null;
-    }
-
-    @Finder(query = "FROM Property p WHERE p.name = :name")
-    public Property find(@Named("name") final String name) {
-        return null;
-    }
-
-    @Finder(query = "FROM Property")
-    public List<Property> getAll() {
-        return null;
-    }
-
-    public Type getDatatype() {
-        return datatype;
-    }
-
-    public String getDefaultValue() {
-        return defaultValue;
-    }
-
-    public String getDisplayName() {
-        return displayName;
-    }
-
-    public ArrayList<String> getEnumValues() {
-        return enumValues;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public PropertyGroup getPgroup() {
-        return pgroup;
-    }
-
-    public boolean getRequired() {
-        return required;
-    }
-
-    public PropertySubgroup getSgroup() {
-        return sgroup;
-    }
-
-    public void setDatatype(final Type datatype) {
-        this.datatype = datatype;
-    }
-
-    public void setDefaultValue(final String defaultValue) {
-        this.defaultValue = defaultValue;
-    }
-
-    public void setDisplayName(final String displayName) {
-        this.displayName = displayName;
-    }
-
-    public void setEnumValues(final ArrayList<String> enumValues) {
-        this.enumValues = enumValues;
-    }
-
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-    public void setPgroup(final PropertyGroup pgroup) {
-        this.pgroup = pgroup;
-    }
-
-    public void setRequired(final boolean required) {
-        this.required = required;
-    }
-
-    public void setSgroup(final PropertySubgroup sgroup) {
-        this.sgroup = sgroup;
-    }
-}

Deleted: trunk/src/main/java/cc/kune/domain/PropertyGroup.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/PropertyGroup.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/PropertyGroup.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,99 +0,0 @@
-package cc.kune.domain;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-
-import org.hibernate.annotations.Cascade;
-import org.hibernate.annotations.OnDelete;
-import org.hibernate.annotations.OnDeleteAction;
-
-import cc.kune.domain.utils.HasId;
-
-import com.google.inject.name.Named;
-import com.wideplay.warp.persist.dao.Finder;
-
- at Entity
- at Table(name = "property_group")
-public class PropertyGroup implements HasId {
-
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    @NotNull
-    @Column(unique = true)
-    private String name;
-
-    @OneToMany(mappedBy = "pgroup")
-    @OnDelete(action = OnDeleteAction.CASCADE)
-    @Cascade(value = org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
-    private List<Properties> propertiesList;
-
-    @OneToMany(mappedBy = "pgroup")
-    @OnDelete(action = OnDeleteAction.CASCADE)
-    @Cascade(value = org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
-    private List<Property> propertyList;
-
-    public PropertyGroup() {
-        this(null);
-    }
-
-    public PropertyGroup(final String name) {
-        this.name = name;
-        propertyList = new ArrayList<Property>();
-        propertiesList = new ArrayList<Properties>();
-    }
-
-    @Finder(query = "FROM PropertyGroup pg WHERE pg.name = :groupname")
-    public PropertyGroup find(@Named("groupname") final String groupName) {
-        return null;
-    }
-
-    @Finder(query = "FROM PropertyGroup")
-    public List<PropertyGroup> getAll() {
-        return null;
-    }
-
-    @Override
-    public Long getId() {
-        return id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public List<Properties> getPropertiesList() {
-        return propertiesList;
-    }
-
-    public List<Property> getPropertyList() {
-        return propertyList;
-    }
-
-    @Override
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-    public void setPropertiesList(final List<Properties> propertiesList) {
-        this.propertiesList = propertiesList;
-    }
-
-    public void setPropertyList(final List<Property> propertyList) {
-        this.propertyList = propertyList;
-    }
-
-}

Deleted: trunk/src/main/java/cc/kune/domain/PropertySetted.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/PropertySetted.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/PropertySetted.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,97 +0,0 @@
-package cc.kune.domain;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-
-import cc.kune.domain.Property.Type;
-import cc.kune.domain.utils.HasId;
-
-import com.wideplay.warp.persist.dao.Finder;
-
- at Entity
- at Table(name = "property_setted")
-public class PropertySetted implements HasId {
-
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String value;
-
-    @NotNull
-    @ManyToOne
-    private final Property property;
-
-    public PropertySetted() {
-        this(null, null);
-    }
-
-    public PropertySetted(final Property property, final String value) {
-        this.value = value;
-        this.property = property;
-    }
-
-    @Finder(query = "FROM PropertySetted")
-    public List<PropertySetted> getAll() {
-        return null;
-    }
-
-    public Type getDatatype() {
-        return property.getDatatype();
-    }
-
-    public String getDefaultValue() {
-        return property.getDefaultValue();
-    }
-
-    public String getDisplayName() {
-        return property.getDisplayName();
-    }
-
-    public ArrayList<String> getEnumValues() {
-        return property.getEnumValues();
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public String getName() {
-        return property.getName();
-    }
-
-    public PropertyGroup getPgroup() {
-        return property.getPgroup();
-    }
-
-    public Property getProperty() {
-        return property;
-    }
-
-    public boolean getRequired() {
-        return property.getRequired();
-    }
-
-    public PropertySubgroup getSgroup() {
-        return property.getSgroup();
-    }
-
-    public String getValue() {
-        return value;
-    }
-
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    public void setValue(final String value) {
-        this.value = value;
-    }
-}

Deleted: trunk/src/main/java/cc/kune/domain/PropertySubgroup.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/PropertySubgroup.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/PropertySubgroup.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,74 +0,0 @@
-package cc.kune.domain;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-
-import org.hibernate.annotations.OnDelete;
-import org.hibernate.annotations.OnDeleteAction;
-
-import cc.kune.domain.utils.HasId;
-
-import com.wideplay.warp.persist.dao.Finder;
-
- at Entity
- at Table(name = "property_subgroup")
-public class PropertySubgroup implements HasId {
-
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    @NotNull
-    @Column(unique = true)
-    private String name;
-
-    @OneToMany(mappedBy = "sgroup")
-    @OnDelete(action = OnDeleteAction.CASCADE)
-    private List<Property> properties;
-
-    public PropertySubgroup() {
-        this.name = null;
-        this.properties = new ArrayList<Property>();
-    }
-
-    public PropertySubgroup(final String name) {
-        this.name = name;
-    }
-
-    @Finder(query = "FROM PropertySubgroup")
-    public List<PropertySubgroup> getAll() {
-        return null;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public List<Property> getProperties() {
-        return properties;
-    }
-
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-    public void setProperties(final List<Property> properties) {
-        this.properties = properties;
-    }
-}

Modified: trunk/src/main/java/cc/kune/domain/Rate.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Rate.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/Rate.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -27,7 +27,7 @@
 import javax.persistence.Table;
 import javax.persistence.UniqueConstraint;
 
-import org.hibernate.validator.constraints.Range;
+import org.hibernate.validator.Range;
 
 import com.google.inject.name.Named;
 import com.wideplay.warp.persist.dao.Finder;

Modified: trunk/src/main/java/cc/kune/domain/TagUserContent.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/TagUserContent.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/TagUserContent.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -11,11 +11,11 @@
 import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
 
 import org.hibernate.search.annotations.DocumentId;
 import org.hibernate.search.annotations.Indexed;
 import org.hibernate.search.annotations.IndexedEmbedded;
+import org.hibernate.validator.NotNull;
 
 import cc.kune.domain.utils.HasId;
 
@@ -35,9 +35,17 @@
 @Table(name = "tag_user_content")
 public class TagUserContent implements HasId {
     public static final String TAGSGROUPED = "tagsgrouped";
+    public static final String TAGSMAXGROUPED = "tagsmaxgrouped";
     public static final String TAGSMINGROUPED = "tagsmingrouped";
-    public static final String TAGSMAXGROUPED = "tagsmaxgrouped";
 
+    @IndexedEmbedded
+    @NotNull
+    @ManyToOne(fetch = FetchType.LAZY)
+    private Content content;
+
+    @Basic(optional = false)
+    private final Long createdOn;
+
     @Id
     @GeneratedValue
     @DocumentId
@@ -51,16 +59,8 @@
     @IndexedEmbedded
     @NotNull
     @ManyToOne(fetch = FetchType.LAZY)
-    private Content content;
-
-    @IndexedEmbedded
-    @NotNull
-    @ManyToOne(fetch = FetchType.LAZY)
     private User user;
 
-    @Basic(optional = false)
-    private final Long createdOn;
-
     public TagUserContent() {
         this(null, null, null);
     }
@@ -90,6 +90,7 @@
         return createdOn;
     }
 
+    @Override
     public Long getId() {
         return id;
     }
@@ -106,6 +107,7 @@
         this.content = content;
     }
 
+    @Override
     public void setId(final Long id) {
         this.id = id;
     }

Modified: trunk/src/main/java/cc/kune/domain/User.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/User.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/domain/User.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -32,18 +32,16 @@
 import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
 
-import org.hibernate.annotations.OnDelete;
-import org.hibernate.annotations.OnDeleteAction;
 import org.hibernate.search.annotations.DocumentId;
 import org.hibernate.search.annotations.Field;
 import org.hibernate.search.annotations.Index;
 import org.hibernate.search.annotations.Indexed;
 import org.hibernate.search.annotations.Store;
-import org.hibernate.validator.constraints.Email;
-import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.Email;
+import org.hibernate.validator.Length;
+import org.hibernate.validator.NotNull;
+import org.hibernate.validator.Pattern;
 
 import cc.kune.core.shared.domain.UserBuddiesVisibility;
 import cc.kune.core.shared.domain.utils.StateToken;
@@ -57,81 +55,85 @@
 @Table(name = "kusers")
 public class User implements HasId {
 
+    // public static final String PROPS_ID = "userprops";
     // see: http://docs.codehaus.org/display/PICO/Good+Citizen:
     // Never expect or return null
     public static final User UNKNOWN_USER = new User();
-    public static final String PROPS_ID = "userprops";
 
     public static boolean isKnownUser(final User user) {
         return !user.equals(UNKNOWN_USER);
     }
 
-    @Id
-    @DocumentId
-    @GeneratedValue
-    private Long id;
+    private UserBuddiesVisibility buddiesVisibility;
 
+    @ManyToOne
+    @NotNull
+    private I18nCountry country;
+
+    @Basic(optional = false)
+    private final Long createdOn;
+
+    // @OneToOne(cascade = CascadeType.REMOVE)
+    // private final CustomProperties customProperties;
+
     @Column(unique = true, nullable = false)
     @Email
     @Length(min = 1)
     private String email;
 
-    @Column(nullable = false)
-    @Length(min = 6, max = 40)
-    private String password;
+    @Id
+    @DocumentId
+    @GeneratedValue
+    private Long id;
 
-    @OneToOne(cascade = CascadeType.REMOVE)
-    private Group userGroup;
+    @ManyToOne
+    @NotNull
+    private I18nLanguage language;
 
+    @Basic
+    private Long lastLogin;
+
     @Field(index = Index.TOKENIZED, store = Store.NO)
     @Column(nullable = false)
     @Length(min = 3, max = 50)
     private String name;
 
+    @Column(nullable = false)
+    @Length(min = 6, max = 40)
+    private String password;
+
     @Field(index = Index.UN_TOKENIZED, store = Store.NO)
     @Column(unique = true)
     // http://www.hibernate.org/hib_docs/validator/reference/en/html/validator-defineconstraints.html
     @Length(min = 3, max = 15)
-    @Pattern(regexp = "^[a-z0-9_\\-]+$", message = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters, numbers, and dashes")
+    @Pattern(regex = "^[a-z0-9_\\-]+$", message = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters, numbers, and dashes")
     private String shortName;
 
-    @ManyToOne
     @NotNull
-    private I18nLanguage language;
-
-    @ManyToOne
-    @NotNull
-    private I18nCountry country;
-
-    @NotNull
     private TimeZone timezone;
 
     @OneToOne(cascade = CascadeType.REMOVE)
-    private final CustomProperties customProperties;
+    private Group userGroup;
 
-    private UserBuddiesVisibility buddiesVisibility;
+    // @OneToOne
+    // @OnDelete(action = OnDeleteAction.CASCADE)
+    // private Properties properties;
 
-    @Basic(optional = false)
-    private final Long createdOn;
-
-    @Basic
-    private Long lastLogin;
-
-    @OneToOne
-    @OnDelete(action = OnDeleteAction.CASCADE)
-    private Properties properties;
-
     public User() {
-        this(null, null, null, null, null, null, null, null);
+        this(null, null, null, null, null, null, null);
     }
 
+    //
+    // public User(final String shortName, final String longName, final String
+    // email, final String passwd,
+    // final I18nLanguage language, final I18nCountry country, final TimeZone
+    // timezone) {
+    // this(shortName, longName, email, passwd, language, country, timezone,
+    // null);
+    // }
+
     public User(final String shortName, final String longName, final String email, final String passwd,
             final I18nLanguage language, final I18nCountry country, final TimeZone timezone) {
-        this(shortName, longName, email, passwd, language, country, timezone, null);
-    }
-
-    public User(final String shortName, final String longName, final String email, final String passwd,
-            final I18nLanguage language, final I18nCountry country, final TimeZone timezone, final Properties properties) {
         this.shortName = shortName;
         this.name = longName;
         this.email = email;
@@ -140,11 +142,11 @@
         this.language = language;
         this.country = country;
         this.timezone = timezone;
-        customProperties = new CustomProperties();
+        // customProperties = new CustomProperties();
         buddiesVisibility = UserBuddiesVisibility.anyone;
         this.createdOn = System.currentTimeMillis();
         this.lastLogin = null;
-        this.properties = properties;
+        // this.properties = properties;
     }
 
     @Finder(query = "from User")
@@ -174,9 +176,9 @@
         return createdOn;
     }
 
-    public CustomProperties getCustomProperties() {
-        return customProperties;
-    }
+    // public CustomProperties getCustomProperties() {
+    // return customProperties;
+    // }
 
     public String getEmail() {
         return email;
@@ -186,6 +188,7 @@
         return hasLogo();
     }
 
+    @Override
     public Long getId() {
         return id;
     }
@@ -206,9 +209,9 @@
         return password;
     }
 
-    public Properties getProperties() {
-        return properties;
-    }
+    // public Properties getProperties() {
+    // return properties;
+    // }
 
     public String getShortName() {
         return shortName;
@@ -244,6 +247,7 @@
         this.email = email;
     }
 
+    @Override
     public void setId(final Long id) {
         this.id = id;
     }
@@ -266,9 +270,9 @@
         // Use UnixCrypt (jetty)
     }
 
-    public void setProperties(final Properties properties) {
-        this.properties = properties;
-    }
+    // public void setProperties(final Properties properties) {
+    // this.properties = properties;
+    // }
 
     public void setShortName(final String shortName) {
         this.shortName = shortName;

Modified: trunk/src/main/java/cc/kune/msgs/client/UserMessage.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessage.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessage.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -6,6 +6,7 @@
 import org.adamtacy.client.ui.effects.examples.Show;
 
 import cc.kune.common.client.noti.NotifyLevel;
+import cc.kune.common.client.utils.TextUtils;
 import cc.kune.msgs.client.resources.UserMessageImages;
 
 import com.google.gwt.core.client.GWT;
@@ -23,37 +24,43 @@
 
 public class UserMessage extends Composite implements HasText {
 
+    interface MessageUiBinder extends UiBinder<Widget, UserMessage> {
+    }
+    private static String closeTitle = "Close";
     private static int fadeMills = 5000;
+
     private static MessageUiBinder uiBinder = GWT.create(MessageUiBinder.class);
-    private static String closeTitle = "Close";
 
+    public static void setCloseTitle(final String title) {
+        closeTitle = title;
+    }
+
+    public static void setFadeMills(final int mills) {
+        fadeMills = mills;
+    }
     @UiField
-    Image icon;
-    @UiField
-    InlineHTML label;
-    @UiField
     PushButton close;
+
     private final CloseCallback closeCallback;
 
-    interface MessageUiBinder extends UiBinder<Widget, UserMessage> {
-    }
+    @UiField
+    Image icon;
 
-    public static void setCloseTitle(String title) {
-        closeTitle = title;
-    }
+    @UiField
+    InlineHTML label;
 
-    public static void setFadeMills(int mills) {
-        fadeMills = mills;
-    }
-
-    public UserMessage(NotifyLevel level, String title, String message, boolean closeable, CloseCallback closeCallback) {
+    public UserMessage(final NotifyLevel level, final String title, final String message, final String id,
+            final boolean closeable, final CloseCallback closeCallback) {
         this.closeCallback = closeCallback;
         initWidget(uiBinder.createAndBindUi(this));
+        if (TextUtils.notEmpty(id)) {
+            super.ensureDebugId(id);
+        }
         label.setHTML((title != null && title.length() > 0 ? "<b>" + title + "</b><br/>" : "") + message);
         close.setVisible(closeable);
         close.setTitle(closeTitle);
         if (!closeable) {
-            Timer time = new Timer() {
+            final Timer time = new Timer() {
                 @Override
                 public void run() {
                     close();
@@ -77,26 +84,36 @@
         default:
             break;
         }
-        Show anim = new Show(this.getElement());
+        final Show anim = new Show(this.getElement());
         anim.setDuration(0.5);
         anim.play();
     }
 
-    public UserMessage(String message, CloseCallback closeCallback) {
+    public UserMessage(final String message, final CloseCallback closeCallback) {
         this("", message, false, closeCallback);
     }
 
-    public UserMessage(String title, String message, CloseCallback closeCallback) {
-        this(title, message, false, closeCallback);
+    public UserMessage(final String title, final String message, final boolean closeable,
+            final CloseCallback closeCallback) {
+        this(NotifyLevel.info, title, message, "", closeable, closeCallback);
     }
 
-    public UserMessage(String title, String message, boolean closeable, CloseCallback closeCallback) {
-        this(NotifyLevel.info, title, message, closeable, closeCallback);
+    public UserMessage(final String title, final String message, final CloseCallback closeCallback) {
+        this(title, message, false, closeCallback);
     }
 
-    @Override
-    public void setText(String text) {
-        label.setText(text);
+    private void close() {
+        final Fade fade = new Fade(this.getElement());
+        fade.setDuration(0.7);
+        fade.play();
+        fade.addEffectCompletedHandler(new EffectCompletedHandler() {
+
+            @Override
+            public void onEffectCompleted(final EffectCompletedEvent event) {
+                removeFromParent();
+                closeCallback.onClose();
+            }
+        });
     }
 
     @Override
@@ -105,22 +122,13 @@
     }
 
     @UiHandler("close")
-    void handleClick(ClickEvent e) {
+    void handleClick(final ClickEvent e) {
         close();
     }
 
-    private void close() {
-        Fade fade = new Fade(this.getElement());
-        fade.setDuration(0.7);
-        fade.play();
-        fade.addEffectCompletedHandler(new EffectCompletedHandler() {
-
-            @Override
-            public void onEffectCompleted(EffectCompletedEvent event) {
-                removeFromParent();
-                closeCallback.onClose();
-            }
-        });
+    @Override
+    public void setText(final String text) {
+        label.setText(text);
     }
 
 }

Modified: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -26,9 +26,9 @@
     }
 
     @Override
-    public void add(final NotifyLevel level, final String title, final String message, final boolean closeable,
-            final CloseCallback closeCallback) {
-        final UserMessage msg = new UserMessage(level, title, message, closeable, closeCallback);
+    public void add(final NotifyLevel level, final String title, final String message, final String id,
+            final boolean closeable, final CloseCallback closeCallback) {
+        final UserMessage msg = new UserMessage(level, title, message, id, closeable, closeCallback);
         vp.add(msg);
         final SlideUp anim = new SlideUp(msg.getElement());
         anim.setDuration(.5);

Modified: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessagesPresenter.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessagesPresenter.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -4,20 +4,21 @@
 
 public class UserMessagesPresenter {
 
-    private UserMessagesView view;
-
     public interface UserMessagesView {
-        void add(NotifyLevel level, String title, String message, boolean closable, CloseCallback callback);
+        void add(NotifyLevel level, String title, String message, String id, boolean closable, CloseCallback callback);
     }
 
+    private UserMessagesView view;
+
     public UserMessagesPresenter() {
     }
 
-    public void init(UserMessagesView view) {
-        this.view = view;
+    public void add(final NotifyLevel level, final String title, final String message, final String id,
+            final boolean closable, final CloseCallback closeCallback) {
+        view.add(level, title, message, id, closable, closeCallback);
     }
 
-    public void add(NotifyLevel level, String title, String message, boolean closable, CloseCallback closeCallback) {
-        view.add(level, title, message, closable, closeCallback);
+    public void init(final UserMessagesView view) {
+        this.view = view;
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,694 +1,694 @@
 .k-site-traybar {
-  background: transparent none repeat scroll 0% 50%;
+	background: transparent none repeat scroll 0% 50%;
 }
 
 .k-blank-toolbar {
-  background: #FFF none repeat scroll 0% 50%;
+	background: #FFF none repeat scroll 0% 50%;
 }
 
 .k-sitebar .kune-IconHyperlink {
-  white-space: nowrap;
+	white-space: nowrap;
 }
 
 .k-sitebar .kune-IconHyperlink a:link {
-  cursor: pointer;
-  text-decoration: underline;
-  color: #B3B3B3;
+	cursor: pointer;
+	text-decoration: underline;
+	color: #B3B3B3;
 }
 
 .k-sitebar .kune-IconHyperlink a:hover {
-  text-decoration: underline;
+	text-decoration: underline;
 }
 
 .k-sitebar .kune-IconHyperlink a:visited {
-  color: #B3B3B3;
+	color: #B3B3B3;
 }
 
 .k-sitebar-labellink {
-  white-space: nowrap;
-  color: #B3B3B3;
-  cursor: pointer;
-  text-decoration: underline;
+	white-space: nowrap;
+	color: #B3B3B3;
+	cursor: pointer;
+	text-decoration: underline;
 }
 
 .k-sitebar {
-  margin-right: 10px;
-  height: 16px;
+	margin-right: 10px;
+	height: 16px;
 }
 
 .k-sitebar .gwt-TextBox {
-  border: 1px solid #E4A374;
-  margin: 0 15px 0 3px;
-  padding-left: 1px;
-  color: #B3B3B3;
-  background: transparent;
+	border: 1px solid #E4A374;
+	margin: 0 15px 0 3px;
+	padding-left: 1px;
+	color: #B3B3B3;
+	background: transparent;
 }
 
 .k-sitebar .gwt-Hyperlink a {
-  white-space: nowrap;
-  color: #B3B3B3;
-  text-decoration: underline;
-  cursor: pointer;
+	white-space: nowrap;
+	color: #B3B3B3;
+	text-decoration: underline;
+	cursor: pointer;
 }
 
 .k-sitebar .gwt-PushButton {
-  cursor: pointer;
+	cursor: pointer;
 }
 
 .k-sitebar-LabelLink {
-  white-space: nowrap;
-  color: #B3B3B3;
-  cursor: pointer;
-  text-decoration: underline;
+	white-space: nowrap;
+	color: #B3B3B3;
+	cursor: pointer;
+	text-decoration: underline;
 }
 
 .k-entity-summary {
-  border-left-color: transparent;
-  border-left-width: 5px;
-  border-bottom-color: transparent;
-  border-bottom-width: 5px;
+	border-left-color: transparent;
+	border-left-width: 5px;
+	border-bottom-color: transparent;
+	border-bottom-width: 5px;
 }
 
 .k-entitytextlogo-border {
-  border: 2px solid #F2F2F2;
+	border: 2px solid #F2F2F2;
 }
 
 .k-entitytextlogo-no-border {
-  border: none;
+	border: none;
 }
 
 .k-entitytextlogo {
-  height: 60px;
-  margin: 0 0 4px 0;
-  overflow: hidden;
-  width: 468px;
+	height: 60px;
+	margin: 0 0 4px 0;
+	overflow: hidden;
+	width: 468px;
 }
 
 .k-entitytextlogo table {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 
 .k-elogo-l-l {
-  font-size: 272%;
+	font-size: 272%;
 }
 
 .k-elogo-l-m {
-  font-size: 167%;
+	font-size: 167%;
 }
 
 .k-elogo-l-s {
-  font-size: 108%;
+	font-size: 108%;
 }
 
 .k-entitytextlogo .gwt-Label {
-  font-weight: 700;
-  margin: 5px;
-  height: 27px;
+	font-weight: 700;
+	margin: 5px;
+	height: 27px;
 }
 
 .k-entitytextlogo-default .gwt-Label {
-  color: #69312F;
+	color: #69312F;
 }
 
 .k-entitytextlogo-green .gwt-Label {
-  color: #250;
+	color: #250;
 }
 
 .k-entitytextlogo-blue .gwt-Label {
-  color: #000080;
+	color: #000080;
 }
 
 .k-entitytextlogo-grey .gwt-Label {
-  color: #1A1A1A;
+	color: #1A1A1A;
 }
 
 .k-entitytextlogo-purple .gwt-Label {
-  color: #440055;
+	color: #440055;
 }
 
 .k-entitytextlogo-red .gwt-Label {
-  color: #800000;
+	color: #800000;
 }
 
 .k-elogo-plink {
-  color: #CCC;
-  font-size: 85%;
-  margin: 5px;
-  text-decoration: underline;
-  white-space: nowrap;
-  background-color: #FFF;
+	color: #CCC;
+	font-size: 85%;
+	margin: 5px;
+	text-decoration: underline;
+	white-space: nowrap;
+	background-color: #FFF;
 }
 
 .k-elogop-expand {
-  background-color: transparent;
+	background-color: transparent;
 }
 
 .k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed
-  {
-  background: #DD8A3D none repeat scroll 0% 50%;
+	{
+	background: #DD8A3D none repeat scroll 0% 50%;
 }
 
 .k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed {
-  background: #5FD35F none repeat scroll 0% 50%;
+	background: #5FD35F none repeat scroll 0% 50%;
 }
 
 .k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed {
-  background: #0066FF none repeat scroll 0% 50%;
+	background: #0066FF none repeat scroll 0% 50%;
 }
 
 .k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed {
-  background: #4D4D4D none repeat scroll 0% 50%;
+	background: #4D4D4D none repeat scroll 0% 50%;
 }
 
 .k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed {
-  background: #660080 none repeat scroll 0% 50%;
+	background: #660080 none repeat scroll 0% 50%;
 }
 
 .k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed {
-  background: #D40000 none repeat scroll 0% 50%;
+	background: #D40000 none repeat scroll 0% 50%;
 }
 
 .k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed
-  {
-  background: transparent none repeat scroll 0% 50%;
+	{
+	background: transparent none repeat scroll 0% 50%;
 }
 
 .k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed
-  {
-  background: #DEAA87 none repeat scroll 0% 50%;
+	{
+	background: #DEAA87 none repeat scroll 0% 50%;
 }
 
 .k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed
-  {
-  background: #DCE8AB none repeat scroll 0% 50%;
+	{
+	background: #DCE8AB none repeat scroll 0% 50%;
 }
 
 .k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed
-  {
-  background: #D5D5FF none repeat scroll 0% 50%;
+	{
+	background: #D5D5FF none repeat scroll 0% 50%;
 }
 
 .k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed
-  {
-  background: #999999 none repeat scroll 0% 50%;
+	{
+	background: #999999 none repeat scroll 0% 50%;
 }
 
 .k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed
-  {
-  background: #A793AC none repeat scroll 0% 50%;
+	{
+	background: #A793AC none repeat scroll 0% 50%;
 }
 
 .k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed
-  {
-  background: #FF5555 none repeat scroll 0% 50%;
+	{
+	background: #FF5555 none repeat scroll 0% 50%;
 }
 
 .k-entity-title {
-  border-left-style: solid;
-  border-left-width: 5px;
+	border-left-style: solid;
+	border-left-width: 5px;
 }
 
 .k-entity-title div {
-  line-height: 22px;
-  white-space: nowrap;
+	line-height: 22px;
+	white-space: nowrap;
 }
 
 .k-entity-subtitle {
-
+	
 }
 
 .k-entity-subtitle div {
-  line-height: 22px;
-  white-space: nowrap;
+	line-height: 22px;
+	white-space: nowrap;
 }
 
 .k-entity-title-rd-default {
-  background: #DD8A3D;
+	background: #DD8A3D;
 }
 
 .k-entity-title-rd-green {
-  background: #5FD35F;
+	background: #5FD35F;
 }
 
 .k-entity-title-rd-blue {
-  background: #0066FF;
+	background: #0066FF;
 }
 
 .k-entity-title-rd-grey {
-  background: #4D4D4D;
+	background: #4D4D4D;
 }
 
 .k-entity-title-rd-purple {
-  background: #660080;
+	background: #660080;
 }
 
 .k-entity-title-rd-red {
-  background: #D40000;
+	background: #D40000;
 }
 
 .k-entity-title-default {
-  background: #F1BB59 none repeat scroll 0% 50%;
-  border-left-color: #DD8A3D;
+	background: #F1BB59 none repeat scroll 0% 50%;
+	border-left-color: #DD8A3D;
 }
 
 .k-entity-title-green {
-  background: #AFA none repeat scroll 0% 50%;
-  border-left-color: #5FD35F;
+	background: #AFA none repeat scroll 0% 50%;
+	border-left-color: #5FD35F;
 }
 
 .k-entity-title-blue {
-  background: #AFDDE9 none repeat scroll 0% 50%;
-  border-left-color: #0066FF;
+	background: #AFDDE9 none repeat scroll 0% 50%;
+	border-left-color: #0066FF;
 }
 
 .k-entity-title-grey {
-  background: #CCCCCC none repeat scroll 0% 50%;
-  border-left-color: #4D4D4D;
+	background: #CCCCCC none repeat scroll 0% 50%;
+	border-left-color: #4D4D4D;
 }
 
 .k-entity-title-purple {
-  background: #DDAFE9 none repeat scroll 0% 50%;
-  border-left-color: #660080;
+	background: #DDAFE9 none repeat scroll 0% 50%;
+	border-left-color: #660080;
 }
 
 .k-entity-title-red {
-  background: #FF8080 none repeat scroll 0% 50%;
-  border-left-color: #D40000;
+	background: #FF8080 none repeat scroll 0% 50%;
+	border-left-color: #D40000;
 }
 
 .k-entity-title-default div {
-  color: #69312F;
+	color: #69312F;
 }
 
 .k-entity-title-green div {
-  color: #250;
+	color: #250;
 }
 
 .k-entity-title-blue div {
-  color: #000080;
+	color: #000080;
 }
 
 .k-entity-title-grey div {
-  color: #1A1A1A;
+	color: #1A1A1A;
 }
 
 .k-entity-title-purple div {
-  color: #440055;
+	color: #440055;
 }
 
 .k-entity-title-red div {
-  color: #800000;
+	color: #800000;
 }
 
 .k-entity-subtitle-default {
-  background: #DD8A3D none repeat scroll 0% 50%;
+	background: #DD8A3D none repeat scroll 0% 50%;
 }
 
 .k-entity-subtitle-green {
-  background: #5FD35F none repeat scroll 0% 50%;
+	background: #5FD35F none repeat scroll 0% 50%;
 }
 
 .k-entity-subtitle-blue {
-  background: #0066FF none repeat scroll 0% 50%;
+	background: #0066FF none repeat scroll 0% 50%;
 }
 
 .k-entity-subtitle-grey {
-  background: #4D4D4D none repeat scroll 0% 50%;
+	background: #4D4D4D none repeat scroll 0% 50%;
 }
 
 .k-entity-subtitle-purple {
-  background: #660080 none repeat scroll 0% 50%;
+	background: #660080 none repeat scroll 0% 50%;
 }
 
 .k-entity-subtitle-red {
-  background: #D40000 none repeat scroll 0% 50%;
+	background: #D40000 none repeat scroll 0% 50%;
 }
 
 .k-entity-subtitle-default div {
-  color: #FFF;
+	color: #FFF;
 }
 
 .k-entity-subtitle-green div {
-  color: #FFF;
+	color: #FFF;
 }
 
 .k-entity-subtitle-blue div {
-  color: #FFF;
+	color: #FFF;
 }
 
 .k-entity-subtitle-grey div {
-  color: #FFF;
+	color: #FFF;
 }
 
 .k-entity-subtitle-purple div {
-  color: #FFF;
+	color: #FFF;
 }
 
 .k-entity-subtitle-red div {
-  color: #FFF;
+	color: #FFF;
 }
 
 .k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default
-  {
-  background: #DD8A3D;
+	{
+	background: #DD8A3D;
 }
 
 .k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green
-  {
-  background: #5FD35F;
+	{
+	background: #5FD35F;
 }
 
 .k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue
-  {
-  background: #0066FF;
+	{
+	background: #0066FF;
 }
 
 .k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey
-  {
-  background: #4D4D4D;
+	{
+	background: #4D4D4D;
 }
 
 .k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple
-  {
-  background: #660080;
+	{
+	background: #660080;
 }
 
 .k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red
-  {
-  background: #D40000;
+	{
+	background: #D40000;
 }
 
 .k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body
-  {
-  background: #FFD09D none repeat scroll 0% 50%;
+	{
+	background: #FFD09D none repeat scroll 0% 50%;
 }
 
 .k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body
-  {
-  background: #CFA none repeat scroll 0% 50%;
+	{
+	background: #CFA none repeat scroll 0% 50%;
 }
 
 .k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body
-  {
-  background: #AACCFF none repeat scroll 0% 50%;
+	{
+	background: #AACCFF none repeat scroll 0% 50%;
 }
 
 .k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body
-  {
-  background: #B3B3B3 none repeat scroll 0% 50%;
+	{
+	background: #B3B3B3 none repeat scroll 0% 50%;
 }
 
 .k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body
-  {
-  background: #DDAFE9 none repeat scroll 0% 50%;
+	{
+	background: #DDAFE9 none repeat scroll 0% 50%;
 }
 
 .k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body {
-  background: #FFAAAA none repeat scroll 0% 50%;
+	background: #FFAAAA none repeat scroll 0% 50%;
 }
 
 .k-entity-context-purple .x-tree .x-panel-body {
-  background: #DDAFE9 none repeat scroll 0% 50%;
+	background: #DDAFE9 none repeat scroll 0% 50%;
 }
 
 .k-entity-content {
-  background: #FFF;
+	background: #FFF;
 }
 
 .k-entity-bottom div { /* line-height: 24px; */
-  color: #FFF;
+	color: #FFF;
 }
 
 .k-toolbar-top-line {
-  border-top-color: rgb(208, 208, 208);
-  border-top-style: solid;
-  border-top-width: 1px;
+	border-top-color: rgb(208, 208, 208);
+	border-top-style: solid;
+	border-top-width: 1px;
 }
 
 .k-toolbar-bottom-line {
-  border-bottom-color: rgb(208, 208, 208);
-  border-bottom-style: solid;
-  border-bottom-width: 1px;
+	border-bottom-color: rgb(208, 208, 208);
+	border-bottom-style: solid;
+	border-bottom-width: 1px;
 }
 
 .x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label
-  {
-  white-space: nowrap;
-  font: normal 100% arial, sans;
-  line-height: 19px;
+	{
+	white-space: nowrap;
+	font: normal 100% arial, sans;
+	line-height: 19px;
 }
 
 .k-toolbar-sep {
-  padding-top: 4px;
-  padding-left: 5px;
+	padding-top: 4px;
+	padding-left: 5px;
 }
 
 /* Custom gwt-ext styles */
 .ytb-sep {
-  background-image:
-    url(../js/ext/resources/images/default/grid/grid-split.gif);
-  background-position: center;
-  background-repeat: no-repeat;
-  display: block;
-  font-size: 1px;
-  height: 16px;
-  width: 4px;
-  overflow: hidden;
-  cursor: default;
-  margin: 0 2px 0;
-  border: 0;
+	background-image:
+		url(../js/ext/resources/images/default/grid/grid-split.gif);
+	background-position: center;
+	background-repeat: no-repeat;
+	display: block;
+	font-size: 1px;
+	height: 16px;
+	width: 4px;
+	overflow: hidden;
+	cursor: default;
+	margin: 0 2px 0;
+	border: 0;
 }
 
 .ytb-spacer {
-  width: 2px;
+	width: 2px;
 }
 
 .x-grid-group-hd {
-  border-bottom: 2px solid grey;
-  cursor: pointer;
-  padding-top: 3px;
+	border-bottom: 2px solid grey;
+	cursor: pointer;
+	padding-top: 3px;
 }
 
 /* Drop down */
 .k-dropdownouter {
-  background-color: grey;
+	background-color: grey;
 }
 
 .k-dropdownouter-members {
-
+	
 }
 
 .k-dropdownouter-members-default {
-  background-color: #DF5244;
+	background-color: #DF5244;
 }
 
 .k-dropdownouter-members-green {
-  background-color: #008000;
+	background-color: #008000;
 }
 
 .k-dropdownouter-members-blue {
-  background-color: #5500D4;
+	background-color: #5500D4;
 }
 
 .k-dropdownouter-members-grey {
-  background-color: #4D4D4D;
+	background-color: #4D4D4D;
 }
 
 .k-dropdownouter-members-purple {
-  background-color: #672178;
+	background-color: #672178;
 }
 
 .k-dropdownouter-members-red {
-  background-color: #A02C2C;
+	background-color: #A02C2C;
 }
 
 .k-dropdownouter-part {
-
+	
 }
 
 .k-dropdownouter-part-default {
-  background-color: #CA5842;
+	background-color: #CA5842;
 }
 
 .k-dropdownouter-part-green {
-  background-color: #00AA00;
+	background-color: #00AA00;
 }
 
 .k-dropdownouter-part-blue {
-  background-color: #6600FF;
+	background-color: #6600FF;
 }
 
 .k-dropdownouter-part-grey {
-  background-color: #666666;
+	background-color: #666666;
 }
 
 .k-dropdownouter-part-purple {
-  background-color: #892CA0;
+	background-color: #892CA0;
 }
 
 .k-dropdownouter-part-red {
-  background-color: #C83737;
+	background-color: #C83737;
 }
 
 .k-dropdownouter-tags {
-
+	
 }
 
 .k-dropdownouter-tags-default {
-  background-color: #87501E;
+	background-color: #87501E;
 }
 
 .k-dropdownouter-tags-green {
-  background-color: #00D400;
+	background-color: #00D400;
 }
 
 .k-dropdownouter-tags-blue {
-  background-color: #9955FF;
+	background-color: #9955FF;
 }
 
 .k-dropdownouter-tags-grey {
-  background-color: #808080;
+	background-color: #808080;
 }
 
 .k-dropdownouter-tags-purple {
-  background-color: #AB37C8;
+	background-color: #AB37C8;
 }
 
 .k-dropdownouter-tags-red {
-  background-color: #D35F5F;
+	background-color: #D35F5F;
 }
 
 .k-dropdownouter-summary {
-
+	
 }
 
 .k-dropdownouter-summary-default {
-  background-color: #9F734B;
+	background-color: #9F734B;
 }
 
 .k-dropdownouter-summary-green {
-  background-color: #4CE14C;
+	background-color: #4CE14C;
 }
 
 .k-dropdownouter-summary-blue {
-  background-color: #69A5FF;
+	background-color: #69A5FF;
 }
 
 .k-dropdownouter-summary-grey {
-  background-color: #A6A6A6;
+	background-color: #A6A6A6;
 }
 
 .k-dropdownouter-summary-purple {
-  background-color: #C473D8;
+	background-color: #C473D8;
 }
 
 .k-dropdownouter-summary-red {
-  background-color: #E08F8F;
+	background-color: #E08F8F;
 }
 
 .k-dropdowninner {
-  margin: 0 3px 1px 3px;
-  background: green;
-  background-color: #FFF;
-  /* padding: 3px; */
+	margin: 0 3px 1px 3px;
+	background: green;
+	background-color: #FFF;
+	/* padding: 3px; */
 }
 
 .k-dropdownlabel {
-  color: #FFF;
-  cursor: pointer;
+	color: #FFF;
+	cursor: pointer;
 }
 
 .k-dropdownlabel .gwt-Label {
-  margin: 0 5px 0 0;
-  width: 100%;
+	margin: 0 5px 0 0;
+	width: 100%;
 }
 
 .k-dropdownlabel img {
-  margin: 0 3px 0 1px;
+	margin: 0 3px 0 1px;
 }
 
 /* WsTheme */
 .k-wstheme-icon-default {
-  background: #FF8C00;
+	background: #FF8C00;
 }
 
 .k-wstheme-icon-green {
-  background: green;
+	background: green;
 }
 
 .k-wstheme-icon-blue {
-  background: blue;
+	background: blue;
 }
 
 .k-wstheme-icon-grey {
-  background: grey;
+	background: grey;
 }
 
 .k-wstheme-icon-purple {
-  background: purple;
+	background: purple;
 }
 
 .k-wstheme-icon-red {
-  background: red;
+	background: red;
 }
 
 /* Tool selector items */
 .k-toolselectoritem {
-  width: auto;
-  margin-bottom: 5px;
-  cursor: pointer;
+	width: auto;
+	margin-bottom: 5px;
+	cursor: pointer;
 }
 
 .k-toolselectoritem-sel {
-
+	
 }
 
 .k-toolselectoritem-notsel-default {
-  background: #FFE9A5;
+	background: #FFE9A5;
 }
 
 .k-toolselectoritem-notsel-green {
-  background: #D6F4D6;
+	background: #D6F4D6;
 }
 
 .k-toolselectoritem-notsel-blue {
-  background: #D7D7F4;
+	background: #D7D7F4;
 }
 
 .k-toolselectoritem-notsel-grey {
-  background: #E6E6E6;
+	background: #E6E6E6;
 }
 
 .k-toolselectoritem-notsel-purple {
-  background: #EED7F4;
+	background: #EED7F4;
 }
 
 .k-toolselectoritem-notsel-red {
-  background: #FFD5D5;
+	background: #FFD5D5;
 }
 
 .k-toolselectoritem-sel a {
-  color: #FFF;
-  padding: 0 9px;
-  text-decoration: none;
+	color: #FFF;
+	padding: 0 9px;
+	text-decoration: none;
 }
 
 .k-toolselectoritem-sel a:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 .k-toolselectoritem-notsel {
-
+	
 }
 
 .k-toolselectoritem-notsel a {
-  color: #0000FF;
-  padding: 0 9px;
-  text-decoration: none;
+	color: #0000FF;
+	padding: 0 9px;
+	text-decoration: none;
 }
 
 .k-toolselectoritem-notsel a:hover {
-  text-decoration: underline;
+	text-decoration: underline;
 }
 
 /* others */ /*
@@ -699,236 +699,231 @@
 }
 */
 .x-tree-node .k-ctn-status-normal a span {
-
+	
 }
 
 .x-tree-node .k-ctn-status-deleted a span {
-  text-decoration: line-through;
-  color: gray;
+	text-decoration: line-through;
+	color: gray;
 }
 
 .x-tree-node .k-ctn-status-rejected a span {
-  text-decoration: line-through;
-  /* color: #FF6633; */
-  color: #FF3300;
+	text-decoration: line-through;
+	/* color: #FF6633; */
+	color: #FF3300;
 }
 
 .x-tree-node .k-ctn-status-editing a span {
-  font-style: italic;
-  color: gray;
+	font-style: italic;
+	color: gray;
 }
 
 .x-tree-node .k-ctn-status-submitted a span {
-  color: green;
+	color: green;
 }
 
 .k-info-links {
-  text-decoration: underline;
-  color: gray;
-  cursor: pointer;
+	text-decoration: underline;
+	color: gray;
+	cursor: pointer;
 }
 
 .x-tool-kmenu {
-  background-position: 0 -75px;
+	background-position: 0 -75px;
 }
 
 .x-tool-kmenu-over {
-  background-position: -15px -75px;
+	background-position: -15px -75px;
 }
 
 .k-border-openbox {
-  border-bottom: 1px #D0D0D0 solid;
-  border-right: 1px #D0D0D0 solid;
-  border-left: 1px #D0D0D0 solid;
+	border-bottom: 1px #D0D0D0 solid;
+	border-right: 1px #D0D0D0 solid;
+	border-left: 1px #D0D0D0 solid;
 }
 
 /* SiteToastMessages */
 .k-stm-info-icon {
-  background-image: url(img/info.gif) !important;
+	background-image: url(img/info.gif) !important;
 }
 
 .k-stm-imp-icon {
-  background-image: url(img/alert.gif) !important;
+	background-image: url(img/alert.gif) !important;
 }
 
 .k-stm-verimp-icon {
-  background-image: url(img/important.gif) !important;
+	background-image: url(img/important.gif) !important;
 }
 
 .k-stm-error-icon {
-  background-image: url(img/error.gif) !important;
+	background-image: url(img/error.gif) !important;
 }
 
-.k-error-tb {
-  background: #FFB380 none repeat scroll 0% 50%;
-  color: #250;
-}
-
 .k-infod-head {
-  font-size: 108%;
-  margin-bottom: 10px;
+	font-size: 108%;
+	margin-bottom: 10px;
 }
 
 .gwt-DisclosurePanel {
-
+	
 }
 
 .gwt-DisclosurePanel-open {
-
+	
 }
 
 .gwt-DisclosurePanel-closed {
-
+	
 }
 
 .gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td
-  {
-  text-decoration: none; /* Remove underline from header */
-  color: black;
-  cursor: pointer;
-  cursor: hand;
+	{
+	text-decoration: none; /* Remove underline from header */
+	color: black;
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-DisclosurePanel .content {
-  border-left: 3px solid #e8eef7;
-  padding: 4px 0px 4px 8px;
-  margin-left: 6px;
+	border-left: 3px solid #e8eef7;
+	padding: 4px 0px 4px 8px;
+	margin-left: 6px;
 }
 
 .k-basic-thumb {
-  background: #FAFAFA none repeat scroll 0% 50%;
-  border: 1px solid #EBEBEB;
-  padding: 3px;
-  margin: 3px;
+	background: #FAFAFA none repeat scroll 0% 50%;
+	border: 1px solid #EBEBEB;
+	padding: 3px;
+	margin: 3px;
 }
 
 .k-basic-thumb td {
-  padding: 2px 3px 2px 3px;
-  border: none;
+	padding: 2px 3px 2px 3px;
+	border: none;
 }
 
 .k-text-gray {
-  color: gray;
+	color: gray;
 }
 
 .k-elp-limg {
-  margin-top: 4px;
-  margin-left: 5px;
-  cursor: pointer;
-  overflow: hidden;
+	margin-top: 4px;
+	margin-left: 5px;
+	cursor: pointer;
+	overflow: hidden;
 }
 
 .k-tsp-tag {
-  float: left;
-  padding: 3px;
-  cursor: pointer;
-  color: #0000FF;
+	float: left;
+	padding: 3px;
+	cursor: pointer;
+	color: #0000FF;
 }
 
 .k-tsp-cloud {
-  line-height: 1.5em;
-  text-align: center;
+	line-height: 1.5em;
+	text-align: center;
 }
 
 .k-link-icon {
-  background-image: url(img/link.gif) !important;
+	background-image: url(img/link.gif) !important;
 }
 
 .k-options-icon {
-  background-image: url(img/emblem-system.gif) !important;
+	background-image: url(img/emblem-system.gif) !important;
 }
 
 .k-copyleft-icon {
-  background-image: url(img/copyleft.png) !important;
+	background-image: url(img/copyleft.png) !important;
 }
 
 .k-picture-icon {
-  background-image: url(img/picture.png) !important;
+	background-image: url(img/picture.png) !important;
 }
 
 .k-film-icon {
-  background-image: url(img/film.png) !important;
+	background-image: url(img/film.png) !important;
 }
 
 .k-specialchars-icon {
-  background-image: url(img/specialchars.png) !important;
+	background-image: url(img/specialchars.png) !important;
 }
 
 .k-info-icon {
-  background-image: url(img/info.gif) !important;
+	background-image: url(img/info.gif) !important;
 }
 
 .k-newgroup-icon {
-  background-image: url(img/kune-icon16.png) !important;
+	background-image: url(img/kune-icon16.png) !important;
 }
 
 .k-colors-icon {
-  background-image: url(img/colors.gif) !important;
+	background-image: url(img/colors.gif) !important;
 }
 
 .x-toolbar-body table { /* width: 100%; */
-
+	
 }
 
 .k-preview-msg {
-  background: #FFCCAA;
+	background: #FFCCAA;
 }
 
 .k-preview-msg-lab {
-  background: #FFCCAA;
-  padding: 0 5px;
+	background: #FFCCAA;
+	padding: 0 5px;
 }
 
 .k-eil-edit {
-  border: thin solid black;
+	border: thin solid black;
 }
 
 /* duplicated in rte.css */
 .k-rte-comment {
-  border: 1px dashed #C0C0C0;
-  line-height: 1.4;
-  padding: 1px;
-  background-color: #D7FFD7;
+	border: 1px dashed #C0C0C0;
+	line-height: 1.4;
+	padding: 1px;
+	background-color: #D7FFD7;
 }
 
 .k-specialchar-grid {
-  border: 1px solid #ACA899;
+	border: 1px solid #ACA899;
 }
 
 .k-specialchar-grid table {
-
+	
 }
 
 .k-specialchar-grid div {
-  line-height: 22px;
+	line-height: 22px;
 }
 
 .k-specialchar-grid td {
-  padding: 1px;
+	padding: 1px;
 }
 
 .k-specialchar-pb {
-  border: 1px solid #EBE8D7;
-  cursor: pointer;
-  font-size: 108% !important;
-  text-align: center;
-  vertical-align: middle;
-  width: 18px;
-  height: 18px;
+	border: 1px solid #EBE8D7;
+	cursor: pointer;
+	font-size: 108% !important;
+	text-align: center;
+	vertical-align: middle;
+	width: 18px;
+	height: 18px;
 }
 
 .k-specialchar-pb-up {
-
+	
 }
 
 .k-specialchar-big {
-  padding: 3px;
-  line-height: 22px;
-  font-size: 197% !important;
+	padding: 3px;
+	line-height: 22px;
+	font-size: 197% !important;
 }
 
 .k-specialchar-adv-label {
-  margin-left: -10px;
+	margin-left: -10px;
 }
 
 .k-specialchar-popup
@@ -939,12 +934,16 @@
 
 
 
+
+
 :
 
 
 
 
 
+
+
 1
 px
 
@@ -952,29 +951,39 @@
 
 
 
+
+
 solid
 
 
 
 
 
+
+
 #C0C0C0
 
 
 
 
+
+
 ;
 z-index
 
 
 
 
+
+
 :
 
 
 
 
 
+
+
 9999
 !
 important
@@ -982,99 +991,107 @@
 
 
 
+
+
 ;
 background-color
 
 
 
 
+
+
 :
 
 
 
 
 
+
+
 #FFF
 
 
 
 
+
+
 ;
 }
 .k-specialchar-pb-down {
-  color: #161616;
+	color: #161616;
 }
 
 .k-specialchar-pb-up-hovering {
-  border: thin solid #ACA899;
+	border: thin solid #ACA899;
 }
 
 .k-specialchar-pb-down-hovering {
-  color: #161616;
+	color: #161616;
 }
 
 .k-preview-panel {
-  border: dashed 1px gray;
-  padding: 5px;
+	border: dashed 1px gray;
+	padding: 5px;
 }
 
 .k-rte-changelink {
-  white-space: nowrap;
-  color: navy;
-  cursor: pointer;
-  text-decoration: underline;
-  margin: 5px;
+	white-space: nowrap;
+	color: navy;
+	cursor: pointer;
+	text-decoration: underline;
+	margin: 5px;
 }
 
 .k-rte-changelink-popup {
-  border: 1px solid #C0C0C0;
-  z-index: 9999 !important;
-  background-color: #ECECEC;
+	border: 1px solid #C0C0C0;
+	z-index: 9999 !important;
+	background-color: #ECECEC;
 }
 
 .e-ui-room {
-  height: 27px;
-  line-height: 22px;
+	height: 27px;
+	line-height: 22px;
 }
 
 .e-ui-room input {
-  font-size: 100%;
-  margin-left: 0px;
-  margin-top: 0px;
+	font-size: 100%;
+	margin-left: 0px;
+	margin-top: 0px;
 }
 
 .k-def-popup {
-  z-index: 9999 !important;
-  background-color: #FFF;
-  border: 1px solid gray;
+	z-index: 9999 !important;
+	background-color: #FFF;
+	border: 1px solid gray;
 }
 
 #k-mshortcut {
-  position: absolute;
-  right: 10px;
+	position: absolute;
+	right: 10px;
 }
 
 #k-mshortcut-hidden {
-  visibility: hidden;
+	visibility: hidden;
 }
 
 #k-mshortcut a {
-  text-decoration: none;
-  color: black;
+	text-decoration: none;
+	color: black;
 }
 
 .k-plain-iframe iframe {
-  border: 1px solid gray;
+	border: 1px solid gray;
 }
 
 .k-transp .x-panel-body {
-  background: transparent;
+	background: transparent;
 }
 
 .k-transp {
-  background: transparent;
+	background: transparent;
 }
 
 .k-blank {
-  background: #FFF;
-}
+	background: #FFF;
+}
\ No newline at end of file

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/PlatformServerModule.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -52,11 +52,6 @@
 import org.ourproject.kune.platf.server.manager.I18nLanguageManager;
 import org.ourproject.kune.platf.server.manager.I18nTranslationManager;
 import org.ourproject.kune.platf.server.manager.LicenseManager;
-import org.ourproject.kune.platf.server.manager.PropertiesManager;
-import org.ourproject.kune.platf.server.manager.PropertyGroupManager;
-import org.ourproject.kune.platf.server.manager.PropertyManager;
-import org.ourproject.kune.platf.server.manager.PropertySettedManager;
-import org.ourproject.kune.platf.server.manager.PropertySubgroupManager;
 import org.ourproject.kune.platf.server.manager.RateManager;
 import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
 import org.ourproject.kune.platf.server.manager.TagManager;
@@ -75,11 +70,6 @@
 import org.ourproject.kune.platf.server.manager.impl.I18nLanguageManagerDefault;
 import org.ourproject.kune.platf.server.manager.impl.I18nTranslationManagerDefault;
 import org.ourproject.kune.platf.server.manager.impl.LicenseManagerDefault;
-import org.ourproject.kune.platf.server.manager.impl.PropertiesManagerDefault;
-import org.ourproject.kune.platf.server.manager.impl.PropertyGroupManagerDefault;
-import org.ourproject.kune.platf.server.manager.impl.PropertyManagerDefault;
-import org.ourproject.kune.platf.server.manager.impl.PropertySettedManagerDefault;
-import org.ourproject.kune.platf.server.manager.impl.PropertySubgroupManagerDefault;
 import org.ourproject.kune.platf.server.manager.impl.RateManagerDefault;
 import org.ourproject.kune.platf.server.manager.impl.SocialNetworkManagerDefault;
 import org.ourproject.kune.platf.server.manager.impl.TagManagerDefault;
@@ -114,29 +104,6 @@
 import com.wideplay.warp.persist.UnitOfWork;
 
 public class PlatformServerModule extends AbstractExtendedModule {
-    @Override
-    protected void configure() {
-        install(PersistenceService.usingJpa().across(UnitOfWork.TRANSACTION).buildModule());
-        bind(KunePersistenceService.class);
-
-        bindManagers();
-        bindRPC();
-        bindServices();
-        bind(KuneProperties.class).to(KunePropertiesDefault.class);
-        bind(Mapper.class).to(DozerMapper.class);
-        bind(ServerToolRegistry.class);
-        // bind(FileUploadManager.class).in(ServletScopes.REQUEST);
-        bind(FileUploadManager.class);
-        bind(FileDownloadManager.class);
-        bind(EntityLogoUploadManager.class);
-        bind(EntityLogoDownloadManager.class);
-
-        bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authenticated.class),
-                outermostCall(new AuthenticatedMethodInterceptor()));
-        bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authorizated.class),
-                outermostCall(new AuthorizatedMethodInterceptor()));
-    }
-
     private void bindManagers() {
         bind(UserManager.class).to(UserManagerDefault.class);
         bind(GroupManager.class).to(GroupManagerDefault.class);
@@ -155,11 +122,6 @@
         bind(CommentManager.class).to(CommentManagerDefault.class);
         bind(FileManager.class).to(FileManagerDefault.class);
         bind(ExtMediaDescripManager.class).to(ExtMediaDescripManagerDefault.class);
-        bind(PropertyManager.class).to(PropertyManagerDefault.class);
-        bind(PropertySettedManager.class).to(PropertySettedManagerDefault.class);
-        bind(PropertyGroupManager.class).to(PropertyGroupManagerDefault.class);
-        bind(PropertySubgroupManager.class).to(PropertySubgroupManagerDefault.class);
-        bind(PropertiesManager.class).to(PropertiesManagerDefault.class);
     }
 
     private void bindRPC() {
@@ -182,4 +144,27 @@
         bind(SessionService.class).to(SessionServiceDefault.class);
     }
 
+    @Override
+    protected void configure() {
+        install(PersistenceService.usingJpa().across(UnitOfWork.TRANSACTION).buildModule());
+        bind(KunePersistenceService.class);
+
+        bindManagers();
+        bindRPC();
+        bindServices();
+        bind(KuneProperties.class).to(KunePropertiesDefault.class);
+        bind(Mapper.class).to(DozerMapper.class);
+        bind(ServerToolRegistry.class);
+        // bind(FileUploadManager.class).in(ServletScopes.REQUEST);
+        bind(FileUploadManager.class);
+        bind(FileDownloadManager.class);
+        bind(EntityLogoUploadManager.class);
+        bind(EntityLogoDownloadManager.class);
+
+        bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authenticated.class),
+                outermostCall(new AuthenticatedMethodInterceptor()));
+        bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authorizated.class),
+                outermostCall(new AuthorizatedMethodInterceptor()));
+    }
+
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -10,9 +10,6 @@
 import org.ourproject.kune.platf.server.manager.I18nLanguageManager;
 import org.ourproject.kune.platf.server.manager.I18nTranslationManager;
 import org.ourproject.kune.platf.server.manager.LicenseManager;
-import org.ourproject.kune.platf.server.manager.PropertyGroupManager;
-import org.ourproject.kune.platf.server.manager.PropertyManager;
-import org.ourproject.kune.platf.server.manager.PropertySubgroupManager;
 import org.ourproject.kune.platf.server.manager.UserManager;
 import org.ourproject.kune.platf.server.properties.DatabaseProperties;
 
@@ -25,8 +22,6 @@
 import cc.kune.domain.I18nLanguage;
 import cc.kune.domain.I18nTranslation;
 import cc.kune.domain.License;
-import cc.kune.domain.PropertyGroup;
-import cc.kune.domain.PropertySubgroup;
 import cc.kune.domain.User;
 
 import com.google.inject.Inject;
@@ -40,9 +35,6 @@
     private final I18nLanguageManager languageManager;
     private final LicenseManager licenseManager;
     private final DatabaseProperties properties;
-    private final PropertyManager propertyManager;
-    private final PropertyGroupManager propGroupManager;
-    private final PropertySubgroupManager propSubgroupManager;
     private final I18nTranslationManager translationManager;
     private final UserManager userManager;
 
@@ -50,9 +42,7 @@
     public DatabaseInitializer(final DatabaseProperties properties, final UserManager userManager,
             final GroupManager groupManager, final LicenseManager licenseManager,
             final I18nLanguageManager languageManager, final I18nCountryManager countryManager,
-            final I18nTranslationManager translationManager, final ContentManager contentManager,
-            final PropertyManager propertyManager, final PropertyGroupManager propGroupManager,
-            final PropertySubgroupManager propSubgroupManager) {
+            final I18nTranslationManager translationManager, final ContentManager contentManager) {
         this.properties = properties;
         this.userManager = userManager;
         this.groupManager = groupManager;
@@ -61,9 +51,6 @@
         this.countryManager = countryManager;
         this.translationManager = translationManager;
         this.contentManager = contentManager;
-        this.propertyManager = propertyManager;
-        this.propGroupManager = propGroupManager;
-        this.propSubgroupManager = propSubgroupManager;
     }
 
     private void createDefUsersGroup() throws Exception, UserMustBeLoggedException {
@@ -181,12 +168,13 @@
     }
 
     private void createProperties() {
-        final PropertyGroup groupProps = new PropertyGroup(Group.PROPS_ID);
-        final PropertyGroup userProps = new PropertyGroup(User.PROPS_ID);
-        propGroupManager.persist(userProps);
-        propGroupManager.persist(groupProps);
-        final PropertySubgroup userXmppProps = new PropertySubgroup("user-xmpp");
-        propSubgroupManager.persist(userXmppProps);
+        // final PropertyGroup groupProps = new PropertyGroup(Group.PROPS_ID);
+        // final PropertyGroup userProps = new PropertyGroup(User.PROPS_ID);
+        // propGroupManager.persist(userProps);
+        // propGroupManager.persist(groupProps);
+        // final PropertySubgroup userXmppProps = new
+        // PropertySubgroup("user-xmpp");
+        // propSubgroupManager.persist(userXmppProps);
 
         // final Property colorProp = new Property("xmpp_color",
         // "Choose your color", Property.Type.STRING, true, "blue",

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertiesManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertiesManager.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertiesManager.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,16 +0,0 @@
-package org.ourproject.kune.platf.server.manager;
-
-import java.util.HashMap;
-
-import cc.kune.domain.Properties;
-import cc.kune.domain.PropertySetted;
-
-public interface PropertiesManager extends Manager<Properties, Long> {
-
-    HashMap<String, PropertySetted> get(Properties properties);
-
-    PropertySetted get(Properties properties, String key);
-
-    void set(Properties properties, String key, String value);
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertyGroupManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertyGroupManager.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertyGroupManager.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,9 +0,0 @@
-package org.ourproject.kune.platf.server.manager;
-
-import cc.kune.domain.PropertyGroup;
-
-public interface PropertyGroupManager extends Manager<PropertyGroup, Long> {
-
-    PropertyGroup find(String groupName);
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertyManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertyManager.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertyManager.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,7 +0,0 @@
-package org.ourproject.kune.platf.server.manager;
-
-import cc.kune.domain.Property;
-
-public interface PropertyManager extends Manager<Property, Long> {
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertySettedManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertySettedManager.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertySettedManager.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,7 +0,0 @@
-package org.ourproject.kune.platf.server.manager;
-
-import cc.kune.domain.PropertySetted;
-
-public interface PropertySettedManager extends Manager<PropertySetted, Long> {
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertySubgroupManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertySubgroupManager.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/PropertySubgroupManager.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,7 +0,0 @@
-package org.ourproject.kune.platf.server.manager;
-
-import cc.kune.domain.PropertySubgroup;
-
-public interface PropertySubgroupManager extends Manager<PropertySubgroup, Long> {
-
-}

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -22,9 +22,9 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.persistence.EntityExistsException;
 import javax.persistence.EntityManager;
 import javax.persistence.NoResultException;
+import javax.persistence.PersistenceException;
 
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.queryParser.MultiFieldQueryParser;
@@ -62,13 +62,13 @@
 public class GroupManagerDefault extends DefaultManager<Group, Long> implements GroupManager {
 
     private final Group finder;
+    private final KuneProperties kuneProperties;
+    private final License licenseFinder;
+    private final LicenseManager licenseManager;
+    private final DatabaseProperties properties;
     private final ServerToolRegistry registry;
-    private final DatabaseProperties properties;
-    private final License licenseFinder;
-    private final KuneProperties kuneProperties;
+    private final ServerToolRegistry serverToolRegistry;
     private final User userFinder;
-    private final ServerToolRegistry serverToolRegistry;
-    private final LicenseManager licenseManager;
 
     @Inject
     public GroupManagerDefault(final Provider<EntityManager> provider, final Group finder, final User userFinder,
@@ -86,6 +86,7 @@
         this.serverToolRegistry = serverToolRegistry;
     }
 
+    @Override
     public void changeDefLicense(final User user, final Group group, final String licName) {
         final License license = licenseFinder.findByShortName(licName);
         if (license == null) {
@@ -94,15 +95,18 @@
         group.setDefaultLicense(license);
     }
 
+    @Override
     public void changeWsTheme(final User user, final Group group, final String theme) throws AccessViolationException {
         // TODO: check theme
         group.setWorkspaceTheme(theme);
     }
 
+    @Override
     public void clearGroupBackImage(final Group group) {
         group.setGroupBackImage(null);
     }
 
+    @Override
     public Group createGroup(final Group group, final User user) throws GroupNameInUseException,
             UserMustBeLoggedException {
         final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
@@ -128,10 +132,12 @@
         }
     }
 
+    @Override
     public Group createUserGroup(final User user) throws GroupNameInUseException, EmailAddressInUseException {
         return createUserGroup(user, true);
     }
 
+    @Override
     public Group createUserGroup(final User user, final boolean wantPersonalHomepage) throws GroupNameInUseException,
             EmailAddressInUseException {
         final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
@@ -155,41 +161,79 @@
             initGroup(user, userGroup, wantPersonalHomepage ? serverToolRegistry.getToolsForUserKeys()
                     : ServerToolRegistry.emptyToolList);
             super.persist(user, User.class);
-        } catch (final ConstraintViolationException e) {
-            throw new GroupNameInUseException();
+        } catch (final PersistenceException e) {
+            if (e.getCause() instanceof ConstraintViolationException) {
+                throw new GroupNameInUseException();
+            }
+            throw e;
         }
         return userGroup;
     }
 
+    @Override
     public List<Group> findAdminInGroups(final Long groupId) {
         return finder.findAdminInGroups(groupId);
     }
 
+    @Override
     public Group findByShortName(final String shortName) {
         return finder.findByShortName(shortName);
     }
 
+    @Override
     public List<Group> findCollabInGroups(final Long groupId) {
         return finder.findCollabInGroups(groupId);
     }
 
+    @Override
     public List<String> findEnabledTools(final Long id) {
         return finder.findEnabledTools(id);
     }
 
+    @Override
     public Group getGroupOfUserWithId(final Long userId) {
         return userId != null ? find(User.class, userId).getUserGroup() : null;
     }
 
+    @Override
     public Group getSiteDefaultGroup() {
         final String shortName = properties.getDefaultSiteShortName();
         return findByShortName(shortName);
     }
 
+    private void initGroup(final User user, final Group group, final Collection<String> toolsToEnable)
+            throws GroupNameInUseException {
+        try {
+            persist(group);
+        } catch (final PersistenceException e) {
+            if (e.getCause() instanceof ConstraintViolationException) {
+                throw new GroupNameInUseException();
+            }
+            throw e;
+        }
+        for (final ServerTool tool : registry.all()) {
+            if (toolsToEnable.contains(tool.getName())) {
+                tool.initGroup(user, group);
+            }
+        }
+    }
+
+    private void initSocialNetwork(final Group group, final Group userGroup) {
+        final SocialNetwork network = group.getSocialNetwork();
+        final AccessLists lists = network.getAccessLists();
+        lists.getEditors().setMode(GroupListMode.NOBODY);
+        lists.getViewers().setMode(GroupListMode.EVERYONE);
+        if (!group.getGroupType().equals(GroupType.ORPHANED_PROJECT)) {
+            network.addAdmin(userGroup);
+        }
+    }
+
+    @Override
     public SearchResult<Group> search(final String search) {
         return this.search(search, null, null);
     }
 
+    @Override
     public SearchResult<Group> search(final String search, final Integer firstResult, final Integer maxResults) {
         final MultiFieldQueryParser parser = new MultiFieldQueryParser(new String[] { "longName", "shortName",
                 "publicDesc" }, new StandardAnalyzer());
@@ -202,11 +246,13 @@
         return super.search(query, firstResult, maxResults);
     }
 
+    @Override
     public void setDefaultContent(final String groupShortName, final Content content) {
         final Group group = findByShortName(groupShortName);
         group.setDefaultContent(content);
     }
 
+    @Override
     public void setGroupBackImage(final Group group, final Content content) {
         if (content.getMimeType().isImage()) {
             group.setGroupBackImage(content);
@@ -215,6 +261,7 @@
         }
     }
 
+    @Override
     public void setToolEnabled(final User userLogged, final String groupShortName, final String tool,
             final boolean enabled) {
         final Group group = findByShortName(groupShortName);
@@ -225,28 +272,4 @@
         toolConfiguration.setEnabled(enabled);
     }
 
-    private void initGroup(final User user, final Group group, final Collection<String> toolsToEnable)
-            throws GroupNameInUseException {
-        try {
-            persist(group);
-        } catch (final EntityExistsException e) {
-            throw new GroupNameInUseException();
-        }
-        for (final ServerTool tool : registry.all()) {
-            if (toolsToEnable.contains(tool.getName())) {
-                tool.initGroup(user, group);
-            }
-        }
-    }
-
-    private void initSocialNetwork(final Group group, final Group userGroup) {
-        final SocialNetwork network = group.getSocialNetwork();
-        final AccessLists lists = network.getAccessLists();
-        lists.getEditors().setMode(GroupListMode.NOBODY);
-        lists.getViewers().setMode(GroupListMode.EVERYONE);
-        if (!group.getGroupType().equals(GroupType.ORPHANED_PROJECT)) {
-            network.addAdmin(userGroup);
-        }
-    }
-
 }

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertiesManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertiesManagerDefault.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertiesManagerDefault.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,84 +0,0 @@
-package org.ourproject.kune.platf.server.manager.impl;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.persistence.EntityManager;
-
-import org.ourproject.kune.platf.server.manager.PropertiesManager;
-
-import cc.kune.core.client.errors.UnknownPropertyException;
-import cc.kune.domain.Properties;
-import cc.kune.domain.Property;
-import cc.kune.domain.PropertySetted;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-
- at Singleton
-public class PropertiesManagerDefault extends DefaultManager<Properties, Long> implements PropertiesManager {
-
-    private final Property propFinder;
-
-    @Inject
-    public PropertiesManagerDefault(final Provider<EntityManager> provider, final Property propFinder) {
-        super(provider, Properties.class);
-        this.propFinder = propFinder;
-    }
-
-    public HashMap<String, PropertySetted> get(final Properties properties) {
-        final List<Property> defProperties = propFinder.find(properties.getPgroup());
-        final Map<Property, PropertySetted> propSetted = properties.getList();
-        final HashMap<String, PropertySetted> result = new HashMap<String, PropertySetted>();
-        for (final Property prop : defProperties) {
-            final PropertySetted setted = propSetted.get(prop);
-            if (setted == null) {
-                result.put(prop.getName(), createPropSettedFromDefault(prop));
-            } else {
-                result.put(prop.getName(), setted);
-            }
-        }
-        return result;
-    }
-
-    public PropertySetted get(final Properties properties, final String key) {
-        final Property prop = getDefProp(key);
-        PropertySetted propSet = properties.getList().get(prop);
-        if (propSet == null) {
-            propSet = createPropSettedFromDefault(prop);
-        }
-        return propSet;
-    }
-
-    public void set(final Properties properties, final String key, final String value) {
-        final PropertySetted propertySetted = get(properties, key);
-        propertySetted.setValue(value);
-        if (properties.getList().get(getDefProp(key)) == null) {
-            properties.getList().put(propertySetted.getProperty(), propertySetted);
-        }
-        persist(properties);
-    }
-
-    private PropertySetted createPropSettedFromDefault(final Property prop) {
-        return new PropertySetted(prop, prop.getDefaultValue());
-    }
-
-    private Property getDefProp(final String key) {
-        final Property prop = propFinder.find(key);
-        if (prop == null) {
-            throw new UnknownPropertyException("Unknown property: " + key);
-        }
-        return prop;
-    }
-
-    // @Override
-    // public void remove(final Properties properties) {
-    // for (final Entry<Property, PropertySetted> prop :
-    // properties.getList().entrySet()) {
-    // }
-    // super.remove(properties);
-    // }
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertyGroupManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertyGroupManagerDefault.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertyGroupManagerDefault.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,41 +0,0 @@
-package org.ourproject.kune.platf.server.manager.impl;
-
-import javax.persistence.EntityManager;
-
-import org.ourproject.kune.platf.server.manager.PropertiesManager;
-import org.ourproject.kune.platf.server.manager.PropertyGroupManager;
-
-import cc.kune.domain.Properties;
-import cc.kune.domain.PropertyGroup;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-
- at Singleton
-public class PropertyGroupManagerDefault extends DefaultManager<PropertyGroup, Long> implements PropertyGroupManager {
-
-    private final PropertyGroup finder;
-    private final PropertiesManager propertiesManager;
-
-    @Inject
-    public PropertyGroupManagerDefault(final Provider<EntityManager> provider, final PropertyGroup finder,
-            final PropertiesManager propertiesManager) {
-        super(provider, PropertyGroup.class);
-        this.finder = finder;
-        this.propertiesManager = propertiesManager;
-    }
-
-    public PropertyGroup find(final String groupName) {
-        return finder.find(groupName);
-    }
-
-    @Override
-    public void remove(final PropertyGroup pGroup) {
-        for (final Properties properties : pGroup.getPropertiesList()) {
-            propertiesManager.remove(properties);
-        }
-        super.remove(pGroup);
-    }
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertyManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertyManagerDefault.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertyManagerDefault.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,21 +0,0 @@
-package org.ourproject.kune.platf.server.manager.impl;
-
-import javax.persistence.EntityManager;
-
-import org.ourproject.kune.platf.server.manager.PropertyManager;
-
-import cc.kune.domain.Property;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-
- at Singleton
-public class PropertyManagerDefault extends DefaultManager<Property, Long> implements PropertyManager {
-
-    @Inject
-    public PropertyManagerDefault(final Provider<EntityManager> provider) {
-        super(provider, Property.class);
-    }
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertySettedManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertySettedManagerDefault.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertySettedManagerDefault.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,21 +0,0 @@
-package org.ourproject.kune.platf.server.manager.impl;
-
-import javax.persistence.EntityManager;
-
-import org.ourproject.kune.platf.server.manager.PropertySettedManager;
-
-import cc.kune.domain.PropertySetted;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-
- at Singleton
-public class PropertySettedManagerDefault extends DefaultManager<PropertySetted, Long> implements PropertySettedManager {
-
-    @Inject
-    public PropertySettedManagerDefault(final Provider<EntityManager> provider) {
-        super(provider, PropertySetted.class);
-    }
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertySubgroupManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertySubgroupManagerDefault.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/PropertySubgroupManagerDefault.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,22 +0,0 @@
-package org.ourproject.kune.platf.server.manager.impl;
-
-import javax.persistence.EntityManager;
-
-import org.ourproject.kune.platf.server.manager.PropertySubgroupManager;
-
-import cc.kune.domain.PropertySubgroup;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-
- at Singleton
-public class PropertySubgroupManagerDefault extends DefaultManager<PropertySubgroup, Long> implements
-        PropertySubgroupManager {
-
-    @Inject
-    public PropertySubgroupManagerDefault(final Provider<EntityManager> provider) {
-        super(provider, PropertySubgroup.class);
-    }
-
-}

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -36,8 +36,6 @@
 import org.ourproject.kune.chat.server.managers.XmppManager;
 import org.ourproject.kune.platf.server.manager.I18nCountryManager;
 import org.ourproject.kune.platf.server.manager.I18nLanguageManager;
-import org.ourproject.kune.platf.server.manager.PropertiesManager;
-import org.ourproject.kune.platf.server.manager.PropertyGroupManager;
 import org.ourproject.kune.platf.server.manager.UserManager;
 import org.ourproject.kune.platf.server.properties.ChatProperties;
 
@@ -45,8 +43,6 @@
 import cc.kune.core.shared.i18n.I18nTranslationService;
 import cc.kune.domain.I18nCountry;
 import cc.kune.domain.I18nLanguage;
-import cc.kune.domain.Properties;
-import cc.kune.domain.PropertyGroup;
 import cc.kune.domain.User;
 import cc.kune.domain.utils.UserBuddiesData;
 
@@ -56,21 +52,18 @@
 
 @Singleton
 public class UserManagerDefault extends DefaultManager<User, Long> implements UserManager {
-    private final User finder;
     private final I18nCountryManager countryManager;
+    private final User finder;
+    private final I18nTranslationService i18n;
     private final I18nLanguageManager languageManager;
-    private final XmppManager xmppManager;
     private final ChatProperties properties;
-    private final I18nTranslationService i18n;
-    private final PropertyGroupManager propGroupManager;
-    private PropertyGroup userPropGroup;
-    private final PropertiesManager propManager;
+    // private final PropertiesManager propManager;
+    private final XmppManager xmppManager;
 
     @Inject
     public UserManagerDefault(final Provider<EntityManager> provider, final User finder,
             final I18nLanguageManager languageManager, final I18nCountryManager countryManager,
-            final XmppManager xmppManager, final ChatProperties properties, final I18nTranslationService i18n,
-            final PropertyGroupManager propGroupManager, final PropertiesManager propManager) {
+            final XmppManager xmppManager, final ChatProperties properties, final I18nTranslationService i18n) {
         super(provider, User.class);
         this.finder = finder;
         this.languageManager = languageManager;
@@ -78,10 +71,9 @@
         this.xmppManager = xmppManager;
         this.properties = properties;
         this.i18n = i18n;
-        this.propGroupManager = propGroupManager;
-        this.propManager = propManager;
     }
 
+    @Override
     public User createUser(final String shortName, final String longName, final String email, final String passwd,
             final String langCode, final String countryCode, final String timezone) throws I18nNotFoundException {
         I18nLanguage language;
@@ -94,12 +86,12 @@
         } catch (final NoResultException e) {
             throw new I18nNotFoundException();
         }
-        if (userPropGroup == null) {
-            userPropGroup = propGroupManager.find(User.PROPS_ID);
-        }
-        final Properties userProp = new Properties(userPropGroup);
-        propManager.persist(userProp);
-        final User user = new User(shortName, longName, email, passwd, language, country, tz, userProp);
+        // if (userPropGroup == null) {
+        // userPropGroup = propGroupManager.find(User.PROPS_ID);
+        // }
+        // final Properties userProp = new Properties(userPropGroup);
+        // propManager.persist(userProp);
+        final User user = new User(shortName, longName, email, passwd, language, country, tz);
         return user;
 
     }
@@ -109,6 +101,7 @@
         return userId != null ? super.find(userId) : User.UNKNOWN_USER;
     }
 
+    @Override
     public User findByShortname(final String shortName) {
         return finder.getByShortName(shortName);
     }
@@ -121,6 +114,7 @@
         return finder.getAll();
     }
 
+    @Override
     public UserBuddiesData getUserBuddies(final String shortName) {
         // XEP-133 get roster by admin part is not implemented in openfire
         // also access to the openfire db is not easy with hibernate (the use of
@@ -154,6 +148,7 @@
         return buddiesData;
     }
 
+    @Override
     public User login(final String nickOrEmail, final String passwd) {
         User user;
         try {
@@ -181,10 +176,12 @@
         }
     }
 
+    @Override
     public SearchResult<User> search(final String search) {
         return this.search(search, null, null);
     }
 
+    @Override
     public SearchResult<User> search(final String search, final Integer firstResult, final Integer maxResults) {
         final MultiFieldQueryParser parser = new MultiFieldQueryParser(new String[] { "name", "shortName" },
                 new StandardAnalyzer());

Added: trunk/src/test/java/org/ourproject/kune/FaultyTestSuite.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/FaultyTestSuite.java	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/FaultyTestSuite.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,18 @@
+package org.ourproject.kune;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+import org.ourproject.kune.platf.server.finders.RateFinderTest;
+import org.ourproject.kune.platf.server.manager.ContentManagerTest;
+import org.ourproject.kune.platf.server.manager.UserManagerTest;
+
+/**
+ * A Test Suite to test (only) some tests that fails
+ * 
+ */
+ at RunWith(Suite.class)
+ at SuiteClasses({ RateFinderTest.class, UserManagerTest.class, ContentManagerTest.class })
+public class FaultyTestSuite {
+
+}


Property changes on: trunk/src/test/java/org/ourproject/kune/FaultyTestSuite.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/test/java/org/ourproject/kune/IntegrationTestSuite.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/IntegrationTestSuite.java	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/IntegrationTestSuite.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,35 @@
+package org.ourproject.kune;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+import org.ourproject.kune.platf.integration.DatabaseInitializationTest;
+import org.ourproject.kune.platf.integration.IntegrationTestHelper;
+import org.ourproject.kune.platf.integration.content.ContentCommentServiceTest;
+import org.ourproject.kune.platf.integration.content.ContentServiceAddTest;
+import org.ourproject.kune.platf.integration.content.ContentServiceGetTest;
+import org.ourproject.kune.platf.integration.content.ContentServiceIntegrationTest;
+import org.ourproject.kune.platf.integration.content.ContentServiceSaveTest;
+import org.ourproject.kune.platf.integration.content.ContentServiceVariousTest;
+import org.ourproject.kune.platf.integration.kuneservice.GroupServiceTest;
+import org.ourproject.kune.platf.integration.site.SiteServiceTest;
+import org.ourproject.kune.platf.integration.site.UserServiceTest;
+import org.ourproject.kune.platf.integration.socialnet.SocialNetworkMembersTest;
+import org.ourproject.kune.platf.integration.socialnet.SocialNetworkServiceTest;
+
+/**
+ * Rescan with :
+ * 
+ * <pre>
+ * find  src/test/java/org/ourproject/kune/platf/integration/ -name '*.java' -exec basename \{} .java \;| paste -s - - | sed 's/     /.class, /g'
+ * </pre>
+ * 
+ */
+ at RunWith(Suite.class)
+ at SuiteClasses({ IntegrationTestHelper.class, UserServiceTest.class, SiteServiceTest.class,
+        SocialNetworkServiceTest.class, SocialNetworkMembersTest.class, DatabaseInitializationTest.class,
+        ContentServiceAddTest.class, ContentServiceIntegrationTest.class, ContentCommentServiceTest.class,
+        ContentServiceVariousTest.class, ContentServiceGetTest.class, ContentServiceSaveTest.class,
+        GroupServiceTest.class })
+public class IntegrationTestSuite {
+}


Property changes on: trunk/src/test/java/org/ourproject/kune/IntegrationTestSuite.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/test/java/org/ourproject/kune/OthersTestSuite.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/OthersTestSuite.java	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/OthersTestSuite.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,38 @@
+package org.ourproject.kune;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+import org.ourproject.kune.blogs.server.BlogServerToolTest;
+import org.ourproject.kune.chat.ChatToolTest;
+import org.ourproject.kune.chat.server.managers.XmppManagerTest;
+import org.ourproject.kune.docs.DocumentToolTest;
+import org.ourproject.kune.docs.server.DocumentServerToolTest;
+import org.ourproject.kune.gallery.server.GalleryServerToolTest;
+import org.ourproject.kune.rack.filters.rest.TestRESTMethodFinder;
+import org.ourproject.kune.rack.filters.rest.TestRESTServiceDefinition;
+import org.ourproject.kune.wiki.server.WikiServerToolTest;
+import org.ourproject.kune.workspace.client.entityheader.EntityLogoPresenterTest;
+import org.ourproject.kune.workspace.client.licensewizard.LicenseWizardPresenterTest;
+import org.ourproject.kune.workspace.client.socialnet.RolActionTest;
+import org.ourproject.kune.workspace.client.socialnet.RolComparatorTest;
+import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenterTest;
+import org.ourproject.kune.workspace.client.tool.ToolSelectorPresenterTest;
+
+/**
+ * Rescan with :
+ * 
+ * <pre>
+ * find  src/test/java/org/ourproject/kune/{chat,docs,gallery,wiki,workspace,blogs,rack}  -name '*.java' -exec basename \{} .java \;| paste -s - - | sed 's/    /.class, /g'
+ * 
+ * </pre>
+ * 
+ */
+ at RunWith(Suite.class)
+ at SuiteClasses({ ChatToolTest.class, XmppManagerTest.class, DocumentToolTest.class, DocumentServerToolTest.class,
+        GalleryServerToolTest.class, WikiServerToolTest.class, EntityLogoPresenterTest.class,
+        ToolSelectorPresenterTest.class, TagsSummaryPresenterTest.class, RolActionTest.class, RolComparatorTest.class,
+        LicenseWizardPresenterTest.class, BlogServerToolTest.class, TestRESTServiceDefinition.class,
+        TestRESTMethodFinder.class })
+public class OthersTestSuite {
+}


Property changes on: trunk/src/test/java/org/ourproject/kune/OthersTestSuite.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/test/java/org/ourproject/kune/PlatfClientTestSuite.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/PlatfClientTestSuite.java	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/PlatfClientTestSuite.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,33 @@
+package org.ourproject.kune;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+import org.ourproject.kune.platf.client.actions.ActionRegistryTest;
+import org.ourproject.kune.platf.client.actions.ContentIconsRegistryTest;
+import org.ourproject.kune.platf.client.actions.KeyStrokeTest;
+import org.ourproject.kune.platf.client.actions.ShortcutTest;
+import org.ourproject.kune.platf.client.dto.BasicMimeTypeDTOTest;
+import org.ourproject.kune.platf.client.ui.KuneStringUtilsTest;
+import org.ourproject.kune.platf.client.ui.TextUtilsTest;
+import org.ourproject.kune.platf.client.ui.dialogs.upload.FileUploaderPresenterTest;
+import org.ourproject.kune.platf.client.ui.rte.insertmedia.ExternalMediaDescriptorTest;
+import org.ourproject.kune.platf.client.ui.rte.saving.RTESavingEditorPresenterTest;
+import org.ourproject.kune.platf.client.utils.UrlTest;
+
+/**
+ * Rescan with :
+ * 
+ * <pre>
+ * find  src/test/java/org/ourproject/kune/platf/client/ -name '*.java' -exec basename \{} .java \;| paste -s - - | sed 's/     /.class, /g'
+ * </pre>
+ * 
+ */
+ at RunWith(Suite.class)
+ at SuiteClasses({ BasicMimeTypeDTOTest.class, UrlTest.class, RTESavingEditorPresenterTest.class,
+        ExternalMediaDescriptorTest.class, FileUploaderPresenterTest.class, TextUtilsTest.class,
+        KuneStringUtilsTest.class, ShortcutTest.class, KeyStrokeTest.class, ContentIconsRegistryTest.class,
+        ActionRegistryTest.class })
+public class PlatfClientTestSuite {
+
+}


Property changes on: trunk/src/test/java/org/ourproject/kune/PlatfClientTestSuite.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/test/java/org/ourproject/kune/ServerManagerTestSuite.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/ServerManagerTestSuite.java	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/ServerManagerTestSuite.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,52 @@
+package org.ourproject.kune;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+import org.ourproject.kune.platf.server.access.AccessRightsServiceTest;
+import org.ourproject.kune.platf.server.access.FinderTest;
+import org.ourproject.kune.platf.server.auth.AuthenticatedMethodInterceptorTest;
+import org.ourproject.kune.platf.server.auth.AuthorizatedMethodInterceptorTest;
+import org.ourproject.kune.platf.server.domain.GroupListTest;
+import org.ourproject.kune.platf.server.finders.GroupFinderTest;
+import org.ourproject.kune.platf.server.finders.LicenseFinderTest;
+import org.ourproject.kune.platf.server.finders.RateFinderTest;
+import org.ourproject.kune.platf.server.finders.UserFinderTest;
+import org.ourproject.kune.platf.server.manager.ContentManagerTest;
+import org.ourproject.kune.platf.server.manager.GroupManagerTest;
+import org.ourproject.kune.platf.server.manager.I18nManagerTest;
+import org.ourproject.kune.platf.server.manager.LicenseManagerTest;
+import org.ourproject.kune.platf.server.manager.TagManagerTest;
+import org.ourproject.kune.platf.server.manager.TagUserContentTest;
+import org.ourproject.kune.platf.server.manager.UserManagerTest;
+import org.ourproject.kune.platf.server.manager.file.EntityLogoUploadManagerTest;
+import org.ourproject.kune.platf.server.manager.file.FileDownloadManagerTest;
+import org.ourproject.kune.platf.server.manager.file.FileManagerTest;
+import org.ourproject.kune.platf.server.manager.file.FileUploadManagerTest;
+import org.ourproject.kune.platf.server.manager.file.FileUtilsTest;
+import org.ourproject.kune.platf.server.manager.file.ImageUtilsDefaultTest;
+import org.ourproject.kune.platf.server.manager.impl.SocialNetworkManagerMoreTest;
+import org.ourproject.kune.platf.server.manager.impl.SocialNetworkManagerTest;
+import org.ourproject.kune.platf.server.mapper.MapperTest;
+import org.ourproject.kune.platf.server.properties.KunePropertiesTest;
+
+/**
+ * Rescan with :
+ * 
+ * <pre>
+ * find  src/test/java/org/ourproject/kune/platf/server/ -name '*.java' -exec basename \{} .java \;| paste -s - - | sed 's/     /.class, /g'
+ * </pre>
+ * 
+ */
+ at RunWith(Suite.class)
+ at SuiteClasses({ GroupListTest.class, AccessRightsServiceTest.class, FinderTest.class, KunePropertiesTest.class,
+        I18nManagerTest.class, TagManagerTest.class, LicenseManagerTest.class, UserManagerTest.class,
+        ContentManagerTest.class, FileUploadManagerTest.class, FileDownloadManagerTest.class,
+        ImageUtilsDefaultTest.class, EntityLogoUploadManagerTest.class, FileManagerTest.class, FileUtilsTest.class,
+        SocialNetworkManagerTest.class, SocialNetworkManagerMoreTest.class, GroupManagerTest.class,
+        TagUserContentTest.class, LicenseFinderTest.class, UserFinderTest.class, GroupFinderTest.class,
+        RateFinderTest.class, AuthorizatedMethodInterceptorTest.class, AuthenticatedMethodInterceptorTest.class,
+        MapperTest.class })
+public class ServerManagerTestSuite {
+
+}


Property changes on: trunk/src/test/java/org/ourproject/kune/ServerManagerTestSuite.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/test/java/org/ourproject/kune/ServerTestSuite.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/ServerTestSuite.java	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/ServerTestSuite.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,33 @@
+package org.ourproject.kune;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+import org.ourproject.kune.platf.server.access.AccessRightsServiceTest;
+import org.ourproject.kune.platf.server.access.FinderTest;
+import org.ourproject.kune.platf.server.auth.AuthenticatedMethodInterceptorTest;
+import org.ourproject.kune.platf.server.auth.AuthorizatedMethodInterceptorTest;
+import org.ourproject.kune.platf.server.domain.GroupListTest;
+import org.ourproject.kune.platf.server.finders.GroupFinderTest;
+import org.ourproject.kune.platf.server.finders.LicenseFinderTest;
+import org.ourproject.kune.platf.server.finders.RateFinderTest;
+import org.ourproject.kune.platf.server.finders.UserFinderTest;
+import org.ourproject.kune.platf.server.mapper.MapperTest;
+import org.ourproject.kune.platf.server.properties.KunePropertiesTest;
+
+/**
+ * Rescan with :
+ * 
+ * <pre>
+ * find  src/test/java/org/ourproject/kune/platf/server/ -name '*.java' -exec basename \{} .java \;| paste -s - - | sed 's/     /.class, /g'
+ * </pre>
+ * 
+ */
+ at RunWith(Suite.class)
+ at SuiteClasses({ GroupListTest.class, AccessRightsServiceTest.class, FinderTest.class, KunePropertiesTest.class,
+
+LicenseFinderTest.class, UserFinderTest.class, GroupFinderTest.class, RateFinderTest.class,
+        AuthorizatedMethodInterceptorTest.class, AuthenticatedMethodInterceptorTest.class, MapperTest.class })
+public class ServerTestSuite {
+
+}


Property changes on: trunk/src/test/java/org/ourproject/kune/ServerTestSuite.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -30,7 +30,7 @@
                         // memory
                         // test_db: use
                         // mysql
-                        bindConstant().annotatedWith(JpaUnit.class).to("test_db");
+                        bindConstant().annotatedWith(JpaUnit.class).to("test");
                         bindConstant().annotatedWith(PropertiesFileName.class).to("kune.properties");
                         bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
                     }

Modified: trunk/src/test/java/org/ourproject/kune/platf/server/PersistencePreLoadedDataTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/PersistencePreLoadedDataTest.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/PersistencePreLoadedDataTest.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -13,7 +13,6 @@
 import org.ourproject.kune.platf.server.manager.I18nCountryManager;
 import org.ourproject.kune.platf.server.manager.I18nLanguageManager;
 import org.ourproject.kune.platf.server.manager.LicenseManager;
-import org.ourproject.kune.platf.server.manager.PropertyGroupManager;
 import org.ourproject.kune.platf.server.manager.UserManager;
 
 import cc.kune.domain.Container;
@@ -22,47 +21,46 @@
 import cc.kune.domain.I18nCountry;
 import cc.kune.domain.I18nLanguage;
 import cc.kune.domain.License;
-import cc.kune.domain.PropertyGroup;
 import cc.kune.domain.User;
 
 import com.google.inject.Inject;
 
 public abstract class PersistencePreLoadedDataTest extends PersistenceTest {
-    protected static final String USER_SHORT_NAME = "user-shortname";
+    protected static final String USER_EMAIL = "useremail at example.com";
     protected static final String USER_LONG_NAME = "the user long name";
     protected static final String USER_PASSWORD = "userPassword";
-    protected static final String USER_EMAIL = "useremail at example.com";
+    protected static final String USER_SHORT_NAME = "user-shortname";
 
+    protected Container container;
     @Inject
-    protected User userFinder;
+    protected ContainerManager containerManager;
+    protected Content content;
     @Inject
-    protected Group groupFinder;
-    @Inject
-    protected License licenseFinder;
-    @Inject
     protected ContentManager contentManager;
     @Inject
-    protected ContainerManager containerManager;
+    protected I18nCountryManager countryManager;
+    protected License defLicense;
+    protected I18nLanguage english;
+    protected I18nCountry gb;
     @Inject
+    protected Group groupFinder;
+    @Inject
     protected GroupManager groupManager;
     @Inject
-    protected UserManager userManager;
+    protected I18nLanguageManager languageManager;
+
     @Inject
+    protected License licenseFinder;
+    @Inject
     protected LicenseManager licenseManager;
+    // @Inject
+    // protected PropertyGroupManager propGroupManager;
+    protected User user;
     @Inject
-    protected I18nLanguageManager languageManager;
+    protected User userFinder;
     @Inject
-    protected I18nCountryManager countryManager;
-    @Inject
-    protected PropertyGroupManager propGroupManager;
+    protected UserManager userManager;
 
-    protected User user;
-    protected License defLicense;
-    protected I18nLanguage english;
-    protected I18nCountry gb;
-    protected Content content;
-    protected Container container;
-
     public PersistencePreLoadedDataTest() {
         // test: use memory
         // test_db: use mysql
@@ -82,10 +80,10 @@
         assertEquals(0, userFinder.getAll().size());
         assertEquals(0, groupFinder.getAll().size());
         assertEquals(0, licenseFinder.getAll().size());
-        final PropertyGroup groupProps = new PropertyGroup(Group.PROPS_ID);
-        final PropertyGroup userProps = new PropertyGroup(User.PROPS_ID);
-        propGroupManager.persist(userProps);
-        propGroupManager.persist(groupProps);
+        // final PropertyGroup groupProps = new PropertyGroup(Group.PROPS_ID);
+        // final PropertyGroup userProps = new PropertyGroup(User.PROPS_ID);
+        // propGroupManager.persist(userProps);
+        // propGroupManager.persist(groupProps);
         english = new I18nLanguage(Long.valueOf(1819), "English", "English", "en");
         languageManager.persist(english);
         gb = new I18nCountry(Long.valueOf(75), "GB", "GBP", ".", "£%n", "", ".", "United Kingdom", "western", ",");

Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/ContentManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/ContentManagerTest.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/ContentManagerTest.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -10,17 +10,31 @@
 import cc.kune.domain.BasicMimeType;
 import cc.kune.domain.Content;
 
-
 public class ContentManagerTest extends PersistencePreLoadedDataTest {
 
-    private static final String MIMETYPE = "image";
     private static final String BODY = "body";
+    private static final String MIMETYPE = "image";
     private static final String TITLE = "title";
 
+    private void createContent() {
+        final Content cnt = contentManager.createContent(TITLE, BODY, user, container,
+                DocumentServerTool.TYPE_UPLOADEDFILE);
+        persist(cnt);
+    }
+
+    private void createContentWithMimeAndCheck(final String mimetype) {
+        final Content cnt = contentManager.createContent(TITLE, BODY, user, container,
+                DocumentServerTool.TYPE_UPLOADEDFILE);
+        cnt.setMimeType(new BasicMimeType(mimetype));
+        persist(cnt);
+        final Content newCnt = contentManager.find(cnt.getId());
+        assertEquals(mimetype, newCnt.getMimeType().toString());
+    }
+
     @Test
     public void testBasicBodySearch() {
         createContent();
-        SearchResult<Content> search = contentManager.search(BODY);
+        final SearchResult<Content> search = contentManager.search(BODY);
         contentManager.reIndex();
         assertEquals(1, search.getSize());
     }
@@ -41,7 +55,7 @@
     public void testBasicMimeSearchWithQueriesAndFields() {
         createContentWithMimeAndCheck(MIMETYPE + "/png");
         contentManager.reIndex();
-        SearchResult<Content> search = contentManager.search(new String[] { MIMETYPE },
+        final SearchResult<Content> search = contentManager.search(new String[] { MIMETYPE },
                 new String[] { "mimeType.mimetype" }, 0, 10);
         assertEquals(1, search.getSize());
     }
@@ -49,7 +63,7 @@
     @Test
     public void testBasicSearchWithQueriesAndFields() {
         createContentWithMimeAndCheck(MIMETYPE);
-        SearchResult<Content> search = contentManager.search(new String[] { BODY },
+        final SearchResult<Content> search = contentManager.search(new String[] { BODY },
                 new String[] { "lastRevision.body" }, 0, 10);
         contentManager.reIndex();
         assertEquals(1, search.getSize());
@@ -58,7 +72,7 @@
     @Test
     public void testBasicTitleSearch() {
         createContent();
-        SearchResult<Content> search = contentManager.search(TITLE);
+        final SearchResult<Content> search = contentManager.search(TITLE);
         contentManager.reIndex();
         assertEquals(1, search.getSize());
     }
@@ -82,19 +96,4 @@
         final Content newCnt = contentManager.find(cnt.getId());
         assertEquals("汉语/漢語", newCnt.getTitle());
     }
-
-    private void createContent() {
-        final Content cnt = contentManager.createContent(TITLE, BODY, user, container,
-                DocumentServerTool.TYPE_UPLOADEDFILE);
-        persist(cnt);
-    }
-
-    private void createContentWithMimeAndCheck(final String mimetype) {
-        final Content cnt = contentManager.createContent(TITLE, BODY, user, container,
-                DocumentServerTool.TYPE_UPLOADEDFILE);
-        cnt.setMimeType(new BasicMimeType(mimetype));
-        persist(cnt);
-        final Content newCnt = contentManager.find(cnt.getId());
-        assertEquals(mimetype, newCnt.getMimeType().toString());
-    }
 }

Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/GroupManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/GroupManagerTest.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/GroupManagerTest.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -6,6 +6,7 @@
 import java.util.TimeZone;
 
 import org.apache.lucene.queryParser.ParseException;
+import org.hibernate.validator.InvalidStateException;
 import org.junit.Test;
 import org.ourproject.kune.platf.server.PersistencePreLoadedDataTest;
 import org.ourproject.kune.platf.server.manager.impl.SearchResult;
@@ -52,7 +53,7 @@
         groupManager.createGroup(group, user);
         groupManager.reIndex();
         final SearchResult<Group> result = groupManager.search("ysei");
-        assertEquals(1, (long) result.getSize());
+        assertEquals(1, result.getSize());
         assertEquals("ysei", result.getList().get(0).getShortName());
         rollbackTransaction();
     }
@@ -84,6 +85,12 @@
         rollbackTransaction();
     }
 
+    private void createTestGroup(final int number) throws Exception {
+        final Group g = new Group("ysei" + number, "Yellow Submarine Environmental Initiative " + number, defLicense,
+                GroupType.PROJECT);
+        groupManager.createGroup(g, user);
+    }
+
     @Test(expected = EmailAddressInUseException.class)
     public void createUserExistingEmail() throws I18nNotFoundException, GroupNameInUseException,
             EmailAddressInUseException {
@@ -141,6 +148,22 @@
         rollbackTransaction();
     }
 
+    @Test(expected = InvalidStateException.class)
+    public void createUserWithIncorrectShortName() throws Exception {
+        final User user2 = userManager.createUser("u s", "the user name 2", "email2 at example.com", "userPassword", "en",
+                "GB", TimeZone.getDefault().getID());
+        groupManager.createUserGroup(user2);
+        rollbackTransaction();
+    }
+
+    @Test(expected = InvalidStateException.class)
+    public void createUserWithVeryShortName() throws Exception {
+        final User user2 = userManager.createUser("us", "the user name 2", "email2 at example.com", "userPassword", "en",
+                "GB", TimeZone.getDefault().getID());
+        groupManager.createUserGroup(user2);
+        rollbackTransaction();
+    }
+
     @Test
     public void groupSearchPagination() throws Exception, ParseException {
         for (int i = 1; i < 10; i++) {
@@ -148,17 +171,11 @@
         }
         groupManager.reIndex();
         final SearchResult<Group> result = groupManager.search("Yellow", 0, 5);
-        assertEquals(9, (long) result.getSize());
+        assertEquals(9, result.getSize());
         assertEquals(5, result.getList().size());
         final SearchResult<Group> result2 = groupManager.search("Yellow", 5, 5);
-        assertEquals(9, (long) result2.getSize());
+        assertEquals(9, result2.getSize());
         assertEquals(4, result2.getList().size());
         rollbackTransaction();
     }
-
-    private void createTestGroup(final int number) throws Exception {
-        final Group g = new Group("ysei" + number, "Yellow Submarine Environmental Initiative " + number, defLicense,
-                GroupType.PROJECT);
-        groupManager.createGroup(g, user);
-    }
 }

Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/UserManagerTest.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,13 +1,15 @@
 package org.ourproject.kune.platf.server.manager;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 import java.util.TimeZone;
 
-import javax.persistence.EntityExistsException;
-import javax.validation.ValidationException;
+import javax.persistence.PersistenceException;
 
 import org.apache.lucene.queryParser.ParseException;
+import org.hibernate.validator.InvalidStateException;
 import org.junit.Test;
 import org.ourproject.kune.platf.server.PersistencePreLoadedDataTest;
 import org.ourproject.kune.platf.server.manager.impl.SearchResult;
@@ -28,18 +30,22 @@
         persist(user);
     }
 
-    @Test(expected = ValidationException.class)
+    @Test(expected = PersistenceException.class)
     public void emailEmpty() {
         user = new User("test1", "test1 name", null, "some passwd", english, gb, getTimeZone());
         persist(user);
     }
 
-    @Test(expected = ValidationException.class)
+    @Test(expected = InvalidStateException.class)
     public void emailIncorrect() {
         user = new User("test1", "test1 name", "falseEmail@", "some passwd", english, gb, getTimeZone());
         persist(user);
     }
 
+    private TimeZone getTimeZone() {
+        return TimeZone.getDefault();
+    }
+
     @Test
     public void loginIncorrect() {
         final User result = userManager.login("test", "test");
@@ -58,7 +64,7 @@
         assertNotNull(result.getId());
     }
 
-    @Test(expected = ValidationException.class)
+    @Test(expected = InvalidStateException.class)
     public void passwdLengthIncorrect() {
         user = new User("test1", "test1 name", "test at example.com", "pass", english, gb, getTimeZone());
         persist(user);
@@ -68,7 +74,7 @@
      * This is not working:
      * http://opensource.atlassian.com/projects/hibernate/browse/EJB-382
      */
-    @Test(expected = EntityExistsException.class)
+    @Test(expected = PersistenceException.class)
     public void testUserExist() throws I18nNotFoundException {
         final User user1 = userManager.createUser("test", "test 1 name", "test1 at example.com", "some password", "en",
                 "GB", "GMT");
@@ -78,7 +84,7 @@
         persist(user2);
     }
 
-    @Test(expected = ValidationException.class)
+    @Test(expected = InvalidStateException.class)
     public void userNameLengthIncorrect() {
         user = new User("test1", "te", "test at example.com", "some passwd", english, gb, getTimeZone());
         persist(user);
@@ -93,14 +99,10 @@
         rollbackTransaction();
     }
 
-    @Test(expected = ValidationException.class)
+    @Test(expected = InvalidStateException.class)
     public void userShortNameIncorrect() {
         user = new User("test1A", "test1 name", "test at example.com", "some passwd", english, gb, getTimeZone());
         persist(user);
     }
 
-    private TimeZone getTimeZone() {
-        return TimeZone.getDefault();
-    }
-
 }

Added: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/AbstractSocialNetworkManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/AbstractSocialNetworkManagerTest.java	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/AbstractSocialNetworkManagerTest.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,49 @@
+package org.ourproject.kune.platf.server.manager.impl;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.ourproject.kune.platf.server.PersistenceTest;
+import org.ourproject.kune.testhelper.ctx.DomainContext;
+
+import cc.kune.domain.Group;
+import cc.kune.domain.User;
+
+import com.google.inject.Inject;
+import com.wideplay.warp.persist.Transactional;
+
+public abstract class AbstractSocialNetworkManagerTest extends PersistenceTest {
+    @Inject
+    protected User admin;
+    protected DomainContext ctx;
+    protected Group group;
+    protected Group orphanedGroup;
+    protected User otherUser;
+    protected User user;
+    protected Group userGroup;
+
+    private void assertSocialNetworkIsEmpty() {
+        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getList().size(), 0);
+        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getList().size(), 0);
+        assertEquals(group.getSocialNetwork().getPendingCollaborators().getList().size(), 0);
+    }
+
+    @Transactional
+    @Before
+    public void init() {
+        openTransaction();
+        ctx = new DomainContext();
+        ctx.createUsers("user1");
+        ctx.createUsers("admin");
+        ctx.createUsers("otheruser");
+        ctx.createGroups("group1");
+        ctx.createOrphanGroup("grouporph");
+        user = ctx.getUser("user1");
+        group = ctx.getGroup("group1");
+        orphanedGroup = ctx.getGroup("grouporph");
+        userGroup = user.getUserGroup();
+        admin = ctx.getUser("admin");
+        otherUser = ctx.getUser("otheruser");
+        assertSocialNetworkIsEmpty();
+    }
+}
\ No newline at end of file


Property changes on: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/AbstractSocialNetworkManagerTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Deleted: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/PropertySettedManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/PropertySettedManagerDefaultTest.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/PropertySettedManagerDefaultTest.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -1,173 +0,0 @@
-package org.ourproject.kune.platf.server.manager.impl;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.HashMap;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.ourproject.kune.platf.server.PersistenceTest;
-import org.ourproject.kune.platf.server.manager.PropertiesManager;
-import org.ourproject.kune.platf.server.manager.PropertyGroupManager;
-import org.ourproject.kune.platf.server.manager.PropertyManager;
-import org.ourproject.kune.platf.server.manager.PropertySubgroupManager;
-
-import cc.kune.domain.Properties;
-import cc.kune.domain.Property;
-import cc.kune.domain.PropertyGroup;
-import cc.kune.domain.PropertySetted;
-import cc.kune.domain.PropertySubgroup;
-
-import com.google.inject.Inject;
-
-public class PropertySettedManagerDefaultTest extends PersistenceTest {
-
-    private static final String NAME1 = "name1";
-    private static final String DISPLAYNAME1 = "display test name 1";
-    private static final String DEFVALUE1 = "def value 1";
-    private static final String NAME2 = "name2";
-    private static final String DISPLAYNAME2 = "display test name 2";
-    private static final String DEFVALUE2 = "def value 2";
-    private static final String NAME3 = "name3";
-    private static final String DISPLAYNAME3 = "display test name 3";
-    private static final String DEFVALUE3 = "def value 3";
-    private static final String SOME_NEW_VALUE = "some new value";
-    private static final String SOME_OTHER_NEW_VALUE = "some new value";
-
-    @Inject
-    PropertyManager propertyManager;
-
-    @Inject
-    PropertiesManager propertiesManager;
-
-    @Inject
-    PropertyGroupManager propGroupManager;
-
-    @Inject
-    PropertySubgroupManager propSubgroupManager;
-
-    @Inject
-    Property propFinder;
-
-    @Inject
-    PropertySetted propSettedFinder;
-
-    @Inject
-    PropertyGroup propGroupFinder;
-
-    @Inject
-    PropertySubgroup propSubgroupFinder;
-
-    private Property prop1;
-    private Property prop2;
-    private Property prop3;
-    private PropertyGroup somegroup;
-    private PropertySubgroup somesubgroup;
-    private PropertyGroup othergroup;
-
-    @Before
-    public void before() {
-        openTransaction();
-        somegroup = new PropertyGroup("somegroup");
-        othergroup = new PropertyGroup("othergroup");
-        somesubgroup = new PropertySubgroup("somesubgroup");
-        propGroupManager.persist(somegroup);
-        propGroupManager.persist(othergroup);
-        propSubgroupManager.persist(somesubgroup);
-        prop1 = new Property(NAME1, DISPLAYNAME1, Property.Type.STRING, true, DEFVALUE1, somegroup, somesubgroup);
-        prop2 = new Property(NAME2, DISPLAYNAME2, Property.Type.STRING, false, DEFVALUE2, somegroup, somesubgroup);
-        prop3 = new Property(NAME3, DISPLAYNAME3, Property.Type.STRING, false, DEFVALUE3, somegroup, somesubgroup);
-        propertyManager.persist(prop1);
-        propertyManager.persist(prop2);
-        propertyManager.persist(prop3);
-        assertEquals(3, propFinder.getAll().size());
-    }
-
-    @After
-    public void close() {
-        if (getTransaction().isActive()) {
-            rollbackTransaction();
-        }
-    }
-
-    @Test
-    public void setProperty() {
-        final Properties prop = new Properties(somegroup);
-        assertEquals(DEFVALUE1, propertiesManager.get(prop, NAME1).getValue());
-        assertEquals(0, prop.getList().size());
-        propertiesManager.set(prop, NAME1, SOME_NEW_VALUE);
-        assertNotNull(prop.getId());
-        assertEquals(1, prop.getList().size());
-        assertEquals(SOME_NEW_VALUE, propertiesManager.get(prop, NAME1).getValue());
-        propertiesManager.set(prop, NAME1, SOME_OTHER_NEW_VALUE);
-        assertEquals(1, prop.getList().size());
-        assertEquals(SOME_OTHER_NEW_VALUE, propertiesManager.get(prop, NAME1).getValue());
-    }
-
-    @Test
-    public void setTwoProps() {
-        final Properties prop1 = new Properties(somegroup);
-        final Properties prop2 = new Properties(somegroup);
-        propertiesManager.persist(prop1);
-        propertiesManager.persist(prop2);
-        propertiesManager.set(prop1, NAME1, SOME_NEW_VALUE);
-        propertiesManager.set(prop2, NAME1, SOME_OTHER_NEW_VALUE);
-        assertEquals(2, propSettedFinder.getAll().size());
-        assertEquals(SOME_NEW_VALUE, propertiesManager.get(prop1, NAME1).getValue());
-        assertEquals(SOME_OTHER_NEW_VALUE, propertiesManager.get(prop2, NAME1).getValue());
-    }
-
-    @Test
-    public void testGroupFinder() {
-        assertEquals(3, propFinder.find(somegroup).size());
-        assertEquals(0, propFinder.find(othergroup).size());
-        assertEquals(3, propFinder.find(somesubgroup).size());
-    }
-
-    @Test
-    public void testGroupRemove() {
-        final Properties prop = new Properties(somegroup);
-        propertiesManager.set(prop, NAME1, SOME_NEW_VALUE);
-        assertEquals(1, propSettedFinder.getAll().size());
-
-        assertNotNull(somegroup.getId());
-        propGroupManager.remove(somegroup);
-        closeTransaction();
-        assertEquals(0, propFinder.getAll().size());
-        assertEquals(0, propFinder.find(somegroup).size());
-        assertEquals(1, propGroupFinder.getAll().size());
-        assertEquals(0, propSettedFinder.getAll().size());
-    }
-
-    @Test
-    public void testPropertiesRemove() {
-        final Properties prop = new Properties(somegroup);
-        propertiesManager.set(prop, NAME1, SOME_NEW_VALUE);
-        assertEquals(1, propSettedFinder.getAll().size());
-        propertiesManager.remove(prop);
-        closeTransaction();
-        assertEquals(0, propSettedFinder.getAll().size());
-    }
-
-    @Test
-    public void testPropertyGet() {
-        final Properties prop = new Properties(somegroup);
-        propertiesManager.set(prop, NAME1, SOME_NEW_VALUE);
-        final HashMap<String, PropertySetted> result = propertiesManager.get(prop);
-        assertEquals(3, result.size());
-        assertEquals(SOME_NEW_VALUE, result.get(NAME1).getValue());
-    }
-
-    @Test
-    public void testSubgroupRemove() {
-        assertNotNull(somesubgroup.getId());
-        propSubgroupManager.remove(somesubgroup);
-        closeTransaction();
-        assertEquals(0, propFinder.getAll().size());
-        assertEquals(2, propGroupFinder.getAll().size());
-        assertEquals(0, propSubgroupFinder.getAll().size());
-    }
-
-}

Added: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerMoreTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerMoreTest.java	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerMoreTest.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -0,0 +1,200 @@
+package org.ourproject.kune.platf.server.manager.impl;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import cc.kune.core.client.errors.AccessViolationException;
+import cc.kune.core.client.errors.AlreadyGroupMemberException;
+import cc.kune.core.client.errors.LastAdminInGroupException;
+import cc.kune.core.shared.domain.AdmissionType;
+import cc.kune.core.shared.domain.GroupListMode;
+import cc.kune.core.shared.dto.GroupType;
+import cc.kune.core.shared.dto.SocialNetworkRequestResult;
+import cc.kune.domain.User;
+import cc.kune.domain.utils.ParticipationData;
+
+import com.google.inject.Inject;
+
+public class SocialNetworkManagerMoreTest extends AbstractSocialNetworkManagerTest {
+
+    @Inject
+    protected SocialNetworkManagerDefault socialNetworkManager;
+
+    @Test(expected = LastAdminInGroupException.class)
+    public void lastAdminUnjoinGroupWithCollabsFails() throws Exception {
+        socialNetworkManager.addAdmin(admin, group);
+        socialNetworkManager.requestToJoin(user, group);
+        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
+        socialNetworkManager.unJoinGroup(admin.getUserGroup(), group);
+    }
+
+    @Test
+    public void lastAdminUnjoinGroupWithoutCollabsOrphaned() throws Exception {
+        socialNetworkManager.addAdmin(admin, group);
+        socialNetworkManager.unJoinGroup(admin.getUserGroup(), group);
+        assertEquals(GroupType.ORPHANED_PROJECT, group.getGroupType());
+        assertEquals(0, group.getSocialNetwork().getAccessLists().getAdmins().getList().size());
+        assertEquals(0, group.getSocialNetwork().getAccessLists().getEditors().getList().size());
+    }
+
+    @Test(expected = AccessViolationException.class)
+    public void notAdminTryDeleteMember() throws Exception {
+        socialNetworkManager.requestToJoin(user, group);
+        socialNetworkManager.addAdmin(admin, group);
+        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
+        socialNetworkManager.deleteMember(otherUser, userGroup, group);
+    }
+
+    @Test
+    public void participationDontShowSelfGroup() {
+        group.getSocialNetwork().getAccessLists().getViewers().setMode(GroupListMode.EVERYONE);
+        user.getUserGroup().getSocialNetwork().getAccessLists().getViewers().setMode(GroupListMode.EVERYONE);
+        assertEquals(GroupListMode.EVERYONE, group.getSocialNetwork().getAccessLists().getViewers().getMode());
+        ParticipationData part = socialNetworkManager.findParticipation(User.UNKNOWN_USER, group);
+        assertFalse(part.getGroupsIsAdmin().contains(group));
+        assertFalse(part.getGroupsIsCollab().contains(group));
+
+        socialNetworkManager.addAdmin(admin, group);
+        part = socialNetworkManager.findParticipation(admin, group);
+        assertFalse(part.getGroupsIsAdmin().contains(group));
+        assertFalse(part.getGroupsIsCollab().contains(group));
+
+        socialNetworkManager.addAdmin(user, user.getUserGroup());
+        part = socialNetworkManager.findParticipation(User.UNKNOWN_USER, user.getUserGroup());
+        assertFalse(part.getGroupsIsAdmin().contains(user.getUserGroup()));
+        assertFalse(part.getGroupsIsCollab().contains(user.getUserGroup()));
+    }
+
+    @Test
+    public void requestJoinAClosedGroupDeny() throws Exception {
+        group.setAdmissionType(AdmissionType.Closed);
+
+        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, group);
+        assertEquals(result, SocialNetworkRequestResult.denied);
+        closeTransaction();
+    }
+
+    @Test
+    public void requestJoinAModeratedGroupAddUserGroupToPending() throws Exception {
+        group.setAdmissionType(AdmissionType.Moderated);
+
+        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, group);
+        assertEquals(result, SocialNetworkRequestResult.moderated);
+        assertTrue(group.getSocialNetwork().getPendingCollaborators().getList().contains(userGroup));
+        closeTransaction();
+    }
+
+    @Test
+    public void requestJoinAOpenGroupAddUserGroupToEditors() throws Exception {
+        group.setAdmissionType(AdmissionType.Open);
+
+        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, group);
+        assertEquals(result, SocialNetworkRequestResult.accepted);
+        assertTrue(group.getSocialNetwork().getAccessLists().getEditors().getList().contains(userGroup));
+        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getMode(), GroupListMode.NORMAL);
+        closeTransaction();
+    }
+
+    @Test
+    public void requestJoinAOrphanedGroupAddUserGroupToAdmins() throws Exception {
+        orphanedGroup.setAdmissionType(AdmissionType.Open);
+
+        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, orphanedGroup);
+        assertEquals(result, SocialNetworkRequestResult.accepted);
+        assertTrue(orphanedGroup.getSocialNetwork().getAccessLists().getAdmins().getList().contains(userGroup));
+        assertEquals(orphanedGroup.getSocialNetwork().getAccessLists().getAdmins().getMode(), GroupListMode.NORMAL);
+
+        // FIXME Check change group type to PROJECT
+        closeTransaction();
+    }
+
+    @Test(expected = AlreadyGroupMemberException.class)
+    public void requestJoinTwiceAOrphanedGroupAddUserGroupToAdmins() throws Exception {
+        orphanedGroup.setAdmissionType(AdmissionType.Open);
+
+        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, orphanedGroup);
+        assertEquals(SocialNetworkRequestResult.accepted, result);
+        socialNetworkManager.requestToJoin(user, orphanedGroup);
+    }
+
+    @Test
+    public void requestToJoinTwiceDontDuplicatePending() throws Exception {
+        group.setAdmissionType(AdmissionType.Moderated);
+
+        socialNetworkManager.requestToJoin(user, group);
+        socialNetworkManager.requestToJoin(user, group);
+        assertEquals(group.getSocialNetwork().getPendingCollaborators().getList().size(), 1);
+        closeTransaction();
+    }
+
+    @Test(expected = Exception.class)
+    public void setAdminAnonMemberFails() throws Exception {
+        socialNetworkManager.addAdmin(admin, group);
+        socialNetworkManager.requestToJoin(user, group);
+        socialNetworkManager.setAdminAsCollab(admin, userGroup, group);
+    }
+
+    @Test
+    public void setAdminAsCollab() throws Exception {
+        socialNetworkManager.requestToJoin(user, group);
+        socialNetworkManager.addAdmin(admin, group);
+        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
+        socialNetworkManager.setCollabAsAdmin(admin, userGroup, group);
+        socialNetworkManager.setAdminAsCollab(admin, userGroup, group);
+
+        assertFalse(group.getSocialNetwork().getPendingCollaborators().getList().contains(userGroup));
+        assertTrue(group.getSocialNetwork().getAccessLists().getEditors().getList().contains(userGroup));
+        assertFalse(group.getSocialNetwork().getAccessLists().getAdmins().getList().contains(userGroup));
+        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getList().size(), 1);
+        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getMode(), GroupListMode.NORMAL);
+        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getList().size(), 1);
+        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getMode(), GroupListMode.NORMAL);
+        assertEquals(group.getSocialNetwork().getPendingCollaborators().getList().size(), 0);
+        closeTransaction();
+    }
+
+    @Test(expected = AccessViolationException.class)
+    public void setAdminAsCollabNotAdminFails() throws Exception {
+        socialNetworkManager.requestToJoin(user, group);
+        socialNetworkManager.addAdmin(admin, group);
+        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
+        socialNetworkManager.setCollabAsAdmin(otherUser, userGroup, group);
+    }
+
+    @Test(expected = Exception.class)
+    public void setAdminNotCollabFails() throws Exception {
+        socialNetworkManager.addAdmin(admin, group);
+        socialNetworkManager.requestToJoin(user, group);
+        socialNetworkManager.setCollabAsAdmin(admin, userGroup, group);
+    }
+
+    @Test
+    public void setCollabAsAdmin() throws Exception {
+        socialNetworkManager.requestToJoin(user, group);
+        socialNetworkManager.addAdmin(admin, group);
+        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
+        socialNetworkManager.setCollabAsAdmin(admin, userGroup, group);
+
+        assertFalse(group.getSocialNetwork().getPendingCollaborators().getList().contains(userGroup));
+        assertFalse(group.getSocialNetwork().getAccessLists().getEditors().getList().contains(userGroup));
+        assertTrue(group.getSocialNetwork().getAccessLists().getAdmins().getList().contains(userGroup));
+        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getList().size(), 2);
+        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getMode(), GroupListMode.NORMAL);
+        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getList().size(), 0);
+        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getMode(), GroupListMode.NOBODY);
+        assertEquals(group.getSocialNetwork().getPendingCollaborators().getList().size(), 0);
+        closeTransaction();
+    }
+
+    @Test(expected = AccessViolationException.class)
+    public void setCollabAsAdminNotAdminFails() throws Exception {
+        socialNetworkManager.requestToJoin(user, group);
+        socialNetworkManager.addAdmin(admin, group);
+        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
+        socialNetworkManager.setCollabAsAdmin(otherUser, userGroup, group);
+    }
+
+}


Property changes on: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerMoreTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java	2011-02-01 01:54:08 UTC (rev 1230)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerTest.java	2011-02-02 02:55:03 UTC (rev 1231)
@@ -5,35 +5,17 @@
 import static org.junit.Assert.assertTrue;
 
 import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
-import org.ourproject.kune.platf.server.PersistenceTest;
-import org.ourproject.kune.testhelper.ctx.DomainContext;
 
 import cc.kune.core.client.errors.AccessViolationException;
 import cc.kune.core.client.errors.AlreadyGroupMemberException;
-import cc.kune.core.client.errors.LastAdminInGroupException;
-import cc.kune.core.shared.domain.AdmissionType;
 import cc.kune.core.shared.domain.GroupListMode;
-import cc.kune.core.shared.dto.GroupType;
-import cc.kune.core.shared.dto.SocialNetworkRequestResult;
-import cc.kune.domain.Group;
-import cc.kune.domain.User;
-import cc.kune.domain.utils.ParticipationData;
 
 import com.google.inject.Inject;
-import com.wideplay.warp.persist.Transactional;
 
-public class SocialNetworkManagerTest extends PersistenceTest {
+public class SocialNetworkManagerTest extends AbstractSocialNetworkManagerTest {
     @Inject
-    private SocialNetworkManagerDefault socialNetworkManager;
-    private Group group;
-    private Group userGroup;
-    private Group orphanedGroup;
-    private User user;
-    private User admin;
-    private User otherUser;
-    private DomainContext ctx;
+    protected SocialNetworkManagerDefault socialNetworkManager;
 
     @Test
     public void acceptJoinGroup() throws Exception {
@@ -165,202 +147,4 @@
         socialNetworkManager.requestToJoin(user, group);
     }
 
-    @Transactional
-    @Before
-    public void init() {
-        openTransaction();
-        ctx = new DomainContext();
-        ctx.createUsers("user1");
-        ctx.createUsers("admin");
-        ctx.createUsers("otheruser");
-        ctx.createGroups("group1");
-        ctx.createOrphanGroup("grouporph");
-        user = ctx.getUser("user1");
-        group = ctx.getGroup("group1");
-        orphanedGroup = ctx.getGroup("grouporph");
-        userGroup = user.getUserGroup();
-        admin = ctx.getUser("admin");
-        otherUser = ctx.getUser("otheruser");
-        assertSocialNetworkIsEmpty();
-    }
-
-    @Test(expected = LastAdminInGroupException.class)
-    public void lastAdminUnjoinGroupWithCollabsFails() throws Exception {
-        socialNetworkManager.addAdmin(admin, group);
-        socialNetworkManager.requestToJoin(user, group);
-        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
-        socialNetworkManager.unJoinGroup(admin.getUserGroup(), group);
-    }
-
-    @Test
-    public void lastAdminUnjoinGroupWithoutCollabsOrphaned() throws Exception {
-        socialNetworkManager.addAdmin(admin, group);
-        socialNetworkManager.unJoinGroup(admin.getUserGroup(), group);
-        assertEquals(GroupType.ORPHANED_PROJECT, group.getGroupType());
-        assertEquals(0, group.getSocialNetwork().getAccessLists().getAdmins().getList().size());
-        assertEquals(0, group.getSocialNetwork().getAccessLists().getEditors().getList().size());
-    }
-
-    @Test(expected = AccessViolationException.class)
-    public void notAdminTryDeleteMember() throws Exception {
-        socialNetworkManager.requestToJoin(user, group);
-        socialNetworkManager.addAdmin(admin, group);
-        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
-        socialNetworkManager.deleteMember(otherUser, userGroup, group);
-    }
-
-    @Test
-    public void participationDontShowSelfGroup() {
-        group.getSocialNetwork().getAccessLists().getViewers().setMode(GroupListMode.EVERYONE);
-        user.getUserGroup().getSocialNetwork().getAccessLists().getViewers().setMode(GroupListMode.EVERYONE);
-        assertEquals(GroupListMode.EVERYONE, group.getSocialNetwork().getAccessLists().getViewers().getMode());
-        ParticipationData part = socialNetworkManager.findParticipation(User.UNKNOWN_USER, group);
-        assertFalse(part.getGroupsIsAdmin().contains(group));
-        assertFalse(part.getGroupsIsCollab().contains(group));
-
-        socialNetworkManager.addAdmin(admin, group);
-        part = socialNetworkManager.findParticipation(admin, group);
-        assertFalse(part.getGroupsIsAdmin().contains(group));
-        assertFalse(part.getGroupsIsCollab().contains(group));
-
-        socialNetworkManager.addAdmin(user, user.getUserGroup());
-        part = socialNetworkManager.findParticipation(User.UNKNOWN_USER, user.getUserGroup());
-        assertFalse(part.getGroupsIsAdmin().contains(user.getUserGroup()));
-        assertFalse(part.getGroupsIsCollab().contains(user.getUserGroup()));
-    }
-
-    @Test
-    public void requestJoinAClosedGroupDeny() throws Exception {
-        group.setAdmissionType(AdmissionType.Closed);
-
-        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, group);
-        assertEquals(result, SocialNetworkRequestResult.denied);
-        closeTransaction();
-    }
-
-    @Test
-    public void requestJoinAModeratedGroupAddUserGroupToPending() throws Exception {
-        group.setAdmissionType(AdmissionType.Moderated);
-
-        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, group);
-        assertEquals(result, SocialNetworkRequestResult.moderated);
-        assertTrue(group.getSocialNetwork().getPendingCollaborators().getList().contains(userGroup));
-        closeTransaction();
-    }
-
-    @Test
-    public void requestJoinAOpenGroupAddUserGroupToEditors() throws Exception {
-        group.setAdmissionType(AdmissionType.Open);
-
-        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, group);
-        assertEquals(result, SocialNetworkRequestResult.accepted);
-        assertTrue(group.getSocialNetwork().getAccessLists().getEditors().getList().contains(userGroup));
-        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getMode(), GroupListMode.NORMAL);
-        closeTransaction();
-    }
-
-    @Test
-    public void requestJoinAOrphanedGroupAddUserGroupToAdmins() throws Exception {
-        orphanedGroup.setAdmissionType(AdmissionType.Open);
-
-        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, orphanedGroup);
-        assertEquals(result, SocialNetworkRequestResult.accepted);
-        assertTrue(orphanedGroup.getSocialNetwork().getAccessLists().getAdmins().getList().contains(userGroup));
-        assertEquals(orphanedGroup.getSocialNetwork().getAccessLists().getAdmins().getMode(), GroupListMode.NORMAL);
-
-        // FIXME Check change group type to PROJECT
-        closeTransaction();
-    }
-
-    @Test(expected = AlreadyGroupMemberException.class)
-    public void requestJoinTwiceAOrphanedGroupAddUserGroupToAdmins() throws Exception {
-        orphanedGroup.setAdmissionType(AdmissionType.Open);
-
-        final SocialNetworkRequestResult result = socialNetworkManager.requestToJoin(user, orphanedGroup);
-        assertEquals(SocialNetworkRequestResult.accepted, result);
-        socialNetworkManager.requestToJoin(user, orphanedGroup);
-    }
-
-    @Test
-    public void requestToJoinTwiceDontDuplicatePending() throws Exception {
-        group.setAdmissionType(AdmissionType.Moderated);
-
-        socialNetworkManager.requestToJoin(user, group);
-        socialNetworkManager.requestToJoin(user, group);
-        assertEquals(group.getSocialNetwork().getPendingCollaborators().getList().size(), 1);
-        closeTransaction();
-    }
-
-    @Test(expected = Exception.class)
-    public void setAdminAnonMemberFails() throws Exception {
-        socialNetworkManager.addAdmin(admin, group);
-        socialNetworkManager.requestToJoin(user, group);
-        socialNetworkManager.setAdminAsCollab(admin, userGroup, group);
-    }
-
-    @Test
-    public void setAdminAsCollab() throws Exception {
-        socialNetworkManager.requestToJoin(user, group);
-        socialNetworkManager.addAdmin(admin, group);
-        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
-        socialNetworkManager.setCollabAsAdmin(admin, userGroup, group);
-        socialNetworkManager.setAdminAsCollab(admin, userGroup, group);
-
-        assertFalse(group.getSocialNetwork().getPendingCollaborators().getList().contains(userGroup));
-        assertTrue(group.getSocialNetwork().getAccessLists().getEditors().getList().contains(userGroup));
-        assertFalse(group.getSocialNetwork().getAccessLists().getAdmins().getList().contains(userGroup));
-        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getList().size(), 1);
-        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getMode(), GroupListMode.NORMAL);
-        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getList().size(), 1);
-        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getMode(), GroupListMode.NORMAL);
-        assertEquals(group.getSocialNetwork().getPendingCollaborators().getList().size(), 0);
-        closeTransaction();
-    }
-
-    @Test(expected = AccessViolationException.class)
-    public void setAdminAsCollabNotAdminFails() throws Exception {
-        socialNetworkManager.requestToJoin(user, group);
-        socialNetworkManager.addAdmin(admin, group);
-        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
-        socialNetworkManager.setCollabAsAdmin(otherUser, userGroup, group);
-    }
-
-    @Test(expected = Exception.class)
-    public void setAdminNotCollabFails() throws Exception {
-        socialNetworkManager.addAdmin(admin, group);
-        socialNetworkManager.requestToJoin(user, group);
-        socialNetworkManager.setCollabAsAdmin(admin, userGroup, group);
-    }
-
-    @Test
-    public void setCollabAsAdmin() throws Exception {
-        socialNetworkManager.requestToJoin(user, group);
-        socialNetworkManager.addAdmin(admin, group);
-        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
-        socialNetworkManager.setCollabAsAdmin(admin, userGroup, group);
-
-        assertFalse(group.getSocialNetwork().getPendingCollaborators().getList().contains(userGroup));
-        assertFalse(group.getSocialNetwork().getAccessLists().getEditors().getList().contains(userGroup));
-        assertTrue(group.getSocialNetwork().getAccessLists().getAdmins().getList().contains(userGroup));
-        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getList().size(), 2);
-        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getMode(), GroupListMode.NORMAL);
-        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getList().size(), 0);
-        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getMode(), GroupListMode.NOBODY);
-        assertEquals(group.getSocialNetwork().getPendingCollaborators().getList().size(), 0);
-        closeTransaction();
-    }
-
-    @Test(expected = AccessViolationException.class)
-    public void setCollabAsAdminNotAdminFails() throws Exception {
-        socialNetworkManager.requestToJoin(user, group);
-        socialNetworkManager.addAdmin(admin, group);
-        socialNetworkManager.acceptJoinGroup(admin, userGroup, group);
-        socialNetworkManager.setCollabAsAdmin(otherUser, userGroup, group);
-    }
-
-    private void assertSocialNetworkIsEmpty() {
-        assertEquals(group.getSocialNetwork().getAccessLists().getAdmins().getList().size(), 0);
-        assertEquals(group.getSocialNetwork().getAccessLists().getEditors().getList().size(), 0);
-        assertEquals(group.getSocialNetwork().getPendingCollaborators().getList().size(), 0);
-    }
 }




More information about the kune-commits mailing list