Author: vjrj_ Date: 2011-05-10 23:49:41 +0200 (Tue, 10 May 2011) New Revision: 1372 Added: trunk/Blogs trunk/blogs trunk/script/cloneTool.sh trunk/src/main/java/cc/kune/core/client/resources/nav/calendar.png trunk/src/main/java/cc/kune/core/client/resources/nav/calendar_add.png trunk/src/main/java/cc/kune/meets/ trunk/src/main/java/cc/kune/meets/KuneMeets.gwt.xml trunk/src/main/java/cc/kune/meets/client/ trunk/src/main/java/cc/kune/meets/client/MeetingsClientTool.java trunk/src/main/java/cc/kune/meets/client/MeetingsGinModule.java trunk/src/main/java/cc/kune/meets/client/MeetingsGinjector.java trunk/src/main/java/cc/kune/meets/client/MeetingsParts.java trunk/src/main/java/cc/kune/meets/client/actions/ trunk/src/main/java/cc/kune/meets/client/actions/DelMeetingsMenuItem.java trunk/src/main/java/cc/kune/meets/client/actions/GoParentFolderBtn.java trunk/src/main/java/cc/kune/meets/client/actions/MeetingsClientActions.java trunk/src/main/java/cc/kune/meets/client/actions/NewMeetingsBtn.java trunk/src/main/java/cc/kune/meets/client/actions/OpenMeetingsMenuItem.java trunk/src/main/java/cc/kune/meets/server/ trunk/src/main/java/cc/kune/meets/server/MeetingServerModule.java trunk/src/main/java/cc/kune/meets/server/MeetingServerTool.java trunk/src/main/java/cc/kune/meets/shared/ trunk/src/main/java/cc/kune/meets/shared/MeetingsConstants.java Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java trunk/src/main/java/cc/kune/client/KuneEntryPoint.java trunk/src/main/java/cc/kune/client/KuneGinjector.java trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java trunk/src/main/java/cc/kune/core/client/resources/nav/NavResources.java trunk/src/main/java/cc/kune/core/server/KuneRackModule.java trunk/src/main/java/cc/kune/domain/Content.java trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml trunk/src/main/java/cc/kune/wave/client/WebClient.java Log: meetings tool Added: trunk/Blogs =================================================================== Added: trunk/blogs =================================================================== Added: trunk/script/cloneTool.sh =================================================================== --- trunk/script/cloneTool.sh (rev 0) +++ trunk/script/cloneTool.sh 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,86 @@ +#!/bin/bash + +usage() { + echo "Use: $0 -o oldtoolname -n newtoolname" + echo "$0 -o docs -O Documents -n blogs -N Blogs " +} + +while getopts “ho:n:O:N:” OPTION +do + case $OPTION in + h) + usage + exit 1 + ;; + o) + OLDS=$OPTARG + ;; + n) + NEWS=$OPTARG + ;; + O) + OLDCS=$OPTARG + ;; + N) + NEWCS=$OPTARG + ;; + ?) + usage + exit + ;; + esac +done + +if [[ -z $OLDS ]] || [[ -z $NEWS ]] || [[ -z $OLDCS ]] || [[ -z $NEWCS ]] +then + usage + exit 1 +fi + +OLD=$(echo ${OLDS%\s}) +NEW=$(echo ${NEWS%\s}) +OLDC=$(echo ${OLDCS%\s}) +NEWC=$(echo ${NEWCS%\s}) +OLD1S=`echo "${OLDS:0:1}" | tr a-z A-Z`${OLDS:1} +NEW1S=`echo "${NEWS:0:1}" | tr a-z A-Z`${NEWS:1} +OLD1=$(echo ${OLD1S%\s}) +NEW1=$(echo ${NEW1S%\s}) +OLDNCS=`echo "${OLDCS:0:1}" | tr A-Z a-z`${OLDCS:1} +NEWNCS=`echo "${NEWCS:0:1}" | tr A-Z a-z`${NEWCS:1} +OLDCC=`echo $OLDC | tr a-z A-Z` +NEWCC=`echo $NEWC | tr a-z A-Z` + +echo We\'ll clone and rename: +echo " " $OLDCS to $NEWCS +echo " &" $OLDNCS to $NEWNCS +echo " &" $OLDC to $NEWC +echo " &" $OLD1S to $NEW1S +echo " &" $OLDS to $NEWS +echo " &" $OLD1 to $NEW1 +echo " &" $OLD to $NEW +echo " &" $OLDCC to $NEWCC + +read -p "Are you sure? (Ctrl-C to cancel) " + +cd src/main/java/cc/kune/ +rsync -r -C $OLDS/ $NEWS +cd $NEWS/ + +find . -name '*.java' | xargs rename 's/$OLDCS/$NEWCS/g' +find . -name '*.java' | xargs rename 's/$OLDC/$NEWC/g' +find . -name '*.java' | xargs rename 's/$OLD1S/$NEW1S/g' +find . -name '*.java' | xargs rename 's/$OLDS/$NEWS/g' +find . -name '*.java' | xargs rename 's/$OLD1/$NEW1/g' +find . -name '*.java' | xargs rename 's/$OLD/$NEW/g' +find . -name '*.xml' | xargs rename 's/$OLD1S/$NEW1S/g' +find . -name '*.xml' | xargs rename 's/$OLDS/$NEWS/g' +find . -name '*.java' | xargs perl -p -i -e 's/$OLDCS/$NEWCS/g' +find . -name '*.java' | xargs perl -p -i -e 's/$OLDC/$NEWC/g' +find . -name '*.java' | xargs perl -p -i -e 's/$OLD1S/$NEW1S/g' +find . -name '*.java' | xargs perl -p -i -e 's/$OLDS/$NEWS/g' +find . -name '*.java' | xargs perl -p -i -e 's/\.$OLDS\./\.$NEWS\./g' +find . -name '*.java' | xargs perl -p -i -e 's/$OLD1/$NEW1/g' +find . -name '*.java' | xargs perl -p -i -e 's/$OLDNCS/$NEWNCS/g' +find . -name '*.java' | xargs perl -p -i -e 's/$OLD/$NEW/g' +find . -name '*.java' | xargs perl -p -i -e 's/$OLDCC/$NEWCC/g' + Property changes on: trunk/script/cloneTool.sh ___________________________________________________________________ Name: svn:executable + * Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml =================================================================== --- trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-05-10 21:49:41 UTC (rev 1372) @@ -10,6 +10,7 @@ <inherits name="cc.kune.chat.KuneChat" /> <inherits name="cc.kune.docs.KuneDocs" /> <inherits name="cc.kune.wiki.KuneWiki" /> + <inherits name="cc.kune.meets.KuneMeets" /> <inherits name="cc.kune.pspace.PSpace" /> <inherits name="com.calclab.suco.Suco" /> <inherits name="org.adamtacy.GWTEffects"></inherits> Modified: trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java =================================================================== --- trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -28,12 +28,8 @@ import java.net.URL; import java.util.Date; -import org.waveprotocol.wave.model.waveref.InvalidWaveRefException; -import org.waveprotocol.wave.util.escapers.jvm.JavaWaverefEncoder; - import cc.kune.core.client.errors.ContainerNotPermittedException; import cc.kune.core.client.errors.ContentNotPermittedException; -import cc.kune.core.client.errors.DefaultException; import cc.kune.core.server.content.ContainerManager; import cc.kune.core.server.content.ContentManager; import cc.kune.core.server.manager.ToolConfigurationManager; @@ -50,7 +46,6 @@ import cc.kune.domain.Group; import cc.kune.domain.ToolConfiguration; import cc.kune.domain.User; -import cc.kune.wave.server.KuneWaveManager; import com.google.inject.Inject; @@ -62,29 +57,18 @@ private final ContentManager contentManager; private final URL gadgetUrl; private final I18nTranslationService i18n; - private final KuneWaveManager waveManager; @Inject public BarterServerTool(final ContentManager contentManager, final ContainerManager containerManager, final ToolConfigurationManager configurationManager, - final I18nTranslationService translationService, final KuneWaveManager waveManager) { + final I18nTranslationService translationService) { this.contentManager = contentManager; this.containerManager = containerManager; this.configurationManager = configurationManager; this.i18n = translationService; - this.waveManager = waveManager; gadgetUrl = UrlUtils.of(BARTER_GADGET); } - private void addGadget(final Content content) { - try { - waveManager.addGadget(JavaWaverefEncoder.decodeWaveRefFromPath(content.getWaveId()), - content.getAuthors().get(0).getShortName(), BARTER_GADGET); - } catch (final InvalidWaveRefException e) { - throw new DefaultException("Error creating barter"); - } - } - void checkContainerTypeId(final String parentTypeId, final String typeId) { if (typeId.equals(TYPE_FOLDER)) { // ok valid container Modified: trunk/src/main/java/cc/kune/client/KuneEntryPoint.java =================================================================== --- trunk/src/main/java/cc/kune/client/KuneEntryPoint.java 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/client/KuneEntryPoint.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -78,8 +78,9 @@ ginjector.getGroupMembersPresenter(); ginjector.getDocsParts(); ginjector.getBlogsParts(); + ginjector.getMeetingsParts(); + ginjector.getBartersParts(); ginjector.getWikiParts(); - ginjector.getBartersParts(); ginjector.getSiteLogoPresenter(); ginjector.getSpacesTabPresenter(); ginjector.getChatClient(); Modified: trunk/src/main/java/cc/kune/client/KuneGinjector.java =================================================================== --- trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -56,6 +56,8 @@ import cc.kune.docs.client.DocsGinjector; import cc.kune.gspace.client.GSpaceGinModule; import cc.kune.gspace.client.GSpaceGinjector; +import cc.kune.meets.client.MeetingsGinModule; +import cc.kune.meets.client.MeetingsGinjector; import cc.kune.pspace.client.PSpaceGinModule; import cc.kune.pspace.client.PSpaceParts; import cc.kune.pspace.client.PSpacePresenter; @@ -73,9 +75,9 @@ @GinModules({ KuneGinModule.class, CoreGinModule.class, ChatGinModule.class, WaveGinModule.class, PSpaceGinModule.class, GSpaceGinModule.class, DocsGinModule.class, BlogsGinModule.class, - WikiGinModule.class, BartersGinModule.class }) + WikiGinModule.class, BartersGinModule.class, MeetingsGinModule.class }) public interface KuneGinjector extends Ginjector, GSpaceGinjector, DocsGinjector, BlogsGinjector, - WikiGinjector, BartersGinjector { + WikiGinjector, BartersGinjector, MeetingsGinjector { /* * You have to add here all the GWTPresenters (as Provider or AsyncProvider) Modified: trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/core/client/actions/RolActionAutoUpdated.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -39,44 +39,47 @@ * */ public abstract class RolActionAutoUpdated extends AbstractExtendedAction { - protected final Session session; - protected final StateManager stateManager; + protected final Session session; + protected final StateManager stateManager; - @Inject - public RolActionAutoUpdated(final StateManager stateManager, final Session session, - final AccessRightsClientManager rightsManager, final AccessRolDTO rolRequired, final boolean authNeed, - final boolean visibleForNonMemb, final boolean visibleForMembers) { - this.stateManager = stateManager; - this.session = session; - rightsManager.onRightsChanged(true, new AccessRightsChangedHandler() { - @Override - public void onAccessRightsChanged(final AccessRightsChangedEvent event) { - refreshStatus(rolRequired, authNeed, session.isLogged(), visibleForMembers, visibleForNonMemb, - event.getCurrentRights()); + @Inject + public RolActionAutoUpdated(final StateManager stateManager, final Session session, + final AccessRightsClientManager rightsManager, final AccessRolDTO rolRequired, + final boolean authNeed, final boolean visibleForNonMemb, final boolean visibleForMembers) { + this.stateManager = stateManager; + this.session = session; + rightsManager.onRightsChanged(true, new AccessRightsChangedHandler() { + @Override + public void onAccessRightsChanged(final AccessRightsChangedEvent event) { + refreshStatus(rolRequired, authNeed, session.isLogged(), visibleForMembers, visibleForNonMemb, + event.getCurrentRights()); - } - }); - } + } + }); + } - public void refreshStatus(final AccessRolDTO rolRequired, final boolean authNeed, final boolean isLogged, - final boolean visibleForMembers, final boolean visibleForNonMemb, final AccessRights newRights) { - boolean newVisibility = false; - boolean newEnabled = false; - if (authNeed && !isLogged) { - newVisibility = newEnabled = false; - } else { - // Auth ok - newEnabled = RolComparator.isEnabled(rolRequired, newRights); - if (newEnabled) { - final boolean isMember = RolComparator.isMember(newRights); - newEnabled = newVisibility = isMember && visibleForMembers || !isMember && visibleForNonMemb; - } else { - newVisibility = false; - } - } - setEnabled(newEnabled); - putValue(GuiActionDescrip.VISIBLE, newVisibility); - // NotifyUser.info("Set '" + getValue(Action.NAME) + "' visible: " + - // newVisibility, true); + public void refreshStatus(final AccessRolDTO rolRequired, final boolean authNeed, + final boolean isLogged, final boolean visibleForMembers, final boolean visibleForNonMemb, + final AccessRights newRights) { + boolean newVisibility = false; + boolean newEnabled = false; + if (authNeed && !isLogged) { + newVisibility = newEnabled = false; + } else { + // Auth ok + newEnabled = RolComparator.isEnabled(rolRequired, newRights); + if (newEnabled) { + final boolean isMember = RolComparator.isMember(newRights); + newEnabled = newVisibility = isMember && visibleForMembers || !isMember && visibleForNonMemb; + } else { + newVisibility = false; + } } + setEnabled(newEnabled); + // Workaround to force change ... + putValue(GuiActionDescrip.VISIBLE, !newVisibility); + putValue(GuiActionDescrip.VISIBLE, newVisibility); + // NotifyUser.info("Set '" + getValue(Action.NAME) + "' visible: " + + // newVisibility, true); + } } Modified: trunk/src/main/java/cc/kune/core/client/resources/nav/NavResources.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/resources/nav/NavResources.java 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/core/client/resources/nav/NavResources.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -36,6 +36,12 @@ @Source("blog_add.png") ImageResource blogAdd(); + @Source("calendar.png") + ImageResource calendar(); + + @Source("calendar_add.png") + ImageResource calendarAdd(); + @Source("download.png") ImageResource download(); Added: trunk/src/main/java/cc/kune/core/client/resources/nav/calendar.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/cc/kune/core/client/resources/nav/calendar.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/cc/kune/core/client/resources/nav/calendar_add.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/cc/kune/core/client/resources/nav/calendar_add.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/src/main/java/cc/kune/core/server/KuneRackModule.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -50,6 +50,7 @@ import cc.kune.core.server.rest.TestJSONService; import cc.kune.core.server.rest.UserJSONService; import cc.kune.docs.server.DocumentServerModule; +import cc.kune.meets.server.MeetingServerModule; import cc.kune.wiki.server.WikiServerModule; import com.google.inject.AbstractModule; @@ -144,8 +145,9 @@ builder.use(new PlatformServerModule()); builder.use(new DocumentServerModule()); builder.use(new BlogServerModule()); + builder.use(new BarterServerModule()); + builder.use(new MeetingServerModule()); builder.use(new WikiServerModule()); - builder.use(new BarterServerModule()); // builder.use(new ChatServerModule()); // builder.use(new GalleryServerModule()); builder.use(new RESTServicesModule()); Modified: trunk/src/main/java/cc/kune/domain/Content.java =================================================================== --- trunk/src/main/java/cc/kune/domain/Content.java 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/domain/Content.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -58,6 +58,7 @@ import cc.kune.core.shared.domain.utils.StateToken; import cc.kune.docs.shared.DocsConstants; import cc.kune.domain.utils.HasStateToken; +import cc.kune.meets.shared.MeetingsConstants; import cc.kune.wiki.shared.WikiConstants; @Entity @@ -261,8 +262,9 @@ @Transient public boolean isWave() { - return (typeId.equals(DocsConstants.TYPE_DOCUMENT)) || typeId.equals(WikiConstants.TYPE_WIKIPAGE) - || (typeId.equals(BlogsConstants.TYPE_POST) || typeId.equals(BartersConstants.TYPE_BARTER)); + return (typeId.equals(DocsConstants.TYPE_DOCUMENT)) + || typeId.equals(WikiConstants.TYPE_WIKIPAGE) + || (typeId.equals(BlogsConstants.TYPE_POST) || typeId.equals(BartersConstants.TYPE_BARTER) || typeId.equals(MeetingsConstants.TYPE_MEETING)); } public void removeAuthor(final User user) { Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml 2011-05-10 21:49:41 UTC (rev 1372) @@ -15,15 +15,24 @@ right: 0; } + .onlyparent { + padding: 10px; + width: auto; + height: auto; + } + .viewonly { - margin: 5px; + } </ui:style> - <g:HTMLPanel width="100%" height="100%"> + <g:HTMLPanel> <g:DeckPanel ui:field="deck" addStyleNames="k-doc-content-deck"> - <!-- <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}" /> --> - <g:VerticalPanel ui:field="waveHolderParent" /> - <g:InlineHTML ui:field="onlyViewPanel" styleName="{style.viewonly}" /> + <!-- <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}" + /> --> + <g:VerticalPanel ui:field="waveHolderParent" /> + <g:FlowPanel ui:field="onlyViewParent" height="auto" width="auto" addStyleNames="{style.onlyparent}"> + <g:InlineHTML ui:field="onlyViewPanel" styleName="{style.viewonly}" /> + </g:FlowPanel> </g:DeckPanel> </g:HTMLPanel> </ui:UiBinder> \ No newline at end of file Added: trunk/src/main/java/cc/kune/meets/KuneMeets.gwt.xml =================================================================== --- trunk/src/main/java/cc/kune/meets/KuneMeets.gwt.xml (rev 0) +++ trunk/src/main/java/cc/kune/meets/KuneMeets.gwt.xml 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,6 @@ +<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd"> +<module> + <inherits name="cc.kune.core.KuneCore" /> + <source path="client" /> + <source path="shared" /> +</module> \ No newline at end of file Property changes on: trunk/src/main/java/cc/kune/meets/KuneMeets.gwt.xml ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/client/MeetingsClientTool.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/MeetingsClientTool.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/client/MeetingsClientTool.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,66 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.client; + +import static cc.kune.meets.shared.MeetingsConstants.NAME; +import static cc.kune.meets.shared.MeetingsConstants.TYPE_MEETING; +import static cc.kune.meets.shared.MeetingsConstants.TYPE_ROOT; +import cc.kune.core.client.i18n.I18nUITranslationService; +import cc.kune.core.client.registry.ContentCapabilitiesRegistry; +import cc.kune.core.client.resources.nav.NavResources; +import cc.kune.gspace.client.tool.FoldableAbstractClientTool; +import cc.kune.gspace.client.tool.selector.ToolSelector; + +import com.google.inject.Inject; + +public class MeetingsClientTool extends FoldableAbstractClientTool { + + private final NavResources navResources; + + @Inject + public MeetingsClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector, + final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources) { + super(NAME, i18n.t("meets"), toolSelector, cntCapRegistry); + this.navResources = navResources; + + // registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE); + registerAuthorableTypes(TYPE_MEETING); + registerDragableTypes(TYPE_MEETING); + registerDropableTypes(TYPE_ROOT); + // registerPublishModerableTypes(); + registerRateableTypes(TYPE_MEETING); + registerRenamableTypes(TYPE_MEETING); + registerTageableTypes(TYPE_MEETING); + registerTranslatableTypes(TYPE_MEETING); + + registerIcons(); + } + + @Override + public String getName() { + return NAME; + } + + private void registerIcons() { + registerContentTypeIcon(TYPE_ROOT, navResources.folder()); + registerContentTypeIcon(TYPE_MEETING, navResources.calendar()); + } + +} Property changes on: trunk/src/main/java/cc/kune/meets/client/MeetingsClientTool.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/client/MeetingsGinModule.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/MeetingsGinModule.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/client/MeetingsGinModule.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,35 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.client; + +import cc.kune.meets.client.actions.MeetingsClientActions; + +import com.google.inject.Singleton; +import com.gwtplatform.mvp.client.gin.AbstractPresenterModule; + +public class MeetingsGinModule extends AbstractPresenterModule { + + @Override + protected void configure() { + bind(MeetingsClientTool.class).in(Singleton.class); + bind(MeetingsClientActions.class).in(Singleton.class); + } + +} Property changes on: trunk/src/main/java/cc/kune/meets/client/MeetingsGinModule.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/client/MeetingsGinjector.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/MeetingsGinjector.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/client/MeetingsGinjector.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,28 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.client; + +import com.google.gwt.inject.client.Ginjector; + +public interface MeetingsGinjector extends Ginjector { + + MeetingsParts getMeetingsParts(); + +} Property changes on: trunk/src/main/java/cc/kune/meets/client/MeetingsGinjector.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/client/MeetingsParts.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/MeetingsParts.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/client/MeetingsParts.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,42 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.client; + +import cc.kune.core.client.state.Session; +import cc.kune.gspace.client.tool.ContentViewerSelector; +import cc.kune.gspace.client.viewers.ContentViewerPresenter; +import cc.kune.gspace.client.viewers.FolderViewerPresenter; +import cc.kune.meets.client.actions.MeetingsClientActions; +import cc.kune.meets.shared.MeetingsConstants; + +import com.google.inject.Inject; +import com.google.inject.Provider; + +public class MeetingsParts { + + @Inject + public MeetingsParts(final Session session, final Provider<MeetingsClientTool> clientTool, + final ContentViewerSelector viewerSelector, final MeetingsClientActions meetsActions, + final ContentViewerPresenter contentViewer, final FolderViewerPresenter folderViewer) { + clientTool.get(); + viewerSelector.register(contentViewer, true, MeetingsConstants.TYPE_MEETING); + viewerSelector.register(folderViewer, true, MeetingsConstants.TYPE_ROOT); + } +} \ No newline at end of file Property changes on: trunk/src/main/java/cc/kune/meets/client/MeetingsParts.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/client/actions/DelMeetingsMenuItem.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/actions/DelMeetingsMenuItem.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/client/actions/DelMeetingsMenuItem.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,34 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.client.actions; + +import cc.kune.core.client.resources.CoreResources; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.gspace.client.actions.DelContentMenuItem; + +import com.google.inject.Inject; + +public class DelMeetingsMenuItem extends DelContentMenuItem { + + @Inject + public DelMeetingsMenuItem(final I18nTranslationService i18n, final DelContentAction action, final CoreResources res) { + super(i18n, action, res); + } +} Property changes on: trunk/src/main/java/cc/kune/meets/client/actions/DelMeetingsMenuItem.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/client/actions/GoParentFolderBtn.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/actions/GoParentFolderBtn.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/client/actions/GoParentFolderBtn.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,36 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.client.actions; + +import cc.kune.core.client.resources.CoreResources; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.gspace.client.actions.GoParentContainerBtn; + +import com.google.inject.Inject; + +public class GoParentFolderBtn extends GoParentContainerBtn { + + @Inject + public GoParentFolderBtn(final I18nTranslationService i18n, final GoParentContainerAction action, + final CoreResources res) { + super(i18n, action, res); + } + +} Property changes on: trunk/src/main/java/cc/kune/meets/client/actions/GoParentFolderBtn.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/client/actions/MeetingsClientActions.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/actions/MeetingsClientActions.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/client/actions/MeetingsClientActions.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,67 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + \*/ +package cc.kune.meets.client.actions; + +import static cc.kune.meets.shared.MeetingsConstants.TYPE_MEETING; +import static cc.kune.meets.shared.MeetingsConstants.TYPE_ROOT; +import cc.kune.core.client.actions.ActionRegistryByType; +import cc.kune.core.client.i18n.I18nUITranslationService; +import cc.kune.core.client.resources.CoreResources; +import cc.kune.core.client.state.Session; +import cc.kune.core.client.state.StateManager; +import cc.kune.gspace.client.actions.AbstractFoldableToolActions; +import cc.kune.gspace.client.actions.ActionGroups; +import cc.kune.gspace.client.actions.ContentViewerOptionsMenu; +import cc.kune.gspace.client.actions.ParticipateInContentBtn; +import cc.kune.gspace.client.actions.RefreshContentMenuItem; + +import com.google.inject.Inject; +import com.google.inject.Provider; + +public class MeetingsClientActions extends AbstractFoldableToolActions { + final String[] all = { TYPE_ROOT, TYPE_MEETING }; + final String[] containers = { TYPE_ROOT }; + final String[] containersNoRoot = {}; + final String[] contents = { TYPE_MEETING }; + + @Inject + public MeetingsClientActions(final I18nUITranslationService i18n, final Session session, + final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res, + final Provider<NewMeetingsBtn> newMeetingsBtn, final Provider<GoParentFolderBtn> folderGoUp, + final Provider<OpenMeetingsMenuItem> openContentMenuItem, + final Provider<DelMeetingsMenuItem> delContentMenuItem, + final Provider<ContentViewerOptionsMenu> optionsMenuContent, + final Provider<ParticipateInContentBtn> participateBtn, + final Provider<RefreshContentMenuItem> refresh) { + super(session, stateManager, i18n, registry); + actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all); + actionsRegistry.addAction(ActionGroups.VIEW, refresh, all); + actionsRegistry.addAction(ActionGroups.VIEW, newMeetingsBtn, containers); + actionsRegistry.addAction(ActionGroups.VIEW, participateBtn, contents); + actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents); + actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents); + } + + @Override + protected void createPostSessionInitActions() { + } +} Property changes on: trunk/src/main/java/cc/kune/meets/client/actions/MeetingsClientActions.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/client/actions/NewMeetingsBtn.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/actions/NewMeetingsBtn.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/client/actions/NewMeetingsBtn.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,39 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.client.actions; + +import cc.kune.common.client.shortcuts.GlobalShortcutRegister; +import cc.kune.core.client.resources.nav.NavResources; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.gspace.client.actions.NewContentBtn; +import cc.kune.meets.shared.MeetingsConstants; + +import com.google.inject.Inject; + +public class NewMeetingsBtn extends NewContentBtn { + + @Inject + public NewMeetingsBtn(final I18nTranslationService i18n, final NewContentAction action, + final NavResources res, final GlobalShortcutRegister shorcutReg) { + super(i18n, action, res.calendarAdd(), shorcutReg, i18n.t("New meeting"), + i18n.t("Create a New Meeting here"), i18n.t("New meeting"), MeetingsConstants.TYPE_MEETING); + } + +} Property changes on: trunk/src/main/java/cc/kune/meets/client/actions/NewMeetingsBtn.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/client/actions/OpenMeetingsMenuItem.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/actions/OpenMeetingsMenuItem.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/client/actions/OpenMeetingsMenuItem.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,35 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.client.actions; + +import cc.kune.core.client.resources.nav.NavResources; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.gspace.client.actions.OpenContentMenuItem; + +import com.google.inject.Inject; + +public class OpenMeetingsMenuItem extends OpenContentMenuItem { + + @Inject + public OpenMeetingsMenuItem(final I18nTranslationService i18n, final OpenContentAction action, final NavResources res) { + super(i18n, action, res); + } + +} Property changes on: trunk/src/main/java/cc/kune/meets/client/actions/OpenMeetingsMenuItem.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/server/MeetingServerModule.java =================================================================== --- trunk/src/main/java/cc/kune/meets/server/MeetingServerModule.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/server/MeetingServerModule.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,29 @@ +/* + * + * Copyright (C) 2007-2009 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.server; + +import com.google.inject.Binder; +import com.google.inject.Module; + +public class MeetingServerModule implements Module { + public void configure(final Binder binder) { + binder.bind(MeetingServerTool.class).asEagerSingleton(); + } +} Property changes on: trunk/src/main/java/cc/kune/meets/server/MeetingServerModule.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/server/MeetingServerTool.java =================================================================== --- trunk/src/main/java/cc/kune/meets/server/MeetingServerTool.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/server/MeetingServerTool.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,164 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.server; + +import static cc.kune.meets.shared.MeetingsConstants.NAME; +import static cc.kune.meets.shared.MeetingsConstants.ROOT_NAME; +import static cc.kune.meets.shared.MeetingsConstants.TYPE_MEETING; +import static cc.kune.meets.shared.MeetingsConstants.TYPE_ROOT; + +import java.net.URL; +import java.util.Date; + +import cc.kune.core.client.errors.ContainerNotPermittedException; +import cc.kune.core.client.errors.ContentNotPermittedException; +import cc.kune.core.server.content.ContainerManager; +import cc.kune.core.server.content.ContentManager; +import cc.kune.core.server.manager.ToolConfigurationManager; +import cc.kune.core.server.tool.ServerToolRegistry; +import cc.kune.core.server.tool.ServerToolTarget; +import cc.kune.core.server.tool.ServerWaveTool; +import cc.kune.core.server.utils.UrlUtils; +import cc.kune.core.shared.domain.ContentStatus; +import cc.kune.core.shared.domain.GroupListMode; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.domain.AccessLists; +import cc.kune.domain.Container; +import cc.kune.domain.Content; +import cc.kune.domain.Group; +import cc.kune.domain.ToolConfiguration; +import cc.kune.domain.User; + +import com.google.inject.Inject; + +public class MeetingServerTool implements ServerWaveTool { + + private static final String MEETING_GADGET = "http://mass-mob.appspot.com/massmob/org.ourproject.massmob.client.MassmobGad..."; + private final ToolConfigurationManager configurationManager; + private final ContainerManager containerManager; + private final ContentManager contentManager; + private final URL gadgetUrl; + private final I18nTranslationService i18n; + + @Inject + public MeetingServerTool(final ContentManager contentManager, final ContainerManager containerManager, + final ToolConfigurationManager configurationManager, + final I18nTranslationService translationService) { + this.contentManager = contentManager; + this.containerManager = containerManager; + this.configurationManager = configurationManager; + this.i18n = translationService; + gadgetUrl = UrlUtils.of(MEETING_GADGET); + } + + void checkContainerTypeId(final String parentTypeId, final String typeId) { + throw new ContainerNotPermittedException(); + } + + void checkContentTypeId(final String parentTypeId, final String typeId) { + if (typeId.equals(TYPE_MEETING)) { + // ok valid content + final boolean parentIsFolderOrRoot = parentTypeId.equals(TYPE_ROOT); + if ((typeId.equals(TYPE_MEETING) && parentIsFolderOrRoot)) { + // ok + } else { + throw new ContentNotPermittedException(); + } + } else { + throw new ContentNotPermittedException(); + } + } + + @Override + public void checkTypesBeforeContainerCreation(final String parentTypeId, final String typeId) { + checkContainerTypeId(parentTypeId, typeId); + } + + @Override + public void checkTypesBeforeContentCreation(final String parentTypeId, final String typeId) { + checkContentTypeId(parentTypeId, typeId); + } + + @Override + public URL getGadgetUrl() { + return gadgetUrl; + } + + @Override + public String getName() { + return NAME; + } + + @Override + public String getRootName() { + return ROOT_NAME; + } + + @Override + public ServerToolTarget getTarget() { + return ServerToolTarget.forGroups; + } + + @Override + public Group initGroup(final User user, final Group group, final Object... otherVars) { + final ToolConfiguration config = new ToolConfiguration(); + final Container rootFolder = containerManager.createRootFolder(group, NAME, ROOT_NAME, TYPE_ROOT); + setContainerMeetingsAcl(rootFolder); + config.setRoot(rootFolder); + group.setToolConfig(NAME, config); + configurationManager.persist(config); + final Content content = contentManager.createContent( + i18n.t("Meeting sample"), + i18n.t("This is only a meet sample. You can invite other participants to this meeting, but also publish to the general public allowing you to to help in the organization, call and speed-up of events."), + user, rootFolder, TYPE_MEETING, gadgetUrl); + content.addAuthor(user); + content.setLanguage(user.getLanguage()); + content.setTypeId(TYPE_MEETING); + content.setStatus(ContentStatus.publishedOnline); + contentManager.save(user, content); + return group; + } + + @Override + public void onCreateContainer(final Container container, final Container parent) { + setContainerMeetingsAcl(container); + } + + @Override + public void onCreateContent(final Content content, final Container parent) { + content.setStatus(ContentStatus.publishedOnline); + content.setPublishedOn(new Date()); + } + + @Override + @Inject + public void register(final ServerToolRegistry registry) { + registry.register(this); + } + + private void setContainerMeetingsAcl(final Container container) { + final AccessLists meetsAcl = new AccessLists(); + meetsAcl.getAdmins().setMode(GroupListMode.NORMAL); + meetsAcl.getAdmins().add(container.getOwner()); + meetsAcl.getEditors().setMode(GroupListMode.NORMAL); + meetsAcl.getViewers().setMode(GroupListMode.EVERYONE); + containerManager.setAccessList(container, meetsAcl); + } +} Property changes on: trunk/src/main/java/cc/kune/meets/server/MeetingServerTool.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: trunk/src/main/java/cc/kune/meets/shared/MeetingsConstants.java =================================================================== --- trunk/src/main/java/cc/kune/meets/shared/MeetingsConstants.java (rev 0) +++ trunk/src/main/java/cc/kune/meets/shared/MeetingsConstants.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -0,0 +1,31 @@ +/* + * + * Copyright (C) 2007-2011 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package cc.kune.meets.shared; + +public final class MeetingsConstants { + + public static final String NAME = "meets"; + public static final String ROOT_NAME = "meets"; + public static final String TYPE_MEETING = NAME + "." + "meet"; + public static final String TYPE_ROOT = NAME + "." + "root"; + + private MeetingsConstants() { + } +} \ No newline at end of file Property changes on: trunk/src/main/java/cc/kune/meets/shared/MeetingsConstants.java ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java =================================================================== --- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-10 19:13:22 UTC (rev 1371) +++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-10 21:49:41 UTC (rev 1372) @@ -171,7 +171,7 @@ getStackTraceAsync(e, new Accessor<SafeHtml>() { @Override public void use(final SafeHtml stack) { - NotifyUser.error("Oops! Something has gone wrong. Please contact the site admins with <em>more details</em>"); + //NotifyUser.error("Oops! Something has gone wrong. Please contact the site admins with <em>more details</em>"); // error.addDetail(stack, null); final String message = stack.asString().replace("<br>", "\n"); REMOTE_LOG.severe(message);