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
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... --> + <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("&", "&"); - result = result.replaceAll("\"", """); - // text = text.replaceAll("\'", "'"); - result = result.replaceAll("<", "<"); - result = result.replaceAll(">", ">"); + if (source != null) { + result = result.replaceAll("&", "&"); + result = result.replaceAll("\"", """); + // text = text.replaceAll("\'", "'"); + result = result.replaceAll("<", "<"); + result = result.replaceAll(">", ">"); + } 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" : "[email protected]", + "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) - * - */ -@Entity -@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; - -@Entity -@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; - -@Entity -@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; - -@Entity -@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; - -@Entity -@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-defi... @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; - -@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; - -@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; - -@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; - -@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; - -@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 + * + */ +@RunWith(Suite.class) +@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> + * + */ +@RunWith(Suite.class) +@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> + * + */ +@RunWith(Suite.class) +@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> + * + */ +@RunWith(Suite.class) +@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> + * + */ +@RunWith(Suite.class) +@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> + * + */ +@RunWith(Suite.class) +@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 = "[email protected]"; protected static final String USER_LONG_NAME = "the user long name"; protected static final String USER_PASSWORD = "userPassword"; - protected static final String USER_EMAIL = "[email protected]"; + 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", "[email protected]", "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", "[email protected]", "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", "[email protected]", "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", "[email protected]", "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", "[email protected]", "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", "[email protected]", "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); - } }
participants (1)
-
Vicente J. Ruiz Jurado