kune-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
November 2008
- 1 participants
- 36 discussions
r963 - in trunk/src/main/java/org/ourproject/kune/workspace/client: skel socialnet tags
by vjrj 22 Nov '08
by vjrj 22 Nov '08
22 Nov '08
Author: vjrj
Date: 2008-11-22 20:18:43 +0100 (Sat, 22 Nov 2008)
New Revision: 963
Modified:
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java
Log:
Complete - task TagSummary not show when empty and we add a tag
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2008-11-22 16:44:37 UTC (rev 962)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2008-11-22 19:18:43 UTC (rev 963)
@@ -53,12 +53,14 @@
public void addInSummary() {
ws.addInSummary(this);
- this.expand();
+ // this.expand();
+ doLayoutIfNeeded();
}
public void doLayoutIfNeeded() {
if (super.isRendered()) {
super.doLayout();
+ ws.refreshSummary();
}
}
@@ -66,6 +68,5 @@
public void setVisible(final boolean visible) {
super.setVisible(visible);
doLayoutIfNeeded();
- ws.refreshSummary();
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-22 16:44:37 UTC (rev 962)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-22 19:18:43 UTC (rev 963)
@@ -155,6 +155,7 @@
public void showBuddiesNotVisible() {
flowPanel.add(noBuddiesPublic);
+ super.doLayoutIfNeeded();
}
private void doAction(final ActionItem<UserSimpleDTO> actionItem) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-22 16:44:37 UTC (rev 962)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-22 19:18:43 UTC (rev 963)
@@ -130,6 +130,7 @@
view.show();
} else {
view.showBuddiesNotVisible();
+ view.show();
}
} else {
view.hide();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-22 16:44:37 UTC (rev 962)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-22 19:18:43 UTC (rev 963)
@@ -132,6 +132,6 @@
public void showMembersNotVisible() {
noMembersPublic.setVisible(true);
gridMenuPanel.setVisible(false);
+ doLayoutIfNeeded();
}
-
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-22 16:44:37 UTC (rev 962)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-22 19:18:43 UTC (rev 963)
@@ -237,8 +237,8 @@
} else {
view.clear();
view.showMembersNotVisible();
+ view.setVisible(true);
}
}
}
-
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-11-22 16:44:37 UTC (rev 962)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-11-22 19:18:43 UTC (rev 963)
@@ -77,10 +77,6 @@
this.view = view;
}
- private void hide() {
- view.hide();
- }
-
@SuppressWarnings("unchecked")
private void setState(final StateAbstractDTO state) {
final ParticipationDataDTO participation = state.getParticipation();
@@ -100,9 +96,9 @@
view.addItem(createGridItem(collabCategory, group, rights, unJoinMenuItem));
}
if (numAdmins > 0 || numCollaborators > 0) {
- view.show();
+ view.setVisible(true);
} else {
- hide();
+ view.setVisible(false);
}
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java 2008-11-22 16:44:37 UTC (rev 962)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java 2008-11-22 19:18:43 UTC (rev 963)
@@ -30,10 +30,8 @@
void clear();
- void hide();
-
void setTheme(WsTheme oldTheme, WsTheme newTheme);
- void show();
+ void setVisible(boolean b);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-11-22 16:44:37 UTC (rev 962)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-11-22 19:18:43 UTC (rev 963)
@@ -50,7 +50,7 @@
super.add(vp);
// super.setBorderStylePrimaryName("k-dropdownouter-tags");
flowPanel.addStyleName("kune-Margin-Small-trbl");
- ws.addInSummary(this);
+ addInSummary();
}
public void addTag(final String name, Long count, String style) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-11-22 16:44:37 UTC (rev 962)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-11-22 19:18:43 UTC (rev 963)
@@ -86,7 +86,6 @@
void setState(final StateContainerDTO state) {
if (state.getTagCloudResult() != null && state.getTagCloudResult().getTagCountList().size() > 0) {
Log.debug(state.getTagCloudResult().toString());
- view.setVisible(true);
setCloud(state.getTagCloudResult());
} else {
view.setVisible(false);
@@ -104,5 +103,6 @@
int size = Math.round((MINSIZE + (tagCount.getCount() - min) * step));
view.addTag(tagCount.getName(), tagCount.getCount(), "kune-ft" + size + "px");
}
+ view.setVisible(true);
}
}
1
0
Author: vjrj
Date: 2008-11-22 17:44:37 +0100 (Sat, 22 Nov 2008)
New Revision: 962
Added:
trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkDataDTO.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetworkData.java
Removed:
trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java
Modified:
trunk/pom.xml
trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkVisibilityDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateAbstractDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesVisibilityDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkService.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkServiceAsync.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetwork.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java
trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java
trunk/src/main/java/org/ourproject/kune/platf/server/state/StateAbstract.java
trunk/src/main/java/org/ourproject/kune/platf/server/state/StateServiceDefault.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
trunk/src/main/resources/dozerBeanMapping.xml
trunk/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkServiceTest.java
trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java
Log:
Complete - task SocialNet visibility (group members and user buddies are showed to anybody or only to members/buddies or only to admins/you)
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/pom.xml 2008-11-22 16:44:37 UTC (rev 962)
@@ -379,8 +379,8 @@
<version>2.0-beta23</version>
<configuration>
<logLevel>INFO</logLevel>
- <style>PRETTY</style>
- <!-- <style>OBF</style> -->
+ <style>OBF</style>
+ <!-- <style>PRETTY</style> -->
<runTarget>
org.ourproject.kune.app.Kune/Kune.html
</runTarget>
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-11-22 16:44:37 UTC (rev 962)
@@ -41,4 +41,4 @@
padding: 1px 0px 1px 1px;
text-decoration:none;
}
-*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{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;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{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;}.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:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-bsp-buddie{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-bsp-buddie td{padding:2px 3px;}
\ No newline at end of file
+*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{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;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{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;}.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:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-bsp-buddie{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-bsp-buddie td{padding:2px 3px;}.k-text-gray{color:gray;}
\ No newline at end of file
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 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-11-22 16:44:37 UTC (rev 962)
@@ -793,4 +793,8 @@
.k-bsp-buddie td {
padding: 2px 3px 2px 3px;
+}
+
+.k-text-gray {
+ color: gray;
}
\ No newline at end of file
Copied: trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkDataDTO.java (from rev 961, trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkDataDTO.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -0,0 +1,137 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.client.dto;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public class SocialNetworkDataDTO implements IsSerializable {
+
+ private SocialNetworkVisibilityDTO socialNetworkVisibility;
+ private SocialNetworkDTO groupMembers;
+ private ParticipationDataDTO userParticipation;
+ private UserBuddiesVisibilityDTO userBuddiesVisibility;
+ private UserBuddiesDataDTO userBuddies;
+ private AccessRightsDTO groupRights;
+ private boolean isBuddiesVisible;
+ private boolean isMembersVisible;
+
+ public SocialNetworkDataDTO() {
+ this(null, null, null, null, null, null, false, false);
+ }
+
+ public SocialNetworkDataDTO(SocialNetworkVisibilityDTO socialNetworkVisibility,
+ final SocialNetworkDTO groupMembers, final ParticipationDataDTO userParticipation,
+ UserBuddiesVisibilityDTO userBuddiesVisibility, final UserBuddiesDataDTO userBuddies,
+ AccessRightsDTO groupRights, boolean isBuddiesVisible, boolean isMembersVisible) {
+ this.socialNetworkVisibility = socialNetworkVisibility;
+ this.groupMembers = groupMembers;
+ this.userParticipation = userParticipation;
+ this.userBuddiesVisibility = userBuddiesVisibility;
+ this.userBuddies = userBuddies;
+ this.groupRights = groupRights;
+ this.isBuddiesVisible = isBuddiesVisible;
+ this.isMembersVisible = isMembersVisible;
+ }
+
+ public SocialNetworkDTO getGroupMembers() {
+ return groupMembers;
+ }
+
+ public AccessRightsDTO getGroupRights() {
+ return groupRights;
+ }
+
+ public boolean getIsBuddiesVisible() {
+ return isBuddiesVisible;
+ }
+
+ public boolean getIsMembersVisible() {
+ return isMembersVisible;
+ }
+
+ public SocialNetworkVisibilityDTO getSocialNetworkVisibility() {
+ return socialNetworkVisibility;
+ }
+
+ public UserBuddiesDataDTO getUserBuddies() {
+ return userBuddies;
+ }
+
+ public UserBuddiesVisibilityDTO getUserBuddiesVisibility() {
+ return userBuddiesVisibility;
+ }
+
+ public ParticipationDataDTO getUserParticipation() {
+ return userParticipation;
+ }
+
+ public boolean isBuddiesVisible() {
+ return isBuddiesVisible;
+ }
+
+ public boolean isMembersVisible() {
+ return isMembersVisible;
+ }
+
+ public void setBuddiesVisible(boolean isBuddiesVisible) {
+ this.isBuddiesVisible = isBuddiesVisible;
+ }
+
+ public void setGroupMembers(final SocialNetworkDTO groupMembers) {
+ this.groupMembers = groupMembers;
+ }
+
+ public void setGroupRights(AccessRightsDTO groupRights) {
+ this.groupRights = groupRights;
+ }
+
+ public void setIsBuddiesVisible(boolean isBuddiesVisible) {
+ setBuddiesVisible(isBuddiesVisible);
+ }
+
+ public void setIsMembersVisible(boolean isMembersVisible) {
+ setMembersVisible(isMembersVisible);
+ }
+
+ public void setMembersVisible(boolean isMembersVisible) {
+ this.isMembersVisible = isMembersVisible;
+ }
+
+ public void setSocialNetworkVisibility(SocialNetworkVisibilityDTO socialNetworkVisibilityDTO) {
+ this.socialNetworkVisibility = socialNetworkVisibilityDTO;
+ }
+
+ public void setUserBuddies(UserBuddiesDataDTO userBuddies) {
+ this.userBuddies = userBuddies;
+ }
+
+ public void setUserBuddiesVisibility(UserBuddiesVisibilityDTO userBuddiesVisibilityDTO) {
+ this.userBuddiesVisibility = userBuddiesVisibilityDTO;
+ }
+
+ public void setUserParticipation(final ParticipationDataDTO userParticipation) {
+ this.userParticipation = userParticipation;
+ }
+
+ @Override
+ public String toString() {
+ return "SocialNetworkResultDTO[members: " + groupMembers + "; participation: " + userParticipation + "]";
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkDataDTO.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -1,100 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.client.dto;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
-public class SocialNetworkResultDTO implements IsSerializable {
-
- SocialNetworkDTO groupMembers;
- SocialNetworkVisibilityDTO socialNetworkVisibilityDTO;
-
- ParticipationDataDTO userParticipation;
-
- UserBuddiesDataDTO userBuddies;
- UserBuddiesVisibilityDTO userBuddiesVisibilityDTO;
-
- AccessRightsDTO groupRights;
-
- public SocialNetworkResultDTO() {
- this(null, null, null, null);
- }
-
- public SocialNetworkResultDTO(final SocialNetworkDTO groupMembers, final ParticipationDataDTO userParticipation,
- final UserBuddiesDataDTO userBuddies, AccessRightsDTO groupRights) {
- this.groupMembers = groupMembers;
- this.userParticipation = userParticipation;
- this.userBuddies = userBuddies;
- this.groupRights = groupRights;
- }
-
- public SocialNetworkDTO getGroupMembers() {
- return groupMembers;
- }
-
- public AccessRightsDTO getGroupRights() {
- return groupRights;
- }
-
- public SocialNetworkVisibilityDTO getSocialNetworkVisibilityDTO() {
- return socialNetworkVisibilityDTO;
- }
-
- public UserBuddiesDataDTO getUserBuddies() {
- return userBuddies;
- }
-
- public UserBuddiesVisibilityDTO getUserBuddiesVisibilityDTO() {
- return userBuddiesVisibilityDTO;
- }
-
- public ParticipationDataDTO getUserParticipation() {
- return userParticipation;
- }
-
- public void setGroupMembers(final SocialNetworkDTO groupMembers) {
- this.groupMembers = groupMembers;
- }
-
- public void setGroupRights(AccessRightsDTO groupRights) {
- this.groupRights = groupRights;
- }
-
- public void setSocialNetworkVisibilityDTO(SocialNetworkVisibilityDTO socialNetworkVisibilityDTO) {
- this.socialNetworkVisibilityDTO = socialNetworkVisibilityDTO;
- }
-
- public void setUserBuddies(UserBuddiesDataDTO userBuddies) {
- this.userBuddies = userBuddies;
- }
-
- public void setUserBuddiesVisibilityDTO(UserBuddiesVisibilityDTO userBuddiesVisibilityDTO) {
- this.userBuddiesVisibilityDTO = userBuddiesVisibilityDTO;
- }
-
- public void setUserParticipation(final ParticipationDataDTO userParticipation) {
- this.userParticipation = userParticipation;
- }
-
- @Override
- public String toString() {
- return "SocialNetworkResultDTO[members: " + groupMembers + "; participation: " + userParticipation + "]";
- }
-}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkVisibilityDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkVisibilityDTO.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkVisibilityDTO.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -1,5 +1,7 @@
package org.ourproject.kune.platf.client.dto;
-public enum SocialNetworkVisibilityDTO {
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public enum SocialNetworkVisibilityDTO implements IsSerializable {
anyone, onlymembers, onlyadmins
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateAbstractDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateAbstractDTO.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateAbstractDTO.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -27,12 +27,9 @@
private List<String> enabledTools;
private GroupDTO group;
- private SocialNetworkDTO groupMembers;
- private AccessRightsDTO groupRights;
- private ParticipationDataDTO participation;
- private UserBuddiesDataDTO userBuddies;
private StateToken stateToken;
private String title;
+ private SocialNetworkDataDTO socialNetworkData;
public StateAbstractDTO() {
}
@@ -46,17 +43,21 @@
}
public SocialNetworkDTO getGroupMembers() {
- return groupMembers;
+ return socialNetworkData.getGroupMembers();
}
public AccessRightsDTO getGroupRights() {
- return groupRights;
+ return socialNetworkData.getGroupRights();
}
public ParticipationDataDTO getParticipation() {
- return participation;
+ return socialNetworkData.getUserParticipation();
}
+ public SocialNetworkDataDTO getSocialNetworkData() {
+ return socialNetworkData;
+ }
+
public StateToken getStateToken() {
return stateToken;
}
@@ -66,7 +67,7 @@
}
public UserBuddiesDataDTO getUserBuddies() {
- return userBuddies;
+ return socialNetworkData.getUserBuddies();
}
public void setEnabledTools(List<String> enabledTools) {
@@ -77,18 +78,10 @@
this.group = group;
}
- public void setGroupMembers(SocialNetworkDTO groupMembers) {
- this.groupMembers = groupMembers;
+ public void setSocialNetworkData(SocialNetworkDataDTO socialNetworkData) {
+ this.socialNetworkData = socialNetworkData;
}
- public void setGroupRights(AccessRightsDTO groupRights) {
- this.groupRights = groupRights;
- }
-
- public void setParticipation(ParticipationDataDTO participation) {
- this.participation = participation;
- }
-
public void setStateToken(StateToken stateToken) {
this.stateToken = stateToken;
}
@@ -97,10 +90,6 @@
this.title = title;
}
- public void setUserBuddies(UserBuddiesDataDTO userBuddies) {
- this.userBuddies = userBuddies;
- }
-
@Override
public String toString() {
return "StateDTO[" + getStateToken() + "]";
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesVisibilityDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesVisibilityDTO.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesVisibilityDTO.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -1,5 +1,7 @@
package org.ourproject.kune.platf.client.dto;
-public enum UserBuddiesVisibilityDTO {
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public enum UserBuddiesVisibilityDTO implements IsSerializable {
anyone, yourbuddies, onlyyou
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkService.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkService.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkService.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -20,7 +20,7 @@
package org.ourproject.kune.platf.client.rpc;
import org.ourproject.kune.platf.client.dto.SocialNetworkRequestResult;
-import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.errors.DefaultException;
@@ -28,33 +28,33 @@
public interface SocialNetworkService extends RemoteService {
- SocialNetworkResultDTO acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName)
+ SocialNetworkDataDTO acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName)
throws DefaultException;
- SocialNetworkResultDTO addAdminMember(String hash, StateToken groupToken, String groupToAddShortName)
+ SocialNetworkDataDTO addAdminMember(String hash, StateToken groupToken, String groupToAddShortName)
throws DefaultException;
- SocialNetworkResultDTO addCollabMember(String hash, StateToken groupToken, String groupToAddShortName)
+ SocialNetworkDataDTO addCollabMember(String hash, StateToken groupToken, String groupToAddShortName)
throws DefaultException;
- SocialNetworkResultDTO addViewerMember(String hash, StateToken groupToken, String groupToAddShortName)
+ SocialNetworkDataDTO addViewerMember(String hash, StateToken groupToken, String groupToAddShortName)
throws DefaultException;
- SocialNetworkResultDTO deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName)
+ SocialNetworkDataDTO deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName)
throws DefaultException;
- SocialNetworkResultDTO denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName)
+ SocialNetworkDataDTO denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName)
throws DefaultException;
- SocialNetworkResultDTO getSocialNetwork(String hash, StateToken groupToken) throws DefaultException;
+ SocialNetworkDataDTO getSocialNetwork(String hash, StateToken groupToken) throws DefaultException;
SocialNetworkRequestResult requestJoinGroup(String hash, StateToken groupToken) throws DefaultException;
- SocialNetworkResultDTO setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName)
+ SocialNetworkDataDTO setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName)
throws DefaultException;
- SocialNetworkResultDTO setCollabAsAdmin(String hash, StateToken groupToken, String groupToSetAdminShortName)
+ SocialNetworkDataDTO setCollabAsAdmin(String hash, StateToken groupToken, String groupToSetAdminShortName)
throws DefaultException;
- SocialNetworkResultDTO unJoinGroup(String hash, StateToken groupToken) throws DefaultException;
+ SocialNetworkDataDTO unJoinGroup(String hash, StateToken groupToken) throws DefaultException;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkServiceAsync.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkServiceAsync.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/SocialNetworkServiceAsync.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -19,7 +19,7 @@
*/
package org.ourproject.kune.platf.client.rpc;
-import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -27,32 +27,32 @@
public interface SocialNetworkServiceAsync {
void acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName,
- AsyncCallback<SocialNetworkResultDTO> callback);
+ AsyncCallback<SocialNetworkDataDTO> callback);
void addAdminMember(String hash, StateToken groupToken, String groupToAddShortName,
- AsyncCallback<SocialNetworkResultDTO> callback);
+ AsyncCallback<SocialNetworkDataDTO> callback);
void addCollabMember(String hash, StateToken groupToken, String groupToAddShortName,
- AsyncCallback<SocialNetworkResultDTO> callback);
+ AsyncCallback<SocialNetworkDataDTO> callback);
void addViewerMember(String hash, StateToken groupToken, String groupToAddShortName,
- AsyncCallback<SocialNetworkResultDTO> callback);
+ AsyncCallback<SocialNetworkDataDTO> callback);
void deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName,
- AsyncCallback<SocialNetworkResultDTO> callback);
+ AsyncCallback<SocialNetworkDataDTO> callback);
void denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName,
- AsyncCallback<SocialNetworkResultDTO> callback);
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void getSocialNetwork(String hash, StateToken groupToken, AsyncCallback<SocialNetworkResultDTO> callback);
+ void getSocialNetwork(String hash, StateToken groupToken, AsyncCallback<SocialNetworkDataDTO> callback);
void requestJoinGroup(String hash, StateToken groupToken, AsyncCallback<?> callback);
void setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName,
- AsyncCallback<SocialNetworkResultDTO> callback);
+ AsyncCallback<SocialNetworkDataDTO> callback);
void setCollabAsAdmin(String hash, StateToken groupToken, String groupToSetAdminShortName,
- AsyncCallback<SocialNetworkResultDTO> callback);
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void unJoinGroup(String hash, StateToken groupToken, AsyncCallback<SocialNetworkResultDTO> callback);
+ void unJoinGroup(String hash, StateToken groupToken, AsyncCallback<SocialNetworkDataDTO> callback);
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -20,7 +20,7 @@
package org.ourproject.kune.platf.client.state;
import org.ourproject.kune.platf.client.actions.BeforeActionListener;
-import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
@@ -58,6 +58,6 @@
void setRetrievedState(StateAbstractDTO state);
- void setSocialNetwork(SocialNetworkResultDTO socialNet);
+ void setSocialNetwork(SocialNetworkDataDTO socialNet);
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -24,12 +24,9 @@
import org.ourproject.kune.platf.client.actions.BeforeActionCollection;
import org.ourproject.kune.platf.client.actions.BeforeActionListener;
import org.ourproject.kune.platf.client.app.HistoryWrapper;
-import org.ourproject.kune.platf.client.dto.ParticipationDataDTO;
-import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
-import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO;
import org.ourproject.kune.platf.client.dto.UserInfoDTO;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
import org.ourproject.kune.workspace.client.site.Site;
@@ -177,18 +174,13 @@
setState(newState);
}
- public void setSocialNetwork(final SocialNetworkResultDTO socialNet) {
+ public void setSocialNetwork(final SocialNetworkDataDTO socialNet) {
StateAbstractDTO state;
if (session != null && (state = session.getCurrentState()) != null) {
// After a SN operation, usually returns a SocialNetworkResultDTO
// with new SN data and we refresh the state
// to avoid to reload() again the state
- final SocialNetworkDTO groupMembers = socialNet.getGroupMembers();
- final ParticipationDataDTO userParticipation = socialNet.getUserParticipation();
- final UserBuddiesDataDTO userBuddies = socialNet.getUserBuddies();
- state.setGroupMembers(groupMembers);
- state.setParticipation(userParticipation);
- state.setUserBuddies(userBuddies);
+ state.setSocialNetworkData(socialNet);
onSocialNetworkChanged.fire(state);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetwork.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetwork.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetwork.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -29,6 +29,8 @@
@Entity
@Table(name = "social_networks")
public class SocialNetwork {
+ public static final SocialNetwork EMPTY = new SocialNetwork(SocialNetworkVisibility.onlyadmins);
+
@Id
@GeneratedValue
Long id;
@@ -47,6 +49,12 @@
visibility = SocialNetworkVisibility.anyone;
}
+ public SocialNetwork(SocialNetworkVisibility visibility) {
+ accessLists = new AccessLists();
+ pendingCollaborators = new GroupList();
+ this.visibility = visibility;
+ }
+
public void addAdmin(final Group group) {
accessLists.addAdmin(group);
}
Added: trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetworkData.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetworkData.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetworkData.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -0,0 +1,114 @@
+package org.ourproject.kune.platf.server.domain;
+
+import org.ourproject.kune.platf.server.access.AccessRights;
+import org.ourproject.kune.platf.server.sn.ParticipationData;
+import org.ourproject.kune.platf.server.sn.UserBuddiesData;
+
+public class SocialNetworkData {
+ private SocialNetworkVisibility socialNetworkVisibility;
+ private SocialNetwork groupMembers;
+ private ParticipationData userParticipation;
+ private UserBuddiesVisibility userBuddiesVisibility;
+ private UserBuddiesData userBuddies;
+ private AccessRights groupRights;
+ private boolean isBuddiesVisible;
+ private boolean isMembersVisible;
+
+ public SocialNetworkData() {
+ this(null, null, null, null, null, null, false, false);
+ }
+
+ public SocialNetworkData(SocialNetworkVisibility socialNetworkVisibility, SocialNetwork groupMembers,
+ ParticipationData userParticipation, UserBuddiesVisibility userBuddiesVisibility,
+ UserBuddiesData userBuddies, AccessRights groupRights, boolean isBuddiesVisible, boolean isMembersVisible) {
+ this.socialNetworkVisibility = socialNetworkVisibility;
+ this.groupMembers = groupMembers;
+ this.userParticipation = userParticipation;
+ this.userBuddiesVisibility = userBuddiesVisibility;
+ this.userBuddies = userBuddies;
+ this.groupRights = groupRights;
+ this.isBuddiesVisible = isBuddiesVisible;
+ this.isMembersVisible = isMembersVisible;
+ }
+
+ public SocialNetwork getGroupMembers() {
+ return groupMembers;
+ }
+
+ public AccessRights getGroupRights() {
+ return groupRights;
+ }
+
+ public boolean getIsBuddiesVisible() {
+ return isBuddiesVisible;
+ }
+
+ public boolean getIsMembersVisible() {
+ return isMembersVisible;
+ }
+
+ public SocialNetworkVisibility getSocialNetworkVisibility() {
+ return socialNetworkVisibility;
+ }
+
+ public UserBuddiesData getUserBuddies() {
+ return userBuddies;
+ }
+
+ public UserBuddiesVisibility getUserBuddiesVisibility() {
+ return userBuddiesVisibility;
+ }
+
+ public ParticipationData getUserParticipation() {
+ return userParticipation;
+ }
+
+ public boolean isBuddiesVisible() {
+ return isBuddiesVisible;
+ }
+
+ public boolean isMembersVisible() {
+ return isMembersVisible;
+ }
+
+ public void setBuddiesVisible(boolean isBuddiesVisible) {
+ this.isBuddiesVisible = isBuddiesVisible;
+ }
+
+ public void setGroupMembers(SocialNetwork groupMembers) {
+ this.groupMembers = groupMembers;
+ }
+
+ public void setGroupRights(AccessRights groupRights) {
+ this.groupRights = groupRights;
+ }
+
+ public void setIsBuddiesVisible(boolean isBuddiesVisible) {
+ setBuddiesVisible(isBuddiesVisible);
+ }
+
+ public void setIsMembersVisible(boolean isMembersVisible) {
+ setMembersVisible(isMembersVisible);
+ }
+
+ public void setMembersVisible(boolean isMembersVisible) {
+ this.isMembersVisible = isMembersVisible;
+ }
+
+ public void setSocialNetworkVisibility(SocialNetworkVisibility socialNetworkVisibility) {
+ this.socialNetworkVisibility = socialNetworkVisibility;
+ }
+
+ public void setUserBuddies(UserBuddiesData userBuddies) {
+ this.userBuddies = userBuddies;
+ }
+
+ public void setUserBuddiesVisibility(UserBuddiesVisibility userBuddiesVisibility) {
+ this.userBuddiesVisibility = userBuddiesVisibility;
+ }
+
+ public void setUserParticipation(ParticipationData userParticipation) {
+ this.userParticipation = userParticipation;
+ }
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/SocialNetworkManager.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -24,6 +24,7 @@
import org.ourproject.kune.platf.client.errors.DefaultException;
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.SocialNetwork;
+import org.ourproject.kune.platf.server.domain.SocialNetworkData;
import org.ourproject.kune.platf.server.domain.User;
import org.ourproject.kune.platf.server.sn.ParticipationData;
@@ -45,6 +46,8 @@
SocialNetwork get(User userLogged, Group group) throws DefaultException;
+ SocialNetworkData getSocialNetworkData(User userLogged, Group group);
+
SocialNetworkRequestResult requestToJoin(User user, Group inGroup) throws DefaultException;
void setAdminAsCollab(User userLogged, Group group, Group inGroup) throws DefaultException;
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/UserManager.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -50,6 +50,8 @@
*/
User find(Long userId);
+ User findByShortname(String shortName);
+
UserBuddiesData getUserBuddies(String shortName);
User login(String nickOrEmail, String passwd);
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/SocialNetworkManagerDefault.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -31,14 +31,20 @@
import org.ourproject.kune.platf.client.errors.DefaultException;
import org.ourproject.kune.platf.client.errors.LastAdminInGroupException;
import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException;
+import org.ourproject.kune.platf.server.access.AccessRights;
import org.ourproject.kune.platf.server.access.AccessRightsService;
import org.ourproject.kune.platf.server.domain.AdmissionType;
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.GroupListMode;
import org.ourproject.kune.platf.server.domain.SocialNetwork;
+import org.ourproject.kune.platf.server.domain.SocialNetworkData;
+import org.ourproject.kune.platf.server.domain.SocialNetworkVisibility;
import org.ourproject.kune.platf.server.domain.User;
+import org.ourproject.kune.platf.server.domain.UserBuddiesVisibility;
import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
+import org.ourproject.kune.platf.server.manager.UserManager;
import org.ourproject.kune.platf.server.sn.ParticipationData;
+import org.ourproject.kune.platf.server.sn.UserBuddiesData;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -49,13 +55,15 @@
private final Group finder;
private final AccessRightsService accessRightsService;
+ private final UserManager userManager;
@Inject
public SocialNetworkManagerDefault(final Provider<EntityManager> provider, final Group finder,
- final AccessRightsService accessRightsService) {
+ final AccessRightsService accessRightsService, final UserManager userManager) {
super(provider, SocialNetwork.class);
this.finder = finder;
this.accessRightsService = accessRightsService;
+ this.userManager = userManager;
}
public void acceptJoinGroup(final User userLogged, final Group group, final Group inGroup) throws DefaultException,
@@ -147,6 +155,61 @@
return sn;
}
+ public SocialNetworkData getSocialNetworkData(User userLogged, Group group) {
+ SocialNetworkData socialNetData = new SocialNetworkData();
+ socialNetData.setGroupMembers(get(userLogged, group));
+ AccessRights groupRights = accessRightsService.get(userLogged, group.getAccessLists());
+ socialNetData.setGroupRights(groupRights);
+ socialNetData.setUserParticipation(findParticipation(userLogged, group));
+ socialNetData.setGroupMembers(get(userLogged, group));
+ if (group.getGroupType().equals(GroupType.PERSONAL)) {
+ UserBuddiesData userBuddies = userManager.getUserBuddies(group.getShortName());
+ User userGroup = userManager.findByShortname(group.getShortName());
+ socialNetData.setUserBuddies(userBuddies);
+ UserBuddiesVisibility buddiesVisibility = userGroup.getBuddiesVisibility();
+ socialNetData.setIsBuddiesVisible(true);
+ switch (buddiesVisibility) {
+ case anyone:
+ break;
+ case onlyyou:
+ if (userLogged == User.UNKNOWN_USER || !userLogged.getUserGroup().equals(group)) {
+ socialNetData.setIsBuddiesVisible(false);
+ socialNetData.setUserBuddies(UserBuddiesData.EMPTY);
+ }
+ break;
+ case yourbuddies:
+ if (!userBuddies.contains(userLogged.getShortName())) {
+ socialNetData.setIsBuddiesVisible(false);
+ socialNetData.setUserBuddies(UserBuddiesData.EMPTY);
+ }
+ break;
+ }
+ socialNetData.setUserBuddiesVisibility(buddiesVisibility);
+ } else {
+ SocialNetworkVisibility visibility = group.getSocialNetwork().getVisibility();
+ socialNetData.setIsMembersVisible(true);
+ switch (visibility) {
+ case anyone:
+ break;
+ case onlyadmins:
+ if (!groupRights.isAdministrable()) {
+ socialNetData.setIsMembersVisible(false);
+ socialNetData.setGroupMembers(SocialNetwork.EMPTY);
+ }
+ break;
+ case onlymembers:
+ if (!groupRights.isEditable()) {
+ socialNetData.setIsMembersVisible(false);
+ socialNetData.setGroupMembers(SocialNetwork.EMPTY);
+ }
+ break;
+ }
+ socialNetData.setSocialNetworkVisibility(visibility);
+ socialNetData.setUserBuddies(UserBuddiesData.EMPTY);
+ }
+ return socialNetData;
+ }
+
public SocialNetworkRequestResult requestToJoin(final User userLogged, final Group inGroup)
throws DefaultException, UserMustBeLoggedException {
final SocialNetwork sn = inGroup.getSocialNetwork();
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 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/UserManagerDefault.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -85,14 +85,18 @@
return userId != null ? super.find(userId) : User.UNKNOWN_USER;
}
- public List<User> getAll() {
- return finder.getAll();
+ public User findByShortname(String shortName) {
+ return finder.getByShortName(shortName);
}
- public User getByShortName(final String shortName) {
+ public User findByShortName(final String shortName) {
return finder.getByShortName(shortName);
}
+ public List<User> getAll() {
+ return finder.getAll();
+ }
+
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
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -19,32 +19,20 @@
*/
package org.ourproject.kune.platf.server.rpc;
-import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
-import org.ourproject.kune.platf.client.dto.GroupType;
-import org.ourproject.kune.platf.client.dto.ParticipationDataDTO;
-import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkRequestResult;
-import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
-import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO;
-import org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO;
import org.ourproject.kune.platf.client.errors.DefaultException;
import org.ourproject.kune.platf.client.rpc.SocialNetworkService;
import org.ourproject.kune.platf.server.UserSession;
-import org.ourproject.kune.platf.server.access.AccessRights;
-import org.ourproject.kune.platf.server.access.AccessRightsService;
import org.ourproject.kune.platf.server.access.AccessRol;
import org.ourproject.kune.platf.server.auth.ActionLevel;
import org.ourproject.kune.platf.server.auth.Authenticated;
import org.ourproject.kune.platf.server.auth.Authorizated;
import org.ourproject.kune.platf.server.domain.Group;
-import org.ourproject.kune.platf.server.domain.SocialNetworkVisibility;
import org.ourproject.kune.platf.server.domain.User;
-import org.ourproject.kune.platf.server.domain.UserBuddiesVisibility;
import org.ourproject.kune.platf.server.manager.GroupManager;
import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
-import org.ourproject.kune.platf.server.manager.UserManager;
import org.ourproject.kune.platf.server.mapper.Mapper;
import com.google.inject.Inject;
@@ -60,25 +48,20 @@
private final GroupManager groupManager;
private final SocialNetworkManager socialNetworkManager;
private final Mapper mapper;
- private final UserManager userManager;
- private final AccessRightsService accessRightsService;
@Inject
- public SocialNetworkRPC(final Provider<UserSession> userSessionProvider, final UserManager userManager,
- final GroupManager groupManager, final SocialNetworkManager socialNetworkManager, final Mapper mapper,
- AccessRightsService accessRightsService) {
+ public SocialNetworkRPC(final Provider<UserSession> userSessionProvider, final GroupManager groupManager,
+ final SocialNetworkManager socialNetworkManager, final Mapper mapper) {
this.userSessionProvider = userSessionProvider;
- this.userManager = userManager;
this.groupManager = groupManager;
this.socialNetworkManager = socialNetworkManager;
this.mapper = mapper;
- this.accessRightsService = accessRightsService;
}
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
@Transactional(type = TransactionType.READ_WRITE)
- public SocialNetworkResultDTO acceptJoinGroup(final String hash, final StateToken groupToken,
+ public SocialNetworkDataDTO acceptJoinGroup(final String hash, final StateToken groupToken,
final String groupToAcceptShortName) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
@@ -91,7 +74,7 @@
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
@Transactional(type = TransactionType.READ_WRITE)
- public SocialNetworkResultDTO addAdminMember(final String hash, final StateToken groupToken,
+ public SocialNetworkDataDTO addAdminMember(final String hash, final StateToken groupToken,
final String groupToAddShortName) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
@@ -104,7 +87,7 @@
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
@Transactional(type = TransactionType.READ_WRITE)
- public SocialNetworkResultDTO addCollabMember(final String hash, final StateToken groupToken,
+ public SocialNetworkDataDTO addCollabMember(final String hash, final StateToken groupToken,
final String groupToAddShortName) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
@@ -117,7 +100,7 @@
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
@Transactional(type = TransactionType.READ_WRITE)
- public SocialNetworkResultDTO addViewerMember(final String hash, final StateToken groupToken,
+ public SocialNetworkDataDTO addViewerMember(final String hash, final StateToken groupToken,
final String groupToAddShortName) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
@@ -130,7 +113,7 @@
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
@Transactional(type = TransactionType.READ_WRITE)
- public SocialNetworkResultDTO deleteMember(final String hash, final StateToken groupToken,
+ public SocialNetworkDataDTO deleteMember(final String hash, final StateToken groupToken,
final String groupToDeleleShortName) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
@@ -143,7 +126,7 @@
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
@Transactional(type = TransactionType.READ_WRITE)
- public SocialNetworkResultDTO denyJoinGroup(final String hash, final StateToken groupToken,
+ public SocialNetworkDataDTO denyJoinGroup(final String hash, final StateToken groupToken,
final String groupToDenyShortName) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
@@ -157,7 +140,7 @@
// At least you can access as Viewer to the Group
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Viewer)
@Transactional(type = TransactionType.READ_ONLY)
- public SocialNetworkResultDTO getSocialNetwork(final String hash, final StateToken groupToken)
+ public SocialNetworkDataDTO getSocialNetwork(final String hash, final StateToken groupToken)
throws DefaultException {
final UserSession userSession = getUserSession();
final User user = userSession.getUser();
@@ -178,7 +161,7 @@
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
@Transactional(type = TransactionType.READ_WRITE)
- public SocialNetworkResultDTO setAdminAsCollab(final String hash, final StateToken groupToken,
+ public SocialNetworkDataDTO setAdminAsCollab(final String hash, final StateToken groupToken,
final String groupToSetCollabShortName) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
@@ -191,7 +174,7 @@
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
@Transactional(type = TransactionType.READ_WRITE)
- public SocialNetworkResultDTO setCollabAsAdmin(final String hash, final StateToken groupToken,
+ public SocialNetworkDataDTO setCollabAsAdmin(final String hash, final StateToken groupToken,
final String groupToSetAdminShortName) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
@@ -203,7 +186,7 @@
@Authenticated
@Transactional(type = TransactionType.READ_WRITE)
- public SocialNetworkResultDTO unJoinGroup(final String hash, final StateToken groupToken) throws DefaultException {
+ public SocialNetworkDataDTO unJoinGroup(final String hash, final StateToken groupToken) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
final Group group = groupManager.findByShortName(groupToken.getGroup());
@@ -211,65 +194,10 @@
return generateResponse(userLogged, group);
}
- private SocialNetworkResultDTO generateResponse(final User userLogged, final Group group) {
- AccessRights groupRights = accessRightsService.get(userLogged, group.getSocialNetwork().getAccessLists());
- if (group.getGroupType().equals(GroupType.PERSONAL)) {
- UserBuddiesDataDTO userBuddies = getUserBuddies(group);
- SocialNetworkResultDTO result = new SocialNetworkResultDTO(getGroupMembers(userLogged, group),
- getParticipation(userLogged, group), userBuddies, mapper.map(groupRights, AccessRightsDTO.class));
- UserBuddiesVisibility buddiesVisibility = userLogged.getBuddiesVisibility();
- switch (buddiesVisibility) {
- case anyone:
- break;
- case onlyyou:
- if (userLogged == null || !userLogged.getUserGroup().equals(group)) {
- result.setUserBuddies(null);
- }
- break;
- case yourbuddies:
- if (!userBuddies.contains(userLogged.getShortName())) {
- result.setUserBuddies(null);
- }
- break;
- }
- result.setUserBuddiesVisibilityDTO(mapper.map(buddiesVisibility, UserBuddiesVisibilityDTO.class));
- return result;
- } else {
- SocialNetworkResultDTO result = new SocialNetworkResultDTO(getGroupMembers(userLogged, group),
- getParticipation(userLogged, group), UserBuddiesDataDTO.NO_BUDDIES, mapper.map(groupRights,
- AccessRightsDTO.class));
- SocialNetworkVisibility visibility = group.getSocialNetwork().getVisibility();
- switch (visibility) {
- case anyone:
- break;
- case onlyadmins:
- if (!groupRights.isAdministrable()) {
- result.setGroupMembers(null);
- }
- break;
- case onlymembers:
- if (!groupRights.isEditable()) {
- result.setGroupMembers(null);
- }
- break;
- }
- result.setSocialNetworkVisibilityDTO(mapper.map(visibility, SocialNetworkVisibilityDTO.class));
- return result;
- }
+ private SocialNetworkDataDTO generateResponse(final User userLogged, final Group group) {
+ return mapper.map(socialNetworkManager.getSocialNetworkData(userLogged, group), SocialNetworkDataDTO.class);
}
- private SocialNetworkDTO getGroupMembers(final User user, final Group group) throws DefaultException {
- return mapper.map(socialNetworkManager.get(user, group), SocialNetworkDTO.class);
- }
-
- private ParticipationDataDTO getParticipation(final User user, final Group group) throws DefaultException {
- return mapper.map(socialNetworkManager.findParticipation(user, group), ParticipationDataDTO.class);
- }
-
- private UserBuddiesDataDTO getUserBuddies(final Group group) {
- return mapper.map(userManager.getUserBuddies(group.getShortName()), UserBuddiesDataDTO.class);
- }
-
private UserSession getUserSession() {
return userSessionProvider.get();
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/sn/UserBuddiesData.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -25,6 +25,8 @@
public class UserBuddiesData {
+ public static UserBuddiesData EMPTY = new UserBuddiesData();
+
private List<User> buddies;
int otherExternalBuddies;
@@ -33,6 +35,15 @@
buddies = new ArrayList<User>();
}
+ public boolean contains(String shortName) {
+ for (User buddie : buddies) {
+ if (buddie.getShortName().equals(shortName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public List<User> getBuddies() {
return buddies;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/state/StateAbstract.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/state/StateAbstract.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/state/StateAbstract.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -24,6 +24,7 @@
import org.ourproject.kune.platf.server.access.AccessRights;
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.SocialNetwork;
+import org.ourproject.kune.platf.server.domain.SocialNetworkData;
import org.ourproject.kune.platf.server.sn.ParticipationData;
import org.ourproject.kune.platf.server.sn.UserBuddiesData;
@@ -31,12 +32,9 @@
private List<String> enabledTools;
private Group group;
- private SocialNetwork groupMembers;
- private AccessRights groupRights;
- private ParticipationData participation;
- private UserBuddiesData userBuddies;
private StateToken stateToken;
private String title;
+ private SocialNetworkData socialNetworkData;
public StateAbstract() {
}
@@ -50,17 +48,21 @@
}
public SocialNetwork getGroupMembers() {
- return groupMembers;
+ return socialNetworkData.getGroupMembers();
}
public AccessRights getGroupRights() {
- return groupRights;
+ return socialNetworkData.getGroupRights();
}
public ParticipationData getParticipation() {
- return participation;
+ return socialNetworkData.getUserParticipation();
}
+ public SocialNetworkData getSocialNetworkData() {
+ return socialNetworkData;
+ }
+
public StateToken getStateToken() {
return stateToken;
}
@@ -70,7 +72,7 @@
}
public UserBuddiesData getUserBuddies() {
- return userBuddies;
+ return socialNetworkData.getUserBuddies();
}
public void setEnabledTools(List<String> enabledTools) {
@@ -81,18 +83,10 @@
this.group = group;
}
- public void setGroupMembers(SocialNetwork groupMembers) {
- this.groupMembers = groupMembers;
+ public void setSocialNetworkData(SocialNetworkData socialNetworkData) {
+ this.socialNetworkData = socialNetworkData;
}
- public void setGroupRights(AccessRights groupRights) {
- this.groupRights = groupRights;
- }
-
- public void setParticipation(ParticipationData participation) {
- this.participation = participation;
- }
-
public void setStateToken(StateToken stateToken) {
this.stateToken = stateToken;
}
@@ -101,10 +95,6 @@
this.title = title;
}
- public void setUserBuddies(UserBuddiesData userBuddies) {
- this.userBuddies = userBuddies;
- }
-
@Override
public String toString() {
return "State[" + getStateToken() + "]";
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/state/StateServiceDefault.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/state/StateServiceDefault.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -32,7 +32,6 @@
import org.ourproject.kune.platf.server.manager.GroupManager;
import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
import org.ourproject.kune.platf.server.manager.TagManager;
-import org.ourproject.kune.platf.server.manager.UserManager;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -41,7 +40,6 @@
public class StateServiceDefault implements StateService {
private final AccessRightsService rightsService;
- private final UserManager userManager;
private final SocialNetworkManager socialNetworkManager;
private final GroupManager groupManager;
private final TagManager tagManager;
@@ -49,10 +47,9 @@
private final I18nTranslationService i18n;
@Inject
- public StateServiceDefault(UserManager userManager, GroupManager groupManager,
- SocialNetworkManager socialNetworkManager, ContentManager contentManager, TagManager tagManager,
- AccessRightsService rightsService, I18nTranslationService i18n) {
- this.userManager = userManager;
+ public StateServiceDefault(GroupManager groupManager, SocialNetworkManager socialNetworkManager,
+ ContentManager contentManager, TagManager tagManager, AccessRightsService rightsService,
+ I18nTranslationService i18n) {
this.groupManager = groupManager;
this.socialNetworkManager = socialNetworkManager;
this.contentManager = contentManager;
@@ -115,7 +112,6 @@
assert (group.getGroupType().equals(GroupType.PERSONAL));
StateNoContent state = new StateNoContent();
state.setGroup(group);
- state.setGroupRights(rightsService.get(userLogged, group.getAccessLists()));
state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
setSocialNetwork(state, userLogged, group);
state.setStateToken(group.getStateToken());
@@ -131,7 +127,6 @@
state.setToolName(container.getToolName());
state.setGroup(group);
state.setContainer(container);
- state.setGroupRights(rightsService.get(userLogged, group.getAccessLists()));
state.setContainerRights(rightsService.get(userLogged, container.getAccessLists()));
state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
state.setTagCloudResult(tagManager.getTagCloudResultByGroup(group));
@@ -139,10 +134,6 @@
}
private void setSocialNetwork(StateAbstract state, User userLogged, Group group) {
- state.setGroupMembers(socialNetworkManager.get(userLogged, group));
- state.setParticipation(socialNetworkManager.findParticipation(userLogged, group));
- if (group.getGroupType().equals(GroupType.PERSONAL)) {
- state.setUserBuddies(userManager.getUserBuddies(group.getShortName()));
- }
+ state.setSocialNetworkData(socialNetworkManager.getSocialNetworkData(userLogged, group));
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -27,7 +27,6 @@
import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarView;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.services.Images;
import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.SummaryPanel;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -54,7 +53,8 @@
VerticalPanel vp = new VerticalPanel();
avatar = new Image();
if (avatarUrl.equals(NOAVATAR)) {
- Images.App.getInstance().personAvatarDef().applyTo(avatar);
+ // Images.App.getInstance().personAvatarDef().applyTo(avatar);
+ avatar.setUrl("images/persons/person2-32.png");
} else {
avatar.setUrl(avatarUrl);
}
@@ -80,12 +80,15 @@
nick.setText(nickName);
}
}
+
+ public static final String NOT_PUBLIC = "The buddies of this user are not public";
private final MenuItemsContainer<UserSimpleDTO> menuItemsContainer;
private final FlowPanel flowPanel;
private final Label otherBuddiesLabel;
private final I18nTranslationService i18n;
private final ActionManager actionManager;
private final SimpleToolbar toolbar;
+ private final Label noBuddiesPublic;
public BuddiesSummaryPanel(final BuddiesSummaryPresenter presenter, final WorkspaceSkeleton ws,
I18nTranslationService i18n, ActionManager actionManager, ActionToolbarView<UserSimpleDTO> actionToolbarView) {
@@ -104,6 +107,9 @@
vp.add(toolbar);
super.add(vp);
addInSummary();
+ noBuddiesPublic = new Label(i18n.t(NOT_PUBLIC));
+ noBuddiesPublic.addStyleName("kune-Margin-7-trbl");
+ noBuddiesPublic.addStyleName("k-text-gray");
}
public void addBuddie(final UserSimpleDTO user, ActionItemCollection<UserSimpleDTO> actionCollection,
@@ -147,6 +153,10 @@
otherBuddiesLabel.setText(text);
}
+ public void showBuddiesNotVisible() {
+ flowPanel.add(noBuddiesPublic);
+ }
+
private void doAction(final ActionItem<UserSimpleDTO> actionItem) {
actionManager.doAction(actionItem);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -23,6 +23,7 @@
import org.ourproject.kune.chat.client.ChatEngine;
import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.actions.ActionAddCondition;
+import org.ourproject.kune.platf.client.actions.ActionEnableCondition;
import org.ourproject.kune.platf.client.actions.ActionMenuItemDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarButtonAndItemDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
@@ -96,7 +97,7 @@
if (state.getGroup().getGroupType().equals(GroupType.PERSONAL)) {
view.clear();
UserBuddiesDataDTO userBuddies = state.getUserBuddies();
- if (userBuddies != UserBuddiesDataDTO.NO_BUDDIES) {
+ if (state.getSocialNetworkData().isBuddiesVisible()) {
List<UserSimpleDTO> buddies = userBuddies.getBuddies();
for (UserSimpleDTO user : buddies) {
String avatarUrl = user.hasLogo() ? fileDownUtilsProvider.get().getLogoImageUrl(
@@ -128,7 +129,7 @@
toolbar.attach();
view.show();
} else {
- view.hide();
+ view.showBuddiesNotVisible();
}
} else {
view.hide();
@@ -136,7 +137,7 @@
}
private void createSetBuddiesVisibilityAction(String textDescription, final UserBuddiesVisibilityDTO visibility) {
- ActionToolbarMenuDescriptor<UserSimpleDTO> showBuddies = new ActionToolbarMenuDescriptor<UserSimpleDTO>(
+ ActionToolbarMenuDescriptor<UserSimpleDTO> buddiesVisibilityAction = new ActionToolbarMenuDescriptor<UserSimpleDTO>(
AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<UserSimpleDTO>() {
public void onEvent(UserSimpleDTO parameter) {
userServiceAsync.get().setBuddiesVisibility(session.getUserHash(),
@@ -148,10 +149,10 @@
});
}
});
- showBuddies.setTextDescription(textDescription);
- showBuddies.setParentMenuTitle(i18n.t("Options"));
- showBuddies.setParentSubMenuTitle(i18n.t("Who can view your buddies list"));
- actionRegistry.addAction(showBuddies);
+ buddiesVisibilityAction.setTextDescription(textDescription);
+ buddiesVisibilityAction.setParentMenuTitle(i18n.t("Options"));
+ buddiesVisibilityAction.setParentSubMenuTitle(i18n.t("Who can view your buddies list"));
+ actionRegistry.addAction(buddiesVisibilityAction);
}
private void registerActions() {
@@ -169,6 +170,11 @@
return !session.getCurrentUserInfo().getShortName().equals(item.getShortName());
}
});
+ addAsBuddie.setEnableCondition(new ActionEnableCondition<UserSimpleDTO>() {
+ public boolean mustBeEnabled(UserSimpleDTO item) {
+ return !session.getCurrentUserInfo().getShortName().equals(item.getShortName());
+ }
+ });
actionRegistry.addAction(addAsBuddie);
final ActionMenuItemDescriptor<UserSimpleDTO> go = new ActionMenuItemDescriptor<UserSimpleDTO>(
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -40,4 +40,6 @@
void setOtherUsers(String text);
void show();
+
+ void showBuddiesNotVisible();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -36,16 +36,19 @@
import com.calclab.suco.client.listener.Listener;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DeferredCommand;
+import com.google.gwt.user.client.ui.Label;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.MessageBox;
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
public class GroupMembersSummaryPanel extends SummaryPanel implements GroupMembersSummaryView {
+ public static final String NOT_PUBLIC = "The members of this group are not public";
// private static final int MAX_HEIGHT = 110;
private final GridMenuPanel<GroupDTO> gridMenuPanel;
private final I18nUITranslationService i18n;
private final GroupMembersSummaryPresenter presenter;
private final SimpleToolbar toolbar;
+ private final Label noMembersPublic;
public GroupMembersSummaryPanel(final GroupMembersSummaryPresenter presenter, final I18nUITranslationService i18n,
final WorkspaceSkeleton ws, ActionToolbarView<StateToken> actionToolbarView) {
@@ -67,6 +70,13 @@
gridMenuPanel.onDoubleClick(go);
gridMenuPanel.getBottomBar().setCls("k-blank-toolbar");
super.add(gridMenuPanel);
+
+ noMembersPublic = new Label(i18n.t(NOT_PUBLIC));
+ noMembersPublic.addStyleName("kune-Margin-7-trbl");
+ noMembersPublic.addStyleName("k-text-gray");
+ noMembersPublic.setVisible(false);
+ super.add(noMembersPublic);
+
toolbar = ((ActionToolbarPanel<StateToken>) actionToolbarView).getToolbar(ActionToolbarPosition.bottombar);
toolbar.setCleanStyle();
super.add(toolbar);
@@ -81,6 +91,7 @@
}
public void addItem(final GridItem<GroupDTO> gridItem) {
+ gridMenuPanel.setVisible(true);
gridMenuPanel.addItem(gridItem);
doLayoutIfNeeded();
}
@@ -89,6 +100,7 @@
public void clear() {
gridMenuPanel.removeAll();
toolbar.removeAll();
+ noMembersPublic.setVisible(false);
doLayoutIfNeeded();
}
@@ -116,4 +128,10 @@
public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
// super.setTheme(oldTheme, newTheme);
}
+
+ public void showMembersNotVisible() {
+ noMembersPublic.setVisible(true);
+ gridMenuPanel.setVisible(false);
+ }
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -33,7 +33,7 @@
import org.ourproject.kune.platf.client.dto.InitDataDTO;
import org.ourproject.kune.platf.client.dto.LinkDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
-import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
@@ -135,8 +135,8 @@
public void addCollab(final String groupShortName) {
Site.showProgressProcessing();
snServiceProvider.get().addCollabMember(session.getUserHash(), session.getCurrentState().getStateToken(),
- groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
+ groupShortName, new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ public void onSuccess(final SocialNetworkDataDTO result) {
Site.hideProgress();
Site.info(i18n.t("Member added as collaborator"));
stateManager.setSocialNetwork(result);
@@ -232,7 +232,12 @@
if (state.getGroup().getGroupType().equals(GroupType.PERSONAL)) {
view.setVisible(false);
} else {
- setGroupMembers(state.getGroupMembers(), state.getGroupRights());
+ if (state.getSocialNetworkData().isMembersVisible()) {
+ setGroupMembers(state.getGroupMembers(), state.getGroupRights());
+ } else {
+ view.clear();
+ view.showMembersNotVisible();
+ }
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -36,4 +36,6 @@
void setVisible(boolean visible);
+ void showMembersNotVisible();
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -28,7 +28,7 @@
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.GroupType;
import org.ourproject.kune.platf.client.dto.SocialNetworkRequestResult;
-import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
import org.ourproject.kune.platf.client.rpc.SocialNetworkServiceAsync;
@@ -235,8 +235,8 @@
Site.showProgressProcessing();
snServiceProvider.get().setAdminAsCollab(session.getUserHash(),
session.getCurrentState().getStateToken(), group.getShortName(),
- new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ public void onSuccess(final SocialNetworkDataDTO result) {
Site.hideProgress();
Site.info(i18n.t("Type of member changed"));
stateManager.setSocialNetwork(result);
@@ -250,8 +250,8 @@
Site.showProgressProcessing();
snServiceProvider.get().deleteMember(session.getUserHash(),
session.getCurrentState().getStateToken(), group.getShortName(),
- new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ public void onSuccess(final SocialNetworkDataDTO result) {
Site.hideProgress();
Site.info(i18n.t("Member removed"));
stateManager.reload();
@@ -273,8 +273,8 @@
Site.showProgressProcessing();
snServiceProvider.get().setCollabAsAdmin(session.getUserHash(),
session.getCurrentState().getStateToken(), group.getShortName(),
- new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ public void onSuccess(final SocialNetworkDataDTO result) {
Site.hideProgress();
Site.info(i18n.t("Type of member changed"));
stateManager.setSocialNetwork(result);
@@ -288,8 +288,8 @@
Site.showProgressProcessing();
snServiceProvider.get().acceptJoinGroup(session.getUserHash(),
session.getCurrentState().getStateToken(), group.getShortName(),
- new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ public void onSuccess(final SocialNetworkDataDTO result) {
Site.hideProgress();
Site.info(i18n.t("Member accepted"));
stateManager.setSocialNetwork(result);
@@ -303,8 +303,8 @@
Site.showProgressProcessing();
snServiceProvider.get().denyJoinGroup(session.getUserHash(),
session.getCurrentState().getStateToken(), group.getShortName(),
- new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ public void onSuccess(final SocialNetworkDataDTO result) {
Site.hideProgress();
Site.info(i18n.t("Member rejected"));
stateManager.setSocialNetwork(result);
@@ -325,8 +325,8 @@
private void removeMemberAction(final GroupDTO groupDTO) {
Site.showProgressProcessing();
snServiceProvider.get().unJoinGroup(session.getUserHash(), new StateToken(groupDTO.getShortName()),
- new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
+ new AsyncCallbackSimple<SocialNetworkDataDTO>() {
+ public void onSuccess(final SocialNetworkDataDTO result) {
Site.hideProgress();
Site.info(i18n.t("Removed as member"));
stateManager.reload();
Modified: trunk/src/main/resources/dozerBeanMapping.xml
===================================================================
--- trunk/src/main/resources/dozerBeanMapping.xml 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/main/resources/dozerBeanMapping.xml 2008-11-22 16:44:37 UTC (rev 962)
@@ -500,4 +500,13 @@
org.ourproject.kune.platf.server.sn.UserBuddiesData
</class-b>
</mapping>
+
+ <mapping>
+ <class-a>
+ org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO
+ </class-a>
+ <class-b>
+ org.ourproject.kune.platf.server.domain.SocialNetworkData
+ </class-b>
+ </mapping>
</mappings>
\ No newline at end of file
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkServiceTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkServiceTest.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/socialnet/SocialNetworkServiceTest.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -4,7 +4,7 @@
import org.junit.Before;
import org.junit.Test;
-import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.errors.AlreadyUserMemberException;
import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException;
@@ -31,13 +31,13 @@
@Test
public void testGetGroupMembersNotLogged() throws Exception {
- final SocialNetworkResultDTO sn = socialNetworkService.getSocialNetwork(null, groupToken);
+ final SocialNetworkDataDTO sn = socialNetworkService.getSocialNetwork(null, groupToken);
assertNotNull(sn.getGroupMembers());
}
@Test
public void testGetParticipationNotLogged() throws Exception {
- final SocialNetworkResultDTO sn = socialNetworkService.getSocialNetwork(null, groupToken);
+ final SocialNetworkDataDTO sn = socialNetworkService.getSocialNetwork(null, groupToken);
assertNotNull(sn.getUserParticipation());
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java 2008-11-22 04:29:34 UTC (rev 961)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java 2008-11-22 16:44:37 UTC (rev 962)
@@ -18,8 +18,11 @@
import org.ourproject.kune.platf.client.dto.GroupListDTO;
import org.ourproject.kune.platf.client.dto.LicenseDTO;
import org.ourproject.kune.platf.client.dto.LinkDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDataDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO;
import org.ourproject.kune.platf.server.TestDomainHelper;
import org.ourproject.kune.platf.server.TestHelper;
import org.ourproject.kune.platf.server.access.AccessRights;
@@ -32,8 +35,14 @@
import org.ourproject.kune.platf.server.domain.GroupListMode;
import org.ourproject.kune.platf.server.domain.License;
import org.ourproject.kune.platf.server.domain.Revision;
+import org.ourproject.kune.platf.server.domain.SocialNetwork;
+import org.ourproject.kune.platf.server.domain.SocialNetworkData;
+import org.ourproject.kune.platf.server.domain.SocialNetworkVisibility;
import org.ourproject.kune.platf.server.domain.User;
+import org.ourproject.kune.platf.server.domain.UserBuddiesVisibility;
import org.ourproject.kune.platf.server.manager.GroupManager;
+import org.ourproject.kune.platf.server.sn.ParticipationData;
+import org.ourproject.kune.platf.server.sn.UserBuddiesData;
import org.ourproject.kune.platf.server.state.StateContent;
import com.google.inject.Inject;
@@ -230,6 +239,36 @@
}
@Test
+ public void testSnResultMap() {
+ Group group = new Group("test", "this is a test");
+ SocialNetwork sn = new SocialNetwork();
+ sn.addAdmin(group);
+ ParticipationData part = new ParticipationData();
+ part.setGroupsIsAdmin(sn.getAccessLists().getAdmins().getList());
+ UserBuddiesData budData = new UserBuddiesData();
+ ArrayList<User> buddies = new ArrayList<User>();
+ final User user = new User();
+ user.setShortName("usertest");
+ user.setUserGroup(new Group("test2", "this is test2"));
+ buddies.add(user);
+ budData.setBuddies(buddies);
+ SocialNetworkData snResult = new SocialNetworkData(SocialNetworkVisibility.onlymembers, sn, part,
+ UserBuddiesVisibility.onlyyou, budData, new AccessRights(false, false, true), true, true);
+ SocialNetworkDataDTO map = mapper.map(snResult, SocialNetworkDataDTO.class);
+ assertNotNull(map);
+ assertEquals(SocialNetworkVisibilityDTO.onlymembers, map.getSocialNetworkVisibility());
+ assertEquals(UserBuddiesVisibilityDTO.onlyyou, map.getUserBuddiesVisibility());
+ assertEquals("test", map.getGroupMembers().getAccessLists().getAdmins().getList().get(0).getShortName());
+ assertEquals("test", map.getUserParticipation().getGroupsIsAdmin().get(0).getShortName());
+ assertEquals("usertest", map.getUserBuddies().getBuddies().get(0).getShortName());
+ assertFalse(map.getGroupRights().isAdministrable());
+ assertFalse(map.getGroupRights().isEditable());
+ assertTrue(map.getGroupRights().isVisible());
+ assertTrue(map.isMembersVisible());
+ assertTrue(map.isBuddiesVisible());
+ }
+
+ @Test
public void testStateTokenInStateMap() {
final StateToken stateToken = new StateToken(TESTGROUPSHORTNAME, TESTTOOL, "1", "2");
final StateToken stateTokenMapped = mapper.map(stateToken, StateToken.class);
1
0
Author: vjrj
Date: 2008-11-22 05:29:34 +0100 (Sat, 22 Nov 2008)
New Revision: 961
Added:
trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkVisibilityDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesVisibilityDTO.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetworkVisibility.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/UserBuddiesVisibility.java
Modified:
trunk/img/icons/person.svg
trunk/pom.xml
trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserSimpleDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractSearcherPanel.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetwork.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java
trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java
trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserService.java
trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserServiceAsync.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/resources/dozerBeanMapping.xml
Log:
Incomplete - task SocialNet visibility
Incomplete - task Use of new ActionDescriptionClass in SocialNetwork
Pagination bug in translator and searcher fixed
Modified: trunk/img/icons/person.svg
===================================================================
--- trunk/img/icons/person.svg 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/img/icons/person.svg 2008-11-22 04:29:34 UTC (rev 961)
@@ -687,5 +687,46 @@
id="path2503"
sodipodi:nodetypes="csssc" />
</g>
+ <g
+ id="g2476"
+ transform="translate(12.331755,43.161141)">
+ <rect
+ transform="scale(-1,-1)"
+ y="-21.428276"
+ x="-645.06616"
+ height="55.132187"
+ width="45.132187"
+ id="rect2474"
+ style="opacity:0.8;fill:#f9f9f9;fill-opacity:1;fill-rule:nonzero;stroke:#e6e6e6;stroke-width:0.86781228;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/persons/person2-32.png"
+ transform="matrix(0.3764923,0,0,0.3764923,460.38508,-48.779868)"
+ id="g2466">
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/group-def-icon.png"
+ sodipodi:type="arc"
+ style="opacity:1;fill:#eeaaff;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:1.63299322;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path2468"
+ sodipodi:cx="-55.5"
+ sodipodi:cy="242.36218"
+ sodipodi:rx="12.5"
+ sodipodi:ry="12"
+ d="M -43,242.36218 A 12.5,12 0 1 1 -68,242.36218 A 12.5,12 0 1 1 -43,242.36218 z"
+ transform="matrix(3.1844753,0,0,3.3202165,608.65933,-692.76155)" />
+ <path
+ id="path2470"
+ d="M 431.92095,72.158845 C 421.73175,72.158845 411.49371,76.003865 403.72508,83.779605 C 388.30176,99.217125 388.19614,124.14781 403.39336,139.72526 C 401.23073,130.24809 403.98472,119.87609 411.35455,112.49948 C 422.75019,101.09333 441.09171,101.09333 452.48735,112.49948 C 459.85713,119.87609 462.61117,130.24809 460.44854,139.72526 C 475.64581,124.14776 475.54025,99.217125 460.11683,83.779605 C 452.34825,76.003865 442.11016,72.158845 431.92095,72.158845 z"
+ style="fill:#dbdee3;fill-opacity:1;fill-rule:nonzero;stroke:#954f2c;stroke-width:5.30990267;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ style="fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:#784421;stroke-width:5.30990171;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 454.05116,106.46307 C 449.38897,113.33396 426.14686,121.7791 418.78848,114.45323 C 411.51844,107.21527 411.5378,95.415805 418.78848,88.158448 C 426.03916,80.901092 437.80837,80.901094 445.05905,88.158453 C 452.30973,95.415815 449.3126,98.760105 454.05116,106.46307 z"
+ id="path2472"
+ sodipodi:nodetypes="csssc" />
+ </g>
+ </g>
</g>
</svg>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/pom.xml 2008-11-22 04:29:34 UTC (rev 961)
@@ -379,8 +379,8 @@
<version>2.0-beta23</version>
<configuration>
<logLevel>INFO</logLevel>
- <style>OBF</style>
- <!-- <style>PRETTY</style> -->
+ <style>PRETTY</style>
+ <!-- <style>OBF</style> -->
<runTarget>
org.ourproject.kune.app.Kune/Kune.html
</runTarget>
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-11-22 04:29:34 UTC (rev 961)
@@ -41,4 +41,4 @@
padding: 1px 0px 1px 1px;
text-decoration:none;
}
-*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{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;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{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;}.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:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}
\ No newline at end of file
+*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{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;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{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;}.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:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-bsp-buddie{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-bsp-buddie td{padding:2px 3px;}
\ No newline at end of file
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 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-11-22 04:29:34 UTC (rev 961)
@@ -784,3 +784,13 @@
margin-left: 6px;
}
+.k-bsp-buddie {
+ background: #FAFAFA none repeat scroll 0% 50%;
+ border: 1px solid #EBEBEB;
+ padding: 3px;
+ margin: 3px;
+}
+
+.k-bsp-buddie td {
+ padding: 2px 3px 2px 3px;
+}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkResultDTO.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -24,10 +24,12 @@
public class SocialNetworkResultDTO implements IsSerializable {
SocialNetworkDTO groupMembers;
+ SocialNetworkVisibilityDTO socialNetworkVisibilityDTO;
ParticipationDataDTO userParticipation;
UserBuddiesDataDTO userBuddies;
+ UserBuddiesVisibilityDTO userBuddiesVisibilityDTO;
AccessRightsDTO groupRights;
@@ -51,10 +53,18 @@
return groupRights;
}
+ public SocialNetworkVisibilityDTO getSocialNetworkVisibilityDTO() {
+ return socialNetworkVisibilityDTO;
+ }
+
public UserBuddiesDataDTO getUserBuddies() {
return userBuddies;
}
+ public UserBuddiesVisibilityDTO getUserBuddiesVisibilityDTO() {
+ return userBuddiesVisibilityDTO;
+ }
+
public ParticipationDataDTO getUserParticipation() {
return userParticipation;
}
@@ -67,10 +77,18 @@
this.groupRights = groupRights;
}
+ public void setSocialNetworkVisibilityDTO(SocialNetworkVisibilityDTO socialNetworkVisibilityDTO) {
+ this.socialNetworkVisibilityDTO = socialNetworkVisibilityDTO;
+ }
+
public void setUserBuddies(UserBuddiesDataDTO userBuddies) {
this.userBuddies = userBuddies;
}
+ public void setUserBuddiesVisibilityDTO(UserBuddiesVisibilityDTO userBuddiesVisibilityDTO) {
+ this.userBuddiesVisibilityDTO = userBuddiesVisibilityDTO;
+ }
+
public void setUserParticipation(final ParticipationDataDTO userParticipation) {
this.userParticipation = userParticipation;
}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkVisibilityDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkVisibilityDTO.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/SocialNetworkVisibilityDTO.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.platf.client.dto;
+
+public enum SocialNetworkVisibilityDTO {
+ anyone, onlymembers, onlyadmins
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesDataDTO.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -35,6 +35,15 @@
otherExternalBuddies = 0;
}
+ public boolean contains(String shortName) {
+ for (UserSimpleDTO buddie : buddies) {
+ if (buddie.getShortName().equals(shortName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public List<UserSimpleDTO> getBuddies() {
return buddies;
}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesVisibilityDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesVisibilityDTO.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserBuddiesVisibilityDTO.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.platf.client.dto;
+
+public enum UserBuddiesVisibilityDTO {
+ anyone, yourbuddies, onlyyou
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserSimpleDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserSimpleDTO.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserSimpleDTO.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -28,6 +28,8 @@
private I18nLanguageDTO language;
private I18nCountryDTO country;
private TimeZoneDTO timezone;
+ private boolean hasLogo;
+ private StateToken stateToken;
public UserSimpleDTO() {
this(null, null, null, null, null);
@@ -72,6 +74,10 @@
return country;
}
+ public boolean getHasLogo() {
+ return hasLogo;
+ }
+
public Long getId() {
return id;
}
@@ -88,6 +94,10 @@
return shortName;
}
+ public StateToken getStateToken() {
+ return stateToken;
+ }
+
public TimeZoneDTO getTimezone() {
return timezone;
}
@@ -101,10 +111,18 @@
return result;
}
+ public boolean hasLogo() {
+ return hasLogo;
+ }
+
public void setCountry(final I18nCountryDTO country) {
this.country = country;
}
+ public void setHasLogo(boolean hasLogo) {
+ this.hasLogo = hasLogo;
+ }
+
public void setId(final Long id) {
this.id = id;
}
@@ -121,10 +139,15 @@
this.shortName = shortName;
}
+ public void setStateToken(StateToken stateToken) {
+ this.stateToken = stateToken;
+ }
+
public void setTimezone(final TimeZoneDTO timezone) {
this.timezone = timezone;
}
+ @Override
public String toString() {
return "UserSimpleDTO(" + shortName + ")";
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -20,6 +20,7 @@
package org.ourproject.kune.platf.client.rpc;
import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.errors.DefaultException;
@@ -36,4 +37,6 @@
GroupDTO setGroupFullLogo(String userHash, StateToken token);
+ void setSocialNetworkVisibility(String userHash, StateToken groupToken, SocialNetworkVisibilityDTO visibility);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -20,6 +20,7 @@
package org.ourproject.kune.platf.client.rpc;
import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -35,4 +36,7 @@
void setGroupFullLogo(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback);
+ void setSocialNetworkVisibility(String userHash, StateToken token, SocialNetworkVisibilityDTO visibility,
+ AsyncCallback<?> asyncCallback);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -335,9 +335,9 @@
public GroupMembersSummary create() {
final GroupMembersSummaryPresenter presenter = new GroupMembersSummaryPresenter(
$(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class),
- $(Session.class), $$(SocialNetworkServiceAsync.class), $$(GroupLiveSearcher.class),
- $(WsThemePresenter.class), $$(ChatEngine.class), $(GroupActionRegistry.class),
- $(ActionGroupSummaryToolbar.class));
+ $(Session.class), $$(SocialNetworkServiceAsync.class), $$(GroupServiceAsync.class),
+ $$(GroupLiveSearcher.class), $(WsThemePresenter.class), $$(ChatEngine.class),
+ $(GroupActionRegistry.class), $(ActionGroupSummaryToolbar.class));
final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter,
$(I18nUITranslationService.class), $(WorkspaceSkeleton.class), $(
ActionGroupSummaryToolbar.class).getView());
@@ -362,8 +362,9 @@
@Override
public BuddiesSummary create() {
final BuddiesSummaryPresenter presenter = new BuddiesSummaryPresenter($(StateManager.class),
- $(Session.class), $(UserActionRegistry.class), $(I18nTranslationService.class),
- $$(ChatEngine.class), $(ActionBuddiesSummaryToolbar.class));
+ $(Session.class), $$(UserServiceAsync.class), $(UserActionRegistry.class),
+ $(I18nTranslationService.class), $$(ChatEngine.class), $(ActionBuddiesSummaryToolbar.class),
+ $$(FileDownloadUtils.class));
final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter, $(WorkspaceSkeleton.class),
$(I18nTranslationService.class), $(ActionManager.class),
$(ActionBuddiesSummaryToolbar.class).getView());
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractSearcherPanel.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractSearcherPanel.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -64,34 +64,6 @@
grid.setStripeRows(true);
}
- // protected void createPagingToolbar(final Store store, final GridPanel
- // grid) {
- // final PagingToolbar pag = new PagingToolbar(store);
- // pag.setPageSize(PAGINATION_SIZE);
- // pag.setDisplayInfo(true);
- // pag.setDisplayMsg(i18n.tWithNT("Displaying results {0} - {1} of
- // {2}",
- // "Respect {} values in translations, "
- // + "these will produce: 'Displaying results 1 - 25 of 95465' for
- // instance"));
- // pag.setEmptyMsg(i18n.t("No results to display"));
- // pag.setAfterPageText(i18n.tWithNT("of {0}", "Used to show multiple
- // results: '1 of 30'"));
- // pag.setBeforePageText(i18n.t("Page"));
- // pag.setFirstText(i18n.t("First Page"));
- // pag.setLastText(i18n.t("Last Page"));
- // pag.setNextText(i18n.t("Next Page"));
- // pag.setPrevText(i18n.t("Previous Page"));
- // pag.setRefreshText(i18n.t("Refresh"));
- // grid.setBottomToolbar(pag);
- //
- // grid.addListener(new PanelListenerAdapter() {
- // public void onRender(final Component component) {
- // store.load(0, PAGINATION_SIZE);
- // }
- // });
- // }
-
protected Store createStore(final FieldDef[] fieldDefs, final String url, final String id) {
final JsonReader reader = new JsonReader(new RecordDef(fieldDefs));
reader.setRoot("list");
@@ -102,8 +74,7 @@
}
protected void query(final Store store, final GridPanel grid, final String query) {
- final UrlParam[] newParams = new UrlParam[] { new UrlParam("query", query), new UrlParam("start", 0),
- new UrlParam("limit", PAGINATION_SIZE) };
+ final UrlParam[] newParams = new UrlParam[] { new UrlParam("query", query) };
store.setBaseParams(newParams);
store.load(0, PAGINATION_SIZE);
// see bind/unbind in:
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetwork.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetwork.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetwork.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -39,9 +39,12 @@
@OneToOne(cascade = CascadeType.ALL)
GroupList pendingCollaborators;
+ SocialNetworkVisibility visibility;
+
public SocialNetwork() {
accessLists = new AccessLists();
pendingCollaborators = new GroupList();
+ visibility = SocialNetworkVisibility.anyone;
}
public void addAdmin(final Group group) {
@@ -72,6 +75,10 @@
return pendingCollaborators;
}
+ public SocialNetworkVisibility getVisibility() {
+ return visibility;
+ }
+
public boolean isAdmin(final Group group) {
return accessLists.getAdmins().includes(group);
}
@@ -116,6 +123,11 @@
this.pendingCollaborators = pendingCollaborators;
}
+ public void setVisibility(SocialNetworkVisibility visibility) {
+ this.visibility = visibility;
+ }
+
+ @Override
public String toString() {
return "SocialNetwork[accessList: " + accessLists + "; pendingsCollabs: " + pendingCollaborators + "]";
}
Added: trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetworkVisibility.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetworkVisibility.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/SocialNetworkVisibility.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.platf.server.domain;
+
+public enum SocialNetworkVisibility {
+ anyone, onlymembers, onlyadmins
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -30,6 +30,7 @@
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
+import javax.persistence.Transient;
import org.hibernate.search.annotations.DocumentId;
import org.hibernate.search.annotations.Field;
@@ -40,6 +41,7 @@
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;
import org.hibernate.validator.Pattern;
+import org.ourproject.kune.platf.client.dto.StateToken;
import com.google.inject.name.Named;
import com.wideplay.warp.persist.dao.Finder;
@@ -100,6 +102,8 @@
@OneToOne(cascade = CascadeType.ALL)
private final CustomProperties customProperties;
+ private UserBuddiesVisibility buddiesVisibility;
+
public User() {
this(null, null, null, null, null, null, null);
}
@@ -115,6 +119,7 @@
this.country = country;
this.timezone = timezone;
customProperties = new CustomProperties();
+ buddiesVisibility = UserBuddiesVisibility.anyone;
}
@Finder(query = "from User")
@@ -122,6 +127,10 @@
return null;
}
+ public UserBuddiesVisibility getBuddiesVisibility() {
+ return buddiesVisibility;
+ }
+
@Finder(query = "from User where email = :email")
public User getByEmail(@Named("email") final String email) {
return null;
@@ -144,6 +153,10 @@
return email;
}
+ public boolean getHasLogo() {
+ return hasLogo();
+ }
+
public Long getId() {
return id;
}
@@ -164,6 +177,11 @@
return shortName;
}
+ @Transient
+ public StateToken getStateToken() {
+ return userGroup.getStateToken();
+ }
+
public TimeZone getTimezone() {
return timezone;
}
@@ -172,6 +190,15 @@
return userGroup;
}
+ @Transient
+ public boolean hasLogo() {
+ return getUserGroup().hasLogo();
+ }
+
+ public void setBuddiesVisibility(UserBuddiesVisibility buddiesVisibility) {
+ this.buddiesVisibility = buddiesVisibility;
+ }
+
public void setCountry(final I18nCountry country) {
this.country = country;
}
Added: trunk/src/main/java/org/ourproject/kune/platf/server/domain/UserBuddiesVisibility.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/UserBuddiesVisibility.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/UserBuddiesVisibility.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.platf.server.domain;
+
+public enum UserBuddiesVisibility {
+ anyone, yourbuddies, onlyyou
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -20,6 +20,7 @@
package org.ourproject.kune.platf.server.rpc;
import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.errors.DefaultException;
import org.ourproject.kune.platf.client.rpc.GroupService;
@@ -32,6 +33,7 @@
import org.ourproject.kune.platf.server.content.ContentUtils;
import org.ourproject.kune.platf.server.domain.Content;
import org.ourproject.kune.platf.server.domain.Group;
+import org.ourproject.kune.platf.server.domain.SocialNetworkVisibility;
import org.ourproject.kune.platf.server.domain.User;
import org.ourproject.kune.platf.server.manager.GroupManager;
import org.ourproject.kune.platf.server.mapper.Mapper;
@@ -67,7 +69,7 @@
final User user = userSession.getUser();
final Group group = groupManager.findByShortName(groupToken.getGroup());
groupManager.changeWsTheme(user, group, theme);
- }
+ };
@Authenticated
@Transactional(type = TransactionType.READ_WRITE, rollbackOn = DefaultException.class)
@@ -100,6 +102,15 @@
return mapper.map(group, GroupDTO.class);
}
+ @Authenticated(mandatory = true)
+ @Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group)
+ @Transactional(type = TransactionType.READ_WRITE)
+ public void setSocialNetworkVisibility(final String userHash, StateToken token,
+ SocialNetworkVisibilityDTO visibility) {
+ final Group group = groupManager.findByShortName(token.getGroup());
+ group.getSocialNetwork().setVisibility(SocialNetworkVisibility.valueOf(visibility.toString()));
+ }
+
private UserSession getUserSession() {
return userSessionProvider.get();
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/SocialNetworkRPC.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -25,8 +25,10 @@
import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkRequestResult;
import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO;
+import org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO;
import org.ourproject.kune.platf.client.errors.DefaultException;
import org.ourproject.kune.platf.client.rpc.SocialNetworkService;
import org.ourproject.kune.platf.server.UserSession;
@@ -37,7 +39,9 @@
import org.ourproject.kune.platf.server.auth.Authenticated;
import org.ourproject.kune.platf.server.auth.Authorizated;
import org.ourproject.kune.platf.server.domain.Group;
+import org.ourproject.kune.platf.server.domain.SocialNetworkVisibility;
import org.ourproject.kune.platf.server.domain.User;
+import org.ourproject.kune.platf.server.domain.UserBuddiesVisibility;
import org.ourproject.kune.platf.server.manager.GroupManager;
import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
import org.ourproject.kune.platf.server.manager.UserManager;
@@ -210,11 +214,47 @@
private SocialNetworkResultDTO generateResponse(final User userLogged, final Group group) {
AccessRights groupRights = accessRightsService.get(userLogged, group.getSocialNetwork().getAccessLists());
if (group.getGroupType().equals(GroupType.PERSONAL)) {
- return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group),
- getUserBuddies(group), mapper.map(groupRights, AccessRightsDTO.class));
+ UserBuddiesDataDTO userBuddies = getUserBuddies(group);
+ SocialNetworkResultDTO result = new SocialNetworkResultDTO(getGroupMembers(userLogged, group),
+ getParticipation(userLogged, group), userBuddies, mapper.map(groupRights, AccessRightsDTO.class));
+ UserBuddiesVisibility buddiesVisibility = userLogged.getBuddiesVisibility();
+ switch (buddiesVisibility) {
+ case anyone:
+ break;
+ case onlyyou:
+ if (userLogged == null || !userLogged.getUserGroup().equals(group)) {
+ result.setUserBuddies(null);
+ }
+ break;
+ case yourbuddies:
+ if (!userBuddies.contains(userLogged.getShortName())) {
+ result.setUserBuddies(null);
+ }
+ break;
+ }
+ result.setUserBuddiesVisibilityDTO(mapper.map(buddiesVisibility, UserBuddiesVisibilityDTO.class));
+ return result;
} else {
- return new SocialNetworkResultDTO(getGroupMembers(userLogged, group), getParticipation(userLogged, group),
- UserBuddiesDataDTO.NO_BUDDIES, mapper.map(groupRights, AccessRightsDTO.class));
+ SocialNetworkResultDTO result = new SocialNetworkResultDTO(getGroupMembers(userLogged, group),
+ getParticipation(userLogged, group), UserBuddiesDataDTO.NO_BUDDIES, mapper.map(groupRights,
+ AccessRightsDTO.class));
+ SocialNetworkVisibility visibility = group.getSocialNetwork().getVisibility();
+ switch (visibility) {
+ case anyone:
+ break;
+ case onlyadmins:
+ if (!groupRights.isAdministrable()) {
+ result.setGroupMembers(null);
+ }
+ break;
+ case onlymembers:
+ if (!groupRights.isEditable()) {
+ result.setGroupMembers(null);
+ }
+ break;
+ }
+ result.setSocialNetworkVisibilityDTO(mapper.map(visibility, SocialNetworkVisibilityDTO.class));
+ return result;
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -21,14 +21,21 @@
import java.util.UUID;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO;
import org.ourproject.kune.platf.client.dto.UserDTO;
import org.ourproject.kune.platf.client.dto.UserInfoDTO;
+import org.ourproject.kune.platf.client.errors.AccessViolationException;
import org.ourproject.kune.platf.client.errors.DefaultException;
import org.ourproject.kune.platf.client.errors.UserAuthException;
import org.ourproject.kune.platf.server.UserSession;
+import org.ourproject.kune.platf.server.access.AccessRol;
+import org.ourproject.kune.platf.server.auth.ActionLevel;
import org.ourproject.kune.platf.server.auth.Authenticated;
+import org.ourproject.kune.platf.server.auth.Authorizated;
import org.ourproject.kune.platf.server.auth.SessionService;
import org.ourproject.kune.platf.server.domain.User;
+import org.ourproject.kune.platf.server.domain.UserBuddiesVisibility;
import org.ourproject.kune.platf.server.manager.GroupManager;
import org.ourproject.kune.platf.server.manager.UserManager;
import org.ourproject.kune.platf.server.mapper.Mapper;
@@ -102,6 +109,18 @@
final UserSession userSession = getUserSession();
final User user = userSession.getUser();
return loadUserInfo(user);
+ }
+
+ @Authenticated(mandatory = true)
+ @Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group)
+ @Transactional(type = TransactionType.READ_WRITE)
+ public void setBuddiesVisibility(final String userHash, StateToken groupToken, UserBuddiesVisibilityDTO visibility) {
+ final UserSession userSession = getUserSession();
+ final User user = userSession.getUser();
+ if (groupToken.getGroup() != user.getShortName()) {
+ new AccessViolationException();
+ }
+ user.setBuddiesVisibility(UserBuddiesVisibility.valueOf(visibility.toString()));
};
private UserSession getUserSession() {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -194,7 +194,6 @@
public void setChangeYourLogoText() {
getEntityTextLogo().setChangeYourLogo();
-
}
public void setFullLogo(final StateToken stateToken, final boolean clipped) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -246,30 +246,7 @@
180, store, columnModel);
createPagingToolbar(store, grid);
- // final PagingToolbar pag = new PagingToolbar(store);
- // pag.setPageSize(PAGINATION_SIZE);
- // pag.setDisplayInfo(true);
- // pag.setDisplayMsg(i18n.tWithNT("Displaying results {0} - {1} of
- // {2}",
- // "Respect {} values in translations, "
- // + "these will produce: 'Displaying results 1 - 25 of 95465' for
- // instance"));
- // pag.setEmptyMsg(i18n.t("No results to display"));
- // pag.setAfterPageText(i18n.tWithNT("of {0}", "Used to show
- // multiple results: '1 of 30'"));
- // pag.setBeforePageText(i18n.t("Page"));
- // pag.setFirstText(i18n.t("First Page"));
- // pag.setLastText(i18n.t("Last Page"));
- // pag.setNextText(i18n.t("Next Page"));
- // pag.setPrevText(i18n.t("Previous Page"));
- // pag.setRefreshText(i18n.t("Refresh"));
- // grid.setBottomToolbar(pag);
- // grid.setLoadMask(true);
- // grid.setLoadMask(i18n.t("Loading"));
grid.setClicksToEdit(1);
- // grid.setStripeRows(true);
- // grid.setFrame(true);
- // grid.setSelectionModel(new RowSelectionModel());
grid.addEditorGridListener(new EditorGridListenerAdapter() {
@Override
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserService.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserService.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserService.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -19,6 +19,8 @@
*/
package org.ourproject.kune.workspace.client.site.rpc;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO;
import org.ourproject.kune.platf.client.dto.UserDTO;
import org.ourproject.kune.platf.client.dto.UserInfoDTO;
import org.ourproject.kune.platf.client.errors.DefaultException;
@@ -36,4 +38,7 @@
void onlyCheckSession(String userHash) throws DefaultException;
UserInfoDTO reloadUserInfo(String userHash) throws DefaultException;
+
+ void setBuddiesVisibility(String userHash, StateToken groupToken, UserBuddiesVisibilityDTO visibility);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserServiceAsync.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserServiceAsync.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/site/rpc/UserServiceAsync.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -19,6 +19,8 @@
*/
package org.ourproject.kune.workspace.client.site.rpc;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO;
import org.ourproject.kune.platf.client.dto.UserDTO;
import org.ourproject.kune.platf.client.dto.UserInfoDTO;
@@ -28,12 +30,15 @@
void createUser(UserDTO user, boolean wantPersonalHomepage, AsyncCallback<UserInfoDTO> asyncCallback);
- void login(String nickOrEmail, String passwd, AsyncCallback<UserInfoDTO> callback);
+ void login(String nickOrEmail, String passwd, AsyncCallback<UserInfoDTO> asyncCallback);
- void logout(String userHash, AsyncCallback<?> callback);
+ void logout(String userHash, AsyncCallback<?> asyncCallback);
void onlyCheckSession(String userHash, AsyncCallback<?> asyncCallback);
void reloadUserInfo(String userHash, AsyncCallback<UserInfoDTO> asyncCallback);
+ void setBuddiesVisibility(String userHash, StateToken groupToken, UserBuddiesVisibilityDTO visibility,
+ AsyncCallback<?> asyncCallback);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -27,6 +27,7 @@
import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarView;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.SummaryPanel;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -44,27 +45,35 @@
public class BuddiesSummaryPanel extends SummaryPanel implements BuddiesSummaryView {
public class BuddieWidget extends Composite {
- private final Image icon;
+ private final Image avatar;
private final Label nick;
- public BuddieWidget(String nickName, ClickListener clickListener) {
+ public BuddieWidget(String nickName, String avatarUrl, ClickListener clickListener) {
// For Drag& drop, see gwt-ext-ux image:
// http://www.gwt-ext.com:8080/demo-ux/#imageDDSample
VerticalPanel vp = new VerticalPanel();
- icon = new Image("images/persons/person2-32.png");
+ avatar = new Image();
+ if (avatarUrl.equals(NOAVATAR)) {
+ Images.App.getInstance().personAvatarDef().applyTo(avatar);
+ } else {
+ avatar.setUrl(avatarUrl);
+ }
+ avatar.setPixelSize(AVATARSIZE, AVATARSIZE);
nick = new Label(nickName);
- vp.add(icon);
+ vp.add(avatar);
vp.add(nick);
+ vp.addStyleName("k-bsp-buddie");
vp.addStyleName("kune-Margin-Small-trbl");
vp.addStyleName("kune-pointer");
vp.addStyleName("kune-floatleft");
nick.addClickListener(clickListener);
- icon.addClickListener(clickListener);
+ vp.setCellHorizontalAlignment(nick, VerticalPanel.ALIGN_CENTER);
+ avatar.addClickListener(clickListener);
initWidget(vp);
}
- public void setIcon(String url) {
- icon.setUrl(url);
+ public void setAvatarUrl(String url) {
+ avatar.setUrl(url);
}
public void setNick(String nickName) {
@@ -97,7 +106,8 @@
addInSummary();
}
- public void addBuddie(final UserSimpleDTO user, ActionItemCollection<UserSimpleDTO> actionCollection) {
+ public void addBuddie(final UserSimpleDTO user, ActionItemCollection<UserSimpleDTO> actionCollection,
+ String avatarUrl) {
ClickListener listener = new ClickListener() {
public void onClick(Widget sender) {
Menu menu = menuItemsContainer.get(user.getShortName());
@@ -112,7 +122,8 @@
doAction(actionItem);
}
});
- flowPanel.add(new BuddieWidget(user.getShortName(), listener));
+
+ flowPanel.add(new BuddieWidget(user.getShortName(), avatarUrl, listener));
}
@Override
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -34,11 +34,15 @@
import org.ourproject.kune.platf.client.dto.GroupType;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.UserBuddiesDataDTO;
+import org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.site.rpc.UserServiceAsync;
import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
@@ -52,16 +56,21 @@
private final Provider<ChatEngine> chatEngineProvider;
private final Session session;
private final ActionBuddiesSummaryToolbar toolbar;
+ private final Provider<UserServiceAsync> userServiceAsync;
+ private final Provider<FileDownloadUtils> fileDownUtilsProvider;
- public BuddiesSummaryPresenter(StateManager stateManager, final Session session, UserActionRegistry actionRegistry,
+ public BuddiesSummaryPresenter(StateManager stateManager, final Session session,
+ Provider<UserServiceAsync> userServiceAsync, UserActionRegistry actionRegistry,
I18nTranslationService i18n, final Provider<ChatEngine> chatEngineProvider,
- final ActionBuddiesSummaryToolbar toolbar) {
+ final ActionBuddiesSummaryToolbar toolbar, Provider<FileDownloadUtils> fileDownUtilsProvider) {
this.stateManager = stateManager;
this.session = session;
+ this.userServiceAsync = userServiceAsync;
this.actionRegistry = actionRegistry;
this.i18n = i18n;
this.chatEngineProvider = chatEngineProvider;
this.toolbar = toolbar;
+ this.fileDownUtilsProvider = fileDownUtilsProvider;
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
public void onEvent(StateAbstractDTO state) {
setState(state);
@@ -90,8 +99,10 @@
if (userBuddies != UserBuddiesDataDTO.NO_BUDDIES) {
List<UserSimpleDTO> buddies = userBuddies.getBuddies();
for (UserSimpleDTO user : buddies) {
+ String avatarUrl = user.hasLogo() ? fileDownUtilsProvider.get().getLogoImageUrl(
+ user.getStateToken()) : BuddiesSummaryView.NOAVATAR;
view.addBuddie(user, actionRegistry.getCurrentActions(user, session.isLogged(),
- new AccessRightsDTO(true, true, true), false));
+ new AccessRightsDTO(true, true, true), false), avatarUrl);
}
boolean hasLocalBuddies = buddies.size() > 0;
int numExtBuddies = userBuddies.getOtherExternalBuddies();
@@ -124,11 +135,17 @@
}
}
- private void createShowAction(String textDescription) {
+ private void createSetBuddiesVisibilityAction(String textDescription, final UserBuddiesVisibilityDTO visibility) {
ActionToolbarMenuDescriptor<UserSimpleDTO> showBuddies = new ActionToolbarMenuDescriptor<UserSimpleDTO>(
AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<UserSimpleDTO>() {
public void onEvent(UserSimpleDTO parameter) {
- Site.info("In development");
+ userServiceAsync.get().setBuddiesVisibility(session.getUserHash(),
+ session.getCurrentState().getGroup().getStateToken(), visibility,
+ new AsyncCallbackSimple<Object>() {
+ public void onSuccess(Object result) {
+ Site.info(i18n.t("Buddies visibility changed"));
+ }
+ });
}
});
showBuddies.setTextDescription(textDescription);
@@ -165,9 +182,9 @@
go.setIconUrl("images/group-home.gif");
actionRegistry.addAction(go);
- createShowAction(i18n.t("anyone"));
- createShowAction(i18n.t("only your buddies"));
- createShowAction(i18n.t("only you"));
+ createSetBuddiesVisibilityAction(i18n.t("anyone"), UserBuddiesVisibilityDTO.anyone);
+ createSetBuddiesVisibilityAction(i18n.t("only your buddies"), UserBuddiesVisibilityDTO.yourbuddies);
+ createSetBuddiesVisibilityAction(i18n.t("only you"), UserBuddiesVisibilityDTO.onlyyou);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryView.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -24,8 +24,11 @@
public interface BuddiesSummaryView extends View {
- void addBuddie(UserSimpleDTO user, ActionItemCollection<UserSimpleDTO> actionCollection);
+ String NOAVATAR = "";
+ int AVATARSIZE = 32;
+ void addBuddie(UserSimpleDTO user, ActionItemCollection<UserSimpleDTO> actionCollection, String avatarUrl);
+
void clear();
void clearOtherUsers();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-22 04:29:34 UTC (rev 961)
@@ -34,9 +34,11 @@
import org.ourproject.kune.platf.client.dto.LinkDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
+import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
import org.ourproject.kune.platf.client.rpc.SocialNetworkServiceAsync;
import org.ourproject.kune.platf.client.services.ImageDescriptor;
import org.ourproject.kune.platf.client.services.ImageUtils;
@@ -67,10 +69,12 @@
private final StateManager stateManager;
private final GroupActionRegistry groupActionRegistry;
private final Provider<GroupLiveSearcher> liveSearcherProvider;
+ private final Provider<GroupServiceAsync> groupServiceProvider;
public GroupMembersSummaryPresenter(final I18nUITranslationService i18n, final StateManager stateManager,
final ImageUtils imageUtils, final Session session,
final Provider<SocialNetworkServiceAsync> snServiceProvider,
+ final Provider<GroupServiceAsync> groupServiceProvider,
final Provider<GroupLiveSearcher> liveSearcherProvider, final WsThemePresenter wsThemePresenter,
final Provider<ChatEngine> chatEngineProvider, final GroupActionRegistry groupActionRegistry,
final ActionGroupSummaryToolbar toolbar) {
@@ -79,6 +83,7 @@
this.stateManager = stateManager;
this.session = session;
this.snServiceProvider = snServiceProvider;
+ this.groupServiceProvider = groupServiceProvider;
this.liveSearcherProvider = liveSearcherProvider;
this.groupActionRegistry = groupActionRegistry;
final Listener<StateAbstractDTO> setStateListener = new Listener<StateAbstractDTO>() {
@@ -165,16 +170,22 @@
groupActionRegistry.addAction(unJoin);
groupActionRegistry.addAction(participate);
- createShowAction(i18n.t("anyone"));
- createShowAction(i18n.t("only members"));
- createShowAction(i18n.t("only admins"));
+ createSetMembersVisibilityAction(i18n.t("anyone"), SocialNetworkVisibilityDTO.anyone);
+ createSetMembersVisibilityAction(i18n.t("only members"), SocialNetworkVisibilityDTO.onlymembers);
+ createSetMembersVisibilityAction(i18n.t("only admins"), SocialNetworkVisibilityDTO.onlyadmins);
}
- private void createShowAction(String textDescription) {
+ private void createSetMembersVisibilityAction(String textDescription, final SocialNetworkVisibilityDTO visibility) {
ActionToolbarMenuDescriptor<StateToken> showMembers = new ActionToolbarMenuDescriptor<StateToken>(
AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
public void onEvent(StateToken parameter) {
- Site.info("In development");
+ groupServiceProvider.get().setSocialNetworkVisibility(session.getUserHash(),
+ session.getCurrentState().getGroup().getStateToken(), visibility,
+ new AsyncCallbackSimple<Object>() {
+ public void onSuccess(Object result) {
+ Site.info(i18n.t("Members visibility changed"));
+ }
+ });
}
});
showMembers.setTextDescription(textDescription);
Modified: trunk/src/main/resources/dozerBeanMapping.xml
===================================================================
--- trunk/src/main/resources/dozerBeanMapping.xml 2008-11-21 23:14:32 UTC (rev 960)
+++ trunk/src/main/resources/dozerBeanMapping.xml 2008-11-22 04:29:34 UTC (rev 961)
@@ -334,10 +334,16 @@
</mapping>
<mapping>
- <class-a>
- org.ourproject.kune.platf.client.dto.UserSimpleDTO
- </class-a>
- <class-b>org.ourproject.kune.platf.server.domain.User</class-b>
+ <class-a>org.ourproject.kune.platf.server.domain.User</class-a>
+ <class-b>org.ourproject.kune.platf.client.dto.UserSimpleDTO</class-b>
+ <field type="one-way">
+ <a>hasLogo</a>
+ <b>hasLogo</b>
+ </field>
+ <field>
+ <a get-method="getStateToken">stateToken</a>
+ <b>stateToken</b>
+ </field>
</mapping>
<mapping>
@@ -443,6 +449,24 @@
<mapping>
<class-a>
+ org.ourproject.kune.platf.client.dto.SocialNetworkVisibilityDTO
+ </class-a>
+ <class-b>
+ org.ourproject.kune.platf.server.domain.SocialNetworkVisibility
+ </class-b>
+ </mapping>
+
+ <mapping>
+ <class-a>
+ org.ourproject.kune.platf.client.dto.UserBuddiesVisibilityDTO
+ </class-a>
+ <class-b>
+ org.ourproject.kune.platf.server.domain.UserBuddiesVisibility
+ </class-b>
+ </mapping>
+
+ <mapping>
+ <class-a>
org.ourproject.kune.platf.client.dto.ContentStatusDTO
</class-a>
<class-b>
1
0
Author: vjrj
Date: 2008-11-22 00:14:32 +0100 (Sat, 22 Nov 2008)
New Revision: 960
Added:
trunk/src/main/java/org/ourproject/kune/platf/client/utils/DeferredCommandWrapper.java
Modified:
trunk/pom.xml
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserInfoDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfo.java
trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java
trunk/src/main/resources/dozerBeanMapping.xml
trunk/src/test/java/org/ourproject/kune/platf/server/TestHelper.java
trunk/src/test/java/org/ourproject/kune/workspace/client/editor/TextEditorPresenterTest.java
Log:
Incomplete - task Use of new ActionDescriptionClass in SocialNetwork
And some test fixed
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/pom.xml 2008-11-21 23:14:32 UTC (rev 960)
@@ -379,8 +379,8 @@
<version>2.0-beta23</version>
<configuration>
<logLevel>INFO</logLevel>
- <style>PRETTY</style>
- <!-- <style>OBF</style> -->
+ <style>OBF</style>
+ <!-- <style>PRETTY</style> -->
<runTarget>
org.ourproject.kune.app.Kune/Kune.html
</runTarget>
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -1,7 +1,7 @@
package org.ourproject.kune.platf.client.actions.toolbar;
-import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
-public interface ActionBuddiesSummaryToolbar extends ActionToolbar<StateToken> {
+public interface ActionBuddiesSummaryToolbar extends ActionToolbar<UserSimpleDTO> {
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -1,11 +1,11 @@
package org.ourproject.kune.platf.client.actions.toolbar;
-import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
-public class ActionBuddiesSummaryToolbarPresenter extends ActionToolbarPresenter<StateToken> implements
+public class ActionBuddiesSummaryToolbarPresenter extends ActionToolbarPresenter<UserSimpleDTO> implements
ActionBuddiesSummaryToolbar {
- public ActionBuddiesSummaryToolbarPresenter(ActionToolbarView<StateToken> toolbar) {
+ public ActionBuddiesSummaryToolbarPresenter(ActionToolbarView<UserSimpleDTO> toolbar) {
super(toolbar);
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserInfoDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserInfoDTO.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserInfoDTO.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -24,14 +24,11 @@
import com.google.gwt.user.client.rpc.IsSerializable;
public class UserInfoDTO implements IsSerializable {
- private String shortName;
- private String name;
+ private UserSimpleDTO user;
private String chatName;
private String chatPassword;
private String homePage;
private String userHash;
- private I18nLanguageDTO language;
- private I18nCountryDTO country;
private List<GroupDTO> groupsIsAdmin;
private List<GroupDTO> groupsIsCollab;
@@ -44,7 +41,7 @@
}
public I18nCountryDTO getCountry() {
- return country;
+ return user.getCountry();
}
public List<GroupDTO> getGroupsIsAdmin() {
@@ -60,17 +57,21 @@
}
public I18nLanguageDTO getLanguage() {
- return language;
+ return user.getLanguage();
}
public String getName() {
- return name;
+ return user.getName();
}
public String getShortName() {
- return shortName;
+ return user.getShortName();
}
+ public UserSimpleDTO getUser() {
+ return user;
+ }
+
public String getUserHash() {
return userHash;
}
@@ -84,10 +85,6 @@
}
- public void setCountry(final I18nCountryDTO country) {
- this.country = country;
- }
-
public void setGroupsIsAdmin(final List<GroupDTO> groupsIsAdmin) {
this.groupsIsAdmin = groupsIsAdmin;
}
@@ -100,18 +97,10 @@
this.homePage = homePage;
}
- public void setLanguage(final I18nLanguageDTO language) {
- this.language = language;
+ public void setUser(UserSimpleDTO user) {
+ this.user = user;
}
- public void setName(final String name) {
- this.name = name;
- }
-
- public void setShortName(final String shortName) {
- this.shortName = shortName;
- }
-
public void setUserHash(final String userHash) {
this.userHash = userHash;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -45,6 +45,7 @@
import org.ourproject.kune.platf.client.app.HistoryWrapperDefault;
import org.ourproject.kune.platf.client.app.ToolGroup;
import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
import org.ourproject.kune.platf.client.rpc.ContentService;
@@ -66,6 +67,7 @@
import org.ourproject.kune.platf.client.ui.QuickTipsHelper;
import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalette;
+import org.ourproject.kune.platf.client.utils.DeferredCommandWrapper;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPanel;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigatorPresenter;
@@ -361,6 +363,13 @@
}
});
+ register(Singleton.class, new Factory<DeferredCommandWrapper>(DeferredCommandWrapper.class) {
+ @Override
+ public DeferredCommandWrapper create() {
+ return new DeferredCommandWrapper();
+ }
+ });
+
register(Singleton.class, new Factory<TextEditor>(TextEditor.class) {
@Override
public TextEditor create() {
@@ -370,7 +379,8 @@
contentNavigatorToolbar);
final TextEditorPresenter presenter = new TextEditorPresenter(true, toolbar,
- $(I18nUITranslationService.class), $(StateManager.class), $(SiteSignOutLink.class));
+ $(I18nUITranslationService.class), $(StateManager.class), $(SiteSignOutLink.class),
+ $(DeferredCommandWrapper.class));
final TextEditorPanel panel = new TextEditorPanel(presenter, $(I18nTranslationService.class),
$(WorkspaceSkeleton.class), $(ColorWebSafePalette.class));
presenter.init(panel);
@@ -463,7 +473,7 @@
}, new Factory<ActionBuddiesSummaryToolbar>(ActionBuddiesSummaryToolbar.class) {
@Override
public ActionBuddiesSummaryToolbar create() {
- final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(
+ final ActionToolbarPanel<UserSimpleDTO> panel = new ActionToolbarPanel<UserSimpleDTO>(
$$(ActionManager.class), $(WorkspaceSkeleton.class));
final ActionBuddiesSummaryToolbarPresenter toolbar = new ActionBuddiesSummaryToolbarPresenter(panel);
return toolbar;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -363,9 +363,10 @@
public BuddiesSummary create() {
final BuddiesSummaryPresenter presenter = new BuddiesSummaryPresenter($(StateManager.class),
$(Session.class), $(UserActionRegistry.class), $(I18nTranslationService.class),
- $$(ChatEngine.class));
+ $$(ChatEngine.class), $(ActionBuddiesSummaryToolbar.class));
final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter, $(WorkspaceSkeleton.class),
- $(I18nTranslationService.class), $(ActionManager.class), $(ActionBuddiesSummaryToolbar.class));
+ $(I18nTranslationService.class), $(ActionManager.class),
+ $(ActionBuddiesSummaryToolbar.class).getView());
presenter.init(panel);
return presenter;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -49,6 +49,7 @@
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.dto.UserInfoDTO;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
import com.calclab.suco.client.listener.Listener;
@@ -77,6 +78,8 @@
StateToken getCurrentStateToken();
+ UserSimpleDTO getCurrentUser();
+
UserInfoDTO getCurrentUserInfo();
String getGalleryPermittedExtensions();
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -31,6 +31,7 @@
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.dto.UserInfoDTO;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
import org.ourproject.kune.workspace.client.site.rpc.UserServiceAsync;
@@ -100,6 +101,10 @@
return currentState == null ? null : currentState.getStateToken();
}
+ public UserSimpleDTO getCurrentUser() {
+ return currentUserInfo == null ? null : currentUserInfo.getUser();
+ }
+
public UserInfoDTO getCurrentUserInfo() {
return currentUserInfo;
}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/utils/DeferredCommandWrapper.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/utils/DeferredCommandWrapper.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/utils/DeferredCommandWrapper.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -0,0 +1,26 @@
+package org.ourproject.kune.platf.client.utils;
+
+import com.calclab.suco.client.listener.Listener0;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
+
+/**
+ * The Class DeferredCommandWrapper is a wrapper of the GWT DeferredCommand
+ * (used for testing classes without GWT dependencies).
+ */
+public class DeferredCommandWrapper {
+
+ /**
+ * Adds the command.
+ *
+ * @param command
+ * the listener
+ */
+ public void addCommand(final Listener0 command) {
+ DeferredCommand.addCommand(new Command() {
+ public void execute() {
+ command.onEvent();
+ }
+ });
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfo.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfo.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfo.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -24,18 +24,16 @@
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.I18nCountry;
import org.ourproject.kune.platf.server.domain.I18nLanguage;
+import org.ourproject.kune.platf.server.domain.User;
public class UserInfo {
- private String shortName;
- private String name;
+ private User user;
private String chatName;
private String chatPassword;
private String homePage;
private List<Group> groupsIsAdmin;
private List<Group> groupsIsCollab;
private String userHash;
- private I18nLanguage language;
- private I18nCountry country;
public String getChatName() {
return chatName;
@@ -46,7 +44,7 @@
}
public I18nCountry getCountry() {
- return country;
+ return user.getCountry();
}
public List<Group> getGroupsIsAdmin() {
@@ -62,17 +60,21 @@
}
public I18nLanguage getLanguage() {
- return language;
+ return user.getLanguage();
}
public String getName() {
- return name;
+ return user.getName();
}
public String getShortName() {
- return shortName;
+ return user.getShortName();
}
+ public User getUser() {
+ return user;
+ }
+
public String getUserHash() {
return userHash;
}
@@ -85,10 +87,6 @@
this.chatPassword = chatPassword;
}
- public void setCountry(final I18nCountry country) {
- this.country = country;
- }
-
public void setGroupsIsAdmin(final List<Group> groupsIsAdmin) {
this.groupsIsAdmin = groupsIsAdmin;
}
@@ -101,18 +99,10 @@
this.homePage = homePage;
}
- public void setLanguage(final I18nLanguage language) {
- this.language = language;
+ public void setUser(User user) {
+ this.user = user;
}
- public void setName(final String name) {
- this.name = name;
- }
-
- public void setShortName(final String shortName) {
- this.shortName = shortName;
- }
-
public void setUserHash(final String userHash) {
this.userHash = userHash;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -22,7 +22,6 @@
import org.ourproject.kune.platf.client.errors.DefaultException;
import org.ourproject.kune.platf.server.domain.Content;
import org.ourproject.kune.platf.server.domain.Group;
-import org.ourproject.kune.platf.server.domain.I18nLanguage;
import org.ourproject.kune.platf.server.domain.User;
import org.ourproject.kune.platf.server.manager.SocialNetworkManager;
import org.ourproject.kune.platf.server.sn.ParticipationData;
@@ -45,13 +44,9 @@
if (User.isKnownUser(user)) {
info = new UserInfo();
- info.setShortName(user.getShortName());
- info.setName(user.getName());
+ info.setUser(user);
info.setChatName(user.getShortName());
info.setChatPassword(user.getPassword());
- final I18nLanguage language = user.getLanguage();
- info.setLanguage(language);
- info.setCountry(user.getCountry());
info.setUserHash(userHash);
final Group userGroup = user.getUserGroup();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPresenter.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -29,13 +29,12 @@
import org.ourproject.kune.platf.client.dto.AccessRolDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.platf.client.utils.DeferredCommandWrapper;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLink;
import com.calclab.suco.client.listener.Listener;
import com.calclab.suco.client.listener.Listener0;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DeferredCommand;
public class TextEditorPresenter implements TextEditor {
public static final int AUTOSAVE_AFTER_FAILS_IN_MILLISECONS = 20000;
@@ -56,14 +55,17 @@
private final BeforeActionListener beforeStateChangeListener;
private final StateManager stateManager;
private final SiteSignOutLink siteSignOutLink;
+ private final DeferredCommandWrapper deferredCommandWrapper;
public TextEditorPresenter(final boolean isAutoSave, final ActionToolbar<StateToken> toolbar,
- final I18nUITranslationService i18n, StateManager stateManager, SiteSignOutLink siteSignOutLink) {
+ final I18nUITranslationService i18n, StateManager stateManager, SiteSignOutLink siteSignOutLink,
+ DeferredCommandWrapper deferredCommandWrapper) {
this.toolbar = toolbar;
autoSave = isAutoSave;
this.i18n = i18n;
this.stateManager = stateManager;
this.siteSignOutLink = siteSignOutLink;
+ this.deferredCommandWrapper = deferredCommandWrapper;
savePending = false;
editingHtml = false;
saveAndCloseConfirmed = false;
@@ -181,8 +183,8 @@
onCancel();
return false;
} else {
- DeferredCommand.addCommand(new Command() {
- public void execute() {
+ deferredCommandWrapper.addCommand(new Listener0() {
+ public void onEvent() {
onCancelConfirmed();
}
});
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -72,6 +72,12 @@
childPanel.clear();
}
+ public void setCleanStyle() {
+ setStyleName("x-toolbar");
+ addStyleName("x-panel");
+ addStyleName("k-blank-toolbar");
+ }
+
public void setHeight(int height) {
mainPanel.setHeight("" + height);
mainPanel.setCellHeight(childPanel, "" + height);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -21,10 +21,13 @@
import org.ourproject.kune.platf.client.actions.ActionItem;
import org.ourproject.kune.platf.client.actions.ActionItemCollection;
import org.ourproject.kune.platf.client.actions.ActionManager;
+import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
import org.ourproject.kune.platf.client.actions.MenuItemsContainer;
-import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbar;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarView;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.SummaryPanel;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -73,10 +76,10 @@
private final Label otherBuddiesLabel;
private final I18nTranslationService i18n;
private final ActionManager actionManager;
+ private final SimpleToolbar toolbar;
public BuddiesSummaryPanel(final BuddiesSummaryPresenter presenter, final WorkspaceSkeleton ws,
- I18nTranslationService i18n, ActionManager actionManager,
- ActionBuddiesSummaryToolbar actionBuddiesSummaryToolbar) {
+ I18nTranslationService i18n, ActionManager actionManager, ActionToolbarView<UserSimpleDTO> actionToolbarView) {
super(i18n.t("Buddies"), i18n.t("Buddies of this user"), ws);
this.actionManager = actionManager;
menuItemsContainer = new MenuItemsContainer<UserSimpleDTO>();
@@ -87,9 +90,11 @@
otherBuddiesLabel.addStyleName("kune-Margin-Small-trbl");
vp.add(flowPanel);
vp.add(otherBuddiesLabel);
+ toolbar = ((ActionToolbarPanel<UserSimpleDTO>) actionToolbarView).getToolbar(ActionToolbarPosition.bottombar);
+ toolbar.setCleanStyle();
+ vp.add(toolbar);
super.add(vp);
addInSummary();
- clear();
}
public void addBuddie(final UserSimpleDTO user, ActionItemCollection<UserSimpleDTO> actionCollection) {
@@ -115,6 +120,7 @@
flowPanel.clear();
clearOtherUsers();
menuItemsContainer.clear();
+ toolbar.removeAll();
super.doLayoutIfNeeded();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -22,11 +22,13 @@
import org.ourproject.kune.chat.client.ChatEngine;
import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.actions.ActionEnableCondition;
+import org.ourproject.kune.platf.client.actions.ActionAddCondition;
import org.ourproject.kune.platf.client.actions.ActionMenuItemDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarButtonAndItemDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
import org.ourproject.kune.platf.client.actions.UserActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbar;
import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
import org.ourproject.kune.platf.client.dto.AccessRolDTO;
import org.ourproject.kune.platf.client.dto.GroupType;
@@ -36,6 +38,7 @@
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.site.Site;
import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
@@ -48,14 +51,17 @@
private final I18nTranslationService i18n;
private final Provider<ChatEngine> chatEngineProvider;
private final Session session;
+ private final ActionBuddiesSummaryToolbar toolbar;
public BuddiesSummaryPresenter(StateManager stateManager, final Session session, UserActionRegistry actionRegistry,
- I18nTranslationService i18n, final Provider<ChatEngine> chatEngineProvider) {
+ I18nTranslationService i18n, final Provider<ChatEngine> chatEngineProvider,
+ final ActionBuddiesSummaryToolbar toolbar) {
this.stateManager = stateManager;
this.session = session;
this.actionRegistry = actionRegistry;
this.i18n = i18n;
this.chatEngineProvider = chatEngineProvider;
+ this.toolbar = toolbar;
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
public void onEvent(StateAbstractDTO state) {
setState(state);
@@ -105,6 +111,10 @@
view.setNoBuddies();
}
}
+ toolbar.disableMenusAndClearButtons();
+ toolbar.setActions(actionRegistry.getCurrentActions(session.getCurrentUser(), session.isLogged(),
+ state.getGroupRights(), true));
+ toolbar.attach();
view.show();
} else {
view.hide();
@@ -114,6 +124,19 @@
}
}
+ private void createShowAction(String textDescription) {
+ ActionToolbarMenuDescriptor<UserSimpleDTO> showBuddies = new ActionToolbarMenuDescriptor<UserSimpleDTO>(
+ AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<UserSimpleDTO>() {
+ public void onEvent(UserSimpleDTO parameter) {
+ Site.info("In development");
+ }
+ });
+ showBuddies.setTextDescription(textDescription);
+ showBuddies.setParentMenuTitle(i18n.t("Options"));
+ showBuddies.setParentSubMenuTitle(i18n.t("Who can view your buddies list"));
+ actionRegistry.addAction(showBuddies);
+ }
+
private void registerActions() {
final ActionToolbarButtonAndItemDescriptor<UserSimpleDTO> addAsBuddie = new ActionToolbarButtonAndItemDescriptor<UserSimpleDTO>(
AccessRolDTO.Viewer, ActionToolbarPosition.bottombar, new Listener<UserSimpleDTO>() {
@@ -124,8 +147,8 @@
addAsBuddie.setMustBeAuthenticated(true);
addAsBuddie.setTextDescription(i18n.t("Add as buddie"));
addAsBuddie.setIconUrl("images/add-green.png");
- addAsBuddie.setEnableCondition(new ActionEnableCondition<UserSimpleDTO>() {
- public boolean mustBeEnabled(UserSimpleDTO item) {
+ addAsBuddie.setAddCondition(new ActionAddCondition<UserSimpleDTO>() {
+ public boolean mustBeAdded(UserSimpleDTO item) {
return !session.getCurrentUserInfo().getShortName().equals(item.getShortName());
}
});
@@ -141,5 +164,10 @@
go.setTextDescription(i18n.t("Visit this user homepage"));
go.setIconUrl("images/group-home.gif");
actionRegistry.addAction(go);
+
+ createShowAction(i18n.t("anyone"));
+ createShowAction(i18n.t("only your buddies"));
+ createShowAction(i18n.t("only you"));
}
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -65,12 +65,10 @@
};
// gridMenuPanel.onClick(go);
gridMenuPanel.onDoubleClick(go);
+ gridMenuPanel.getBottomBar().setCls("k-blank-toolbar");
super.add(gridMenuPanel);
toolbar = ((ActionToolbarPanel<StateToken>) actionToolbarView).getToolbar(ActionToolbarPosition.bottombar);
- toolbar.setStyleName("x-toolbar");
- toolbar.addStyleName("x-panel");
- toolbar.addStyleName("k-blank-toolbar");
- // toolbar.addStyleName("k-site-traybar");
+ toolbar.setCleanStyle();
super.add(toolbar);
super.addInSummary();
ws.addListenerInEntitySummary(new ContainerListenerAdapter() {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -171,18 +171,16 @@
}
private void createShowAction(String textDescription) {
- ActionToolbarMenuDescriptor<StateToken> showMembersToAll = new ActionToolbarMenuDescriptor<StateToken>(
+ ActionToolbarMenuDescriptor<StateToken> showMembers = new ActionToolbarMenuDescriptor<StateToken>(
AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
public void onEvent(StateToken parameter) {
Site.info("In development");
}
});
- // showMembersToAll.setIconUrl("images/add-green.gif");
- showMembersToAll.setTextDescription(textDescription);
- // showMembersToAll.setToolTip(i18n.t("Add a group or a person as member of this group"));
- showMembersToAll.setParentMenuTitle(i18n.t("Options"));
- showMembersToAll.setParentSubMenuTitle(i18n.t("Who can view this member list"));
- groupActionRegistry.addAction(showMembersToAll);
+ showMembers.setTextDescription(textDescription);
+ showMembers.setParentMenuTitle(i18n.t("Options"));
+ showMembers.setParentSubMenuTitle(i18n.t("Who can view this member list"));
+ groupActionRegistry.addAction(showMembers);
}
@SuppressWarnings("unchecked")
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -27,6 +27,7 @@
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuPanel;
+import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.SummaryPanel;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsTheme;
@@ -38,6 +39,7 @@
public class ParticipationSummaryPanel extends SummaryPanel implements ParticipationSummaryView {
private final GridMenuPanel<GroupDTO> gridMenuPanel;
+ private final SimpleToolbar toolbar;
public ParticipationSummaryPanel(final ParticipationSummaryPresenter presenter, final I18nTranslationService i18n,
final WorkspaceSkeleton ws, ActionToolbarView<StateToken> actionToolbarView) {
@@ -52,7 +54,9 @@
// gridMenuPanel.onClick(go);
gridMenuPanel.onDoubleClick(go);
super.add(gridMenuPanel);
- super.add(((ActionToolbarPanel<StateToken>) actionToolbarView).getToolbar(ActionToolbarPosition.bottombar));
+ toolbar = ((ActionToolbarPanel<StateToken>) actionToolbarView).getToolbar(ActionToolbarPosition.bottombar);
+ toolbar.setCleanStyle();
+ super.add(toolbar);
addInSummary();
ws.addListenerInEntitySummary(new ContainerListenerAdapter() {
@Override
@@ -70,6 +74,7 @@
@Override
public void clear() {
gridMenuPanel.removeAll();
+ toolbar.removeAll();
}
public void setTheme(WsTheme oldTheme, WsTheme newTheme) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -36,7 +36,6 @@
import org.ourproject.kune.workspace.client.themes.WsTheme;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
-import com.allen_sauer.gwt.log.client.Log;
import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
import com.calclab.suco.client.listener.Listener2;
@@ -89,7 +88,6 @@
view.clear();
final List<GroupDTO> groupsIsAdmin = participation.getGroupsIsAdmin();
final List<GroupDTO> groupsIsCollab = participation.getGroupsIsCollab();
- Log.info(participation.toString());
final int numAdmins = groupsIsAdmin.size();
final int numCollaborators = groupsIsCollab.size();
if (numAdmins == 0) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -84,8 +84,8 @@
}
void setState(final StateContainerDTO state) {
- Log.debug(state.getTagCloudResult().toString());
if (state.getTagCloudResult() != null && state.getTagCloudResult().getTagCountList().size() > 0) {
+ Log.debug(state.getTagCloudResult().toString());
view.setVisible(true);
setCloud(state.getTagCloudResult());
} else {
Modified: trunk/src/main/resources/dozerBeanMapping.xml
===================================================================
--- trunk/src/main/resources/dozerBeanMapping.xml 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/main/resources/dozerBeanMapping.xml 2008-11-21 23:14:32 UTC (rev 960)
@@ -295,25 +295,15 @@
org.ourproject.kune.platf.server.users.UserInfo
</class-b>
<field>
- <a>language</a>
- <b>language</b>
+ <a>user</a>
+ <b>user</b>
<a-hint>
- org.ourproject.kune.platf.client.dto.I18nLanguageDTO
+ org.ourproject.kune.platf.client.dto.UserSimpleDTO
</a-hint>
<b-hint>
- org.ourproject.kune.platf.server.domain.I18nLanguage
+ org.ourproject.kune.platf.server.domain.User
</b-hint>
</field>
- <field>
- <a>country</a>
- <b>country</b>
- <a-hint>
- org.ourproject.kune.platf.client.dto.I18nCountryDTO
- </a-hint>
- <b-hint>
- org.ourproject.kune.platf.server.domain.I18nCountry
- </b-hint>
- </field>
</mapping>
<mapping>
Modified: trunk/src/test/java/org/ourproject/kune/platf/server/TestHelper.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/TestHelper.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/TestHelper.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -12,10 +12,6 @@
import com.wideplay.warp.jpa.JpaUnit;
public abstract class TestHelper {
- public static void inject(final Object target) {
- TestHelper.create(new PlatformServerModule(), "test", "kune.properties").injectMembers(target);
- }
-
public static Injector create(final Module module, final String persistenceUnit, final String propetiesFileName) {
Injector injector = Guice.createInjector(module, new Module() {
public void configure(Binder binder) {
@@ -27,4 +23,10 @@
return injector;
}
+ public static void inject(final Object target) {
+ // test: use memory
+ // test_db: use mysql
+ TestHelper.create(new PlatformServerModule(), "test", "kune.properties").injectMembers(target);
+ }
+
}
Modified: trunk/src/test/java/org/ourproject/kune/workspace/client/editor/TextEditorPresenterTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/workspace/client/editor/TextEditorPresenterTest.java 2008-11-21 15:36:46 UTC (rev 959)
+++ trunk/src/test/java/org/ourproject/kune/workspace/client/editor/TextEditorPresenterTest.java 2008-11-21 23:14:32 UTC (rev 960)
@@ -8,9 +8,11 @@
import org.mockito.Mockito;
import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbar;
import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.platf.client.utils.DeferredCommandWrapper;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLink;
+import com.calclab.suco.client.listener.Listener0;
import com.calclab.suco.testing.listener.MockListener;
import com.calclab.suco.testing.listener.MockListener0;
@@ -23,6 +25,7 @@
private ActionToolbar toolbar;
private StateManager stateManager;
private SiteSignOutLink signOutLink;
+ private DeferredCommandWrapper deferredCommandWrapper;
@SuppressWarnings("unchecked")
@Before
@@ -31,7 +34,8 @@
stateManager = Mockito.mock(StateManager.class);
toolbar = Mockito.mock(ActionToolbar.class);
signOutLink = Mockito.mock(SiteSignOutLink.class);
- presenter = new TextEditorPresenter(true, toolbar, i18n, stateManager, signOutLink);
+ deferredCommandWrapper = Mockito.mock(DeferredCommandWrapper.class);
+ presenter = new TextEditorPresenter(true, toolbar, i18n, stateManager, signOutLink, deferredCommandWrapper);
view = Mockito.mock(TextEditorView.class);
presenter.init(view);
saveListener = new MockListener<String>();
@@ -44,7 +48,7 @@
boolean change = presenter.beforeTokenChange();
assertTrue(change);
Mockito.verify(view, Mockito.never()).showSaveBeforeDialog();
- Mockito.verify(toolbar, Mockito.times(1)).detach();
+ Mockito.verify(deferredCommandWrapper, Mockito.times(1)).addCommand((Listener0) Mockito.anyObject());
}
@Test
1
0
21 Nov '08
Author: vjrj
Date: 2008-11-21 16:36:46 +0100 (Fri, 21 Nov 2008)
New Revision: 959
Added:
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionAddCondition.java
Modified:
trunk/CREDITS
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionItem.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ContextActionRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java
Log:
Complete - task Tags cloud
Incomplete - task Use of new ActionDescriptionClass in SocialNetwork
Modified: trunk/CREDITS
===================================================================
--- trunk/CREDITS 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/CREDITS 2008-11-21 15:36:46 UTC (rev 959)
@@ -18,4 +18,4 @@
* Thanks to David Trigo and http://www.esperanto-es.net/ for suggest the name of
'kune' for our initiative:
http://ourproject.org/forum/forum.php?thread_id=500&forum_id=469
-* and ourproject.org and xsto.info for sharing whit us their resources
+* and ourproject.org and xsto.info for sharing with us their resources
Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionAddCondition.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionAddCondition.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionAddCondition.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -0,0 +1,23 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.client.actions;
+
+public interface ActionAddCondition<T> {
+ boolean mustBeAdded(T item);
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -64,6 +64,9 @@
/** The enable condition. */
private ActionEnableCondition<T> enableCondition;
+ /** The must be added condition. */
+ private ActionAddCondition<T> addCondition;
+
/** The id. */
private String id;
@@ -133,6 +136,15 @@
}
/**
+ * Gets the add condition.
+ *
+ * @return the add condition
+ */
+ public ActionAddCondition<T> getAddCondition() {
+ return addCondition;
+ }
+
+ /**
* Gets the confirmation text.
*
* @return the confirmation text
@@ -233,6 +245,16 @@
}
/**
+ * Sets the add condition.
+ *
+ * @param addCondition
+ * the new add condition
+ */
+ public void setAddCondition(final ActionAddCondition<T> addCondition) {
+ this.addCondition = addCondition;
+ }
+
+ /**
* Sets the confirmation text.
*
* @param confirmationText
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionItem.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionItem.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionItem.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -34,6 +34,11 @@
this.item = item;
}
+ public boolean checkAdded() {
+ final ActionAddCondition<T> addCondition = action.getAddCondition();
+ return addCondition != null ? addCondition.mustBeAdded(getItem()) : true;
+ }
+
public boolean checkEnabling() {
final ActionEnableCondition<T> enableCondition = action.getEnableCondition();
return enableCondition != null ? enableCondition.mustBeEnabled(getItem()) : true;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -23,6 +23,7 @@
import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
public class ActionRegistry<T> {
+ private static final String GENERIC = "kgenacts";
private final HashMap<String, ActionCollection<T>> actions;
@@ -30,13 +31,22 @@
actions = new HashMap<String, ActionCollection<T>>();
}
- public void addAction(final ActionDescriptor<T> action, final String... typeIds) {
+ public void addAction(final ActionDescriptor<T> action) {
+ addAction(action, GENERIC);
+ }
+
+ public void addAction(final ActionDescriptor<T> action, String... typeIds) {
for (final String contentTypeId : typeIds) {
final ActionCollection<T> actionColl = getActions(contentTypeId);
actionColl.add(action);
}
}
+ public ActionItemCollection<T> getCurrentActions(final T item, final boolean isLogged,
+ final AccessRightsDTO rights, final boolean toolbarItems) {
+ return getCurrentActions(item, GENERIC, isLogged, rights, toolbarItems);
+ }
+
public ActionItemCollection<T> getCurrentActions(final T item, final String typeId, final boolean isLogged,
final AccessRightsDTO rights, final boolean toolbarItems) {
final ActionItemCollection<T> collection = new ActionItemCollection<T>();
@@ -60,10 +70,18 @@
return collection;
}
+ public void removeAction(final ActionDescriptor<T> action) {
+ removeAction(GENERIC, action);
+ }
+
public void removeAction(final String typeId, final ActionDescriptor<T> action) {
actions.get(typeId).remove(action);
}
+ public int size() {
+ return actions.size();
+ }
+
private ActionCollection<T> getActions(final String typeId) {
ActionCollection<T> actionColl = actions.get(typeId);
if (actionColl == null) {
@@ -89,4 +107,4 @@
return rights.isVisible();
}
}
-}
+}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ContextActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ContextActionRegistry.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ContextActionRegistry.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -21,5 +21,4 @@
import org.ourproject.kune.platf.client.dto.StateToken;
public class ContextActionRegistry extends ActionRegistry<StateToken> {
-
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -24,7 +24,4 @@
* The Class GroupActionRegistry stores actions over groups (mainly used in SN)
*/
public class GroupActionRegistry extends ActionRegistry<StateToken> {
-
- @Deprecated
- public static final String GENERAL = "genActions";
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -27,7 +27,4 @@
*
*/
public class UserActionRegistry extends ActionRegistry<UserSimpleDTO> {
-
- public static final String GENERAL = "genActions";
-
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -59,13 +59,16 @@
public void setActions(final ActionItemCollection<T> actions) {
for (final ActionItem<T> actionItem : actions) {
final ActionDescriptor<T> action = actionItem.getAction();
- if (isToolbarMenu(action)) {
- view.addMenuAction(actionItem, actionItem.checkEnabling());
- } else {
- if (isToolbarButton(action)) {
- view.addButtonAction(actionItem, actionItem.checkEnabling());
+ if (actionItem.checkAdded()) {
+ if (isToolbarMenu(action)) {
+ view.addMenuAction(actionItem, actionItem.checkEnabling());
} else {
- Log.error("Code error: Not an ActionMenuDescriptor or ActionButtonDescriptor: " + action.getText());
+ if (isToolbarButton(action)) {
+ view.addButtonAction(actionItem, actionItem.checkEnabling());
+ } else {
+ Log.error("Code error: Not an ActionMenuDescriptor or ActionButtonDescriptor: "
+ + action.getText());
+ }
}
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -84,8 +84,8 @@
if (userBuddies != UserBuddiesDataDTO.NO_BUDDIES) {
List<UserSimpleDTO> buddies = userBuddies.getBuddies();
for (UserSimpleDTO user : buddies) {
- view.addBuddie(user, actionRegistry.getCurrentActions(user, UserActionRegistry.GENERAL,
- session.isLogged(), new AccessRightsDTO(true, true, true), false));
+ view.addBuddie(user, actionRegistry.getCurrentActions(user, session.isLogged(),
+ new AccessRightsDTO(true, true, true), false));
}
boolean hasLocalBuddies = buddies.size() > 0;
int numExtBuddies = userBuddies.getOtherExternalBuddies();
@@ -129,7 +129,7 @@
return !session.getCurrentUserInfo().getShortName().equals(item.getShortName());
}
});
- actionRegistry.addAction(addAsBuddie, UserActionRegistry.GENERAL);
+ actionRegistry.addAction(addAsBuddie);
final ActionMenuItemDescriptor<UserSimpleDTO> go = new ActionMenuItemDescriptor<UserSimpleDTO>(
AccessRolDTO.Viewer, new Listener<UserSimpleDTO>() {
@@ -140,6 +140,6 @@
go.setMustBeAuthenticated(false);
go.setTextDescription(i18n.t("Visit this user homepage"));
go.setIconUrl("images/group-home.gif");
- actionRegistry.addAction(go, UserActionRegistry.GENERAL);
+ actionRegistry.addAction(go);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -65,6 +65,8 @@
private final Session session;
private final Provider<SocialNetworkServiceAsync> snServiceProvider;
private final StateManager stateManager;
+ private final GroupActionRegistry groupActionRegistry;
+ private final Provider<GroupLiveSearcher> liveSearcherProvider;
public GroupMembersSummaryPresenter(final I18nUITranslationService i18n, final StateManager stateManager,
final ImageUtils imageUtils, final Session session,
@@ -77,12 +79,14 @@
this.stateManager = stateManager;
this.session = session;
this.snServiceProvider = snServiceProvider;
+ this.liveSearcherProvider = liveSearcherProvider;
+ this.groupActionRegistry = groupActionRegistry;
final Listener<StateAbstractDTO> setStateListener = new Listener<StateAbstractDTO>() {
public void onEvent(StateAbstractDTO state) {
setState(state);
toolbar.disableMenusAndClearButtons();
toolbar.setActions(groupActionRegistry.getCurrentActions(state.getGroup().getStateToken(),
- GroupActionRegistry.GENERAL, session.isLogged(), state.getGroupRights(), true));
+ session.isLogged(), state.getGroupRights(), true));
toolbar.attach();
}
};
@@ -120,6 +124,27 @@
imageUtils.getImageHtml(ImageDescriptor.alert), true);
super.addGroupOperation(gotoGroupMenuItem, false);
super.addUserOperation(gotoMemberMenuItem, false);
+ createActions();
+ }
+
+ public void addCollab(final String groupShortName) {
+ Site.showProgressProcessing();
+ snServiceProvider.get().addCollabMember(session.getUserHash(), session.getCurrentState().getStateToken(),
+ groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member added as collaborator"));
+ stateManager.setSocialNetwork(result);
+ }
+
+ });
+ }
+
+ public void init(final GroupMembersSummaryView view) {
+ this.view = view;
+ }
+
+ private void createActions() {
ActionToolbarMenuDescriptor<StateToken> addMember = new ActionToolbarMenuDescriptor<StateToken>(
AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
public void onEvent(StateToken parameter) {
@@ -135,30 +160,31 @@
addMember.setTextDescription(i18n.t("Add member"));
addMember.setToolTip(i18n.t("Add a group or a person as member of this group"));
addMember.setParentMenuTitle(i18n.t("Options"));
- groupActionRegistry.addAction(addMember, GroupActionRegistry.GENERAL);
+
+ groupActionRegistry.addAction(addMember);
+ groupActionRegistry.addAction(unJoin);
+
+ groupActionRegistry.addAction(participate);
+ createShowAction(i18n.t("anyone"));
+ createShowAction(i18n.t("only members"));
+ createShowAction(i18n.t("only admins"));
}
- public void addCollab(final String groupShortName) {
- Site.showProgressProcessing();
- snServiceProvider.get().addCollabMember(session.getUserHash(), session.getCurrentState().getStateToken(),
- groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
- Site.hideProgress();
- Site.info(i18n.t("Member added as collaborator"));
- stateManager.setSocialNetwork(result);
+ private void createShowAction(String textDescription) {
+ ActionToolbarMenuDescriptor<StateToken> showMembersToAll = new ActionToolbarMenuDescriptor<StateToken>(
+ AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
+ public void onEvent(StateToken parameter) {
+ Site.info("In development");
}
-
});
+ // showMembersToAll.setIconUrl("images/add-green.gif");
+ showMembersToAll.setTextDescription(textDescription);
+ // showMembersToAll.setToolTip(i18n.t("Add a group or a person as member of this group"));
+ showMembersToAll.setParentMenuTitle(i18n.t("Options"));
+ showMembersToAll.setParentSubMenuTitle(i18n.t("Who can view this member list"));
+ groupActionRegistry.addAction(showMembersToAll);
}
- public void init(final GroupMembersSummaryView view) {
- this.view = view;
- }
-
- private boolean isMember(final boolean userIsAdmin, final boolean userIsCollab) {
- return userIsAdmin || userIsCollab;
- }
-
@SuppressWarnings("unchecked")
private void setGroupMembers(final SocialNetworkDTO socialNetwork, final AccessRightsDTO rights) {
final AccessListsDTO accessLists = socialNetwork.getAccessLists();
@@ -167,23 +193,15 @@
final List<GroupDTO> collabList = accessLists.getEditors().getList();
final List<GroupDTO> pendingCollabsList = socialNetwork.getPendingCollaborators().getList();
- final int numAdmins = adminsList.size();
+ // final int numAdmins = adminsList.size();
boolean userIsAdmin = rights.isAdministrable();
- final boolean userIsCollab = !userIsAdmin && rights.isEditable();
final boolean userCanView = rights.isVisible();
- boolean userIsMember = isMember(userIsAdmin, userIsCollab);
view.clear();
view.setDraggable(session.isLogged());
- if (!userIsMember) {
-
- } else if (userIsAdmin && numAdmins > 1 || userIsCollab) {
- // FIXME: view.addButton(unJoinButton);
- }
-
if (userCanView) {
for (final GroupDTO admin : adminsList) {
view.addItem(createGridItem(adminCategory, admin, rights, changeToCollabMenuItem, removeMemberMenuItem));
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -18,6 +18,7 @@
*
*/package org.ourproject.kune.workspace.client.socialnet;
+import org.ourproject.kune.platf.client.actions.ActionAddCondition;
import org.ourproject.kune.platf.client.actions.ActionToolbarButtonDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
@@ -65,8 +66,10 @@
private final ImageUtils imageUtils;
private final MenuItemCollection<GroupDTO> otherOperationsUsers;
private final MenuItemCollection<GroupDTO> otherLoggedOperationsUsers;
- private final GroupActionRegistry groupActionRegistry;
+ protected ActionToolbarMenuDescriptor<StateToken> unJoin;
+ protected ActionToolbarButtonDescriptor<StateToken> participate;
+
public SocialNetworkPresenter(final I18nUITranslationService i18n, final StateManager stateManager,
final ImageUtils imageUtils, final Session session,
final Provider<SocialNetworkServiceAsync> snServiceProvider, GroupActionRegistry groupActionRegistry) {
@@ -75,7 +78,6 @@
this.imageUtils = imageUtils;
this.session = session;
this.snServiceProvider = snServiceProvider;
- this.groupActionRegistry = groupActionRegistry;
createButtons();
createMenuActions();
otherOperationsUsers = new MenuItemCollection<GroupDTO>();
@@ -125,9 +127,15 @@
return gridItem;
}
+ protected boolean isMember(AccessRightsDTO rights) {
+ boolean userIsAdmin = rights.isAdministrable();
+ final boolean userIsCollab = !userIsAdmin && rights.isEditable();
+ return isMember(userIsAdmin, userIsCollab);
+ }
+
private void createButtons() {
- ActionToolbarButtonDescriptor<StateToken> participate = new ActionToolbarButtonDescriptor<StateToken>(
- AccessRolDTO.Viewer, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
+ participate = new ActionToolbarButtonDescriptor<StateToken>(AccessRolDTO.Viewer,
+ ActionToolbarPosition.bottombar, new Listener<StateToken>() {
public void onEvent(StateToken parameter) {
Site.showProgressProcessing();
snServiceProvider.get().requestJoinGroup(session.getUserHash(),
@@ -155,9 +163,14 @@
participate.setTextDescription(i18n.t("Participate"));
participate.setToolTip(i18n.t("Request to participate in this group"));
participate.setMustBeAuthenticated(false);
+ participate.setAddCondition(new ActionAddCondition<StateToken>() {
+ public boolean mustBeAdded(StateToken token) {
+ return !isMember(session.getCurrentState().getGroupRights());
+ }
+ });
- ActionToolbarMenuDescriptor<StateToken> unJoin = new ActionToolbarMenuDescriptor<StateToken>(
- AccessRolDTO.Editor, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
+ unJoin = new ActionToolbarMenuDescriptor<StateToken>(AccessRolDTO.Editor, ActionToolbarPosition.bottombar,
+ new Listener<StateToken>() {
public void onEvent(StateToken parameter) {
removeMemberAction();
}
@@ -169,8 +182,6 @@
unJoin.setMustBeConfirmed(true);
unJoin.setConfirmationTitle(i18n.t("Unjoin this group"));
unJoin.setConfirmationText(i18n.t("Are you sure?"));
- groupActionRegistry.addAction(participate, GroupActionRegistry.GENERAL);
- groupActionRegistry.addAction(unJoin, GroupActionRegistry.GENERAL);
}
private GridItem<GroupDTO> createDefMemberMenu(final GroupDTO group, final GridGroup gridGroup) {
@@ -303,6 +314,10 @@
});
}
+ private boolean isMember(final boolean userIsAdmin, final boolean userIsCollab) {
+ return userIsAdmin || userIsCollab;
+ }
+
private void removeMemberAction() {
removeMemberAction(session.getCurrentState().getGroup());
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-11-20 02:28:23 UTC (rev 958)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-11-21 15:36:46 UTC (rev 959)
@@ -38,7 +38,7 @@
public class TagsSummaryPresenter implements TagsSummary {
- private static final int MINSIZE = 12;
+ private static final int MINSIZE = 11;
private static final int MAXSIZE = 26;
private TagsSummaryView view;
1
0
Author: vjrj
Date: 2008-11-20 03:28:23 +0100 (Thu, 20 Nov 2008)
New Revision: 958
Added:
trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagCloudResultDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagCountDTO.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagCloudResult.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagCount.java
Removed:
trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagResultDTO.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagResult.java
Modified:
trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateContainerDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/ContentService.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/ContentServiceAsync.java
trunk/src/main/java/org/ourproject/kune/platf/server/domain/Tag.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/TagManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/TagManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java
trunk/src/main/java/org/ourproject/kune/platf/server/state/StateContainer.java
trunk/src/main/java/org/ourproject/kune/platf/server/state/StateServiceDefault.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummary.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryView.java
trunk/src/main/resources/dozerBeanMapping.xml
trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java
trunk/src/test/java/org/ourproject/kune/platf/server/manager/TagManagerTest.java
trunk/src/test/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenterTest.java
Log:
Complete - task Tags cloud
Incomplete - task Use of new ActionDescriptionClass in SocialNetwork
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-11-20 02:28:23 UTC (rev 958)
@@ -33,9 +33,9 @@
-moz-opacity: 0.2;
opacity: 0.2;
}
-*/.kune-NavigationBar .topBar .gwt-Image{margin:0 2px 0 5px;}.kune-NavigationBar .Items{margin:2px 0;}.kune-NavigationBar .Items .gwt-Image{margin:2px 0;vertical-align:middle;}.kune-NavigationBar .Items .gwt-Hyperlink a{color:green;/* FIXME: other color */}.kune-NavigationBar .topBar .topBar-margin{margin-left:5px;}.kune-NavigationBar .pathMenu{vertical-align:middle;}.kune-NavigationBar .pathMenu .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:3px 6px;}.kune-NavigationBar .pathMenu .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#000;}.kune-NavigationBar .kune-IconHyperlink{vertical-align:middle;margin-left:5px;}.kune-NavigationBar .kune-IconHyperlink a{color:green;text-decoration:none;}.kune-NavigationBar .kune-IconHyperlink .gwt-Image{margin-right:3px;vertical-align:middle;}/* Social Network */.kune-StackedDropDownPanel{}.kune-StackedDropDownPanel .gwt-StackPanelItem{border-top:1px solid #CCC;border-bottom:1px solid #CCC;background-color:#EFA;cursor:pointer;padding:1px 3px 0 6px;overflow:hidden;}.kune-StackedDropDownPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-StackedDropDownPanel .kune-DropDownInner table{width:100%;}.kune-StackedDropDownPanel .gwt-StackPanelItem-selected{}.kune-StackedDropDownPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-StackedDropDownPanel .kune-DropDownInner{padding:0;}/* StackedDropDownPanel Members */.kune-StackSubItemLabel{overflow:hidden;}.kune-StackSubItemLabel .gwt-MenuItem{white-space:nowrap;cursor:pointer;border-bottom:1px solid #F2F2F2;}.kune-StackSubItemLabel table{width:100%;}.kune-StackSubItemLabel .gwt-MenuItem img{vertical-align:middle;margin-top:1px;margin-bottom:1px;margin-left:5px;margin-right:3px;}.kune-StackSubItemLabel .gwt-MenuItem-selected{background-color:#FFE6D5;}.kune-StackSubItemActions{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;margin-left:-120px;margin-top:-2px;}.kune-StackSubItemActions .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.kune-StackSubItemActions .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.kune-StackSubItemActions .gwt-MenuItem-selected{background-color:#FFB958;}/* AccessList */.kune-AccessListSubLabel{font-style:italic;}.kune-AccessList{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel-open{width:100%;}.kune-AccessList .gwt-DisclosurePanel-closed{width:100%;}.kune-AccessList .header{margin:0 0 3px;text-decoration:none;width:100%;background-color:#8DD35F;}.kune-AccessList .header table{margin:0 5px 0 0;width:100%;color:#FFF;}.kune-AccessList .header img{margin:0 3px 0 0;}.kune-AccessList .content{margin:0 0 0 7px;width:100%;}.kune-AccessList .content table{margin-bottom:5px;width:100%;}/* Rate */.kune-RatePanel-Label{white-space:nowrap;vertical-align:middle;}.kune-RatePanel-Stars{margin-left:5px;vertical-align:middle;}.kune-RatePanel-Stars-RateIt{cursor:pointer;}/* Licenses */.kune-License-CC-Header{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}.kune-License-CC-Header .gwt-Label{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}/* Theme */.kune-IconBottomPanel .gwt-MenuItem{cursor:pointer;background-color:#FFF;margin:2px 2px 2px 5px;}.kune-IconBottomPanel .gwt-MenuItem-selected{background-color:#F2F2F2;}.gwt-MenuBar-bottomMenu{margin-left:-60px;margin-top:-120px;}/* i18n */.kune-I18nTranslatorCell{white-space:normal;}.kune-i18nTranslator-recommend{margin:10px;}.kune-i18nTranslator-recommend h1{font-size:131%;font-weight:700;}.kune-i18nTranslator-recommend h2{font-size:116%;font-weight:700;}.kune-i18nTranslator-recommend h3{font-size:108%;font-weight:700;font-style:italic;}.kune-i18nTranslator-recommend em{font-weight:700;}.kune-i18nTranslator-recommend strong{font-weight:700;}/* Admin Context */.kune-AdminContextPanel{margin:6px;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem{background:transparent url(img/arrow-right-white.gif) no-repeat scroll 3px 2px;cursor:pointer;padding:3px 10px 1px 20px;overflow:hidden;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-AdminContextPanel .gwt-StackPanelItem-selected{background:transparent url(img/arrow-down-white.gif) no-repeat scroll 3px 2px;background-color:#DEE3DB;}.kune-AdminContextPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-AdminContextPanel-inner{background-color:#FFF;}.kune-AdminContextPanel-inner-wrap{margin:5px;}.kune-EditableLabel{}.kune-EditableLabel .kune-EditableLabel-editable{}.kune-EditableLabel-high{background-color:#FFFBC1;cursor:pointer;}.kune-EditableLabel-high span{background-color:#FFFBC1;}.kune-EditableLabel a{margin-left:5px;}.kune-EditableLabel a:link{color:green;}.kune-EditableLabel a:hover{text-decoration:underline;}.kune-EditableLabel a:visited{color:olive;}.kune-EditableLabel img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable span{margin:3px;}.kune-EditableLabel span{margin:3px;}.kune-BottomIconsTrayPanel{width:165px;height:21px;vertical-align:middle;background-color:#EFEFEF;}.kune-TagsPanel-tag{float:left;margin-right:5px;cursor:pointer;}.kune-Content-Main{margin:5px;}/* Yahoo ui base.css */.kune-Content-Main h1{font-size:138.5%;}.kune-Content-Main h2{font-size:123.099998%;}.kune-Content-Main h3{font-size:108%;}.kune-Content-Main h1{margin:1em 0;}.kune-Content-Main h2{margin:1em 0;}.kune-Content-Main h3{margin:1em 0;}.kune-Content-Main h1{font-weight:700;}.kune-Content-Main h2{font-weight:700;}.kune-Content-Main h3{font-weight:700;}.kune-Content-Main h4{font-weight:700;}.kune-Content-Main h5{font-weight:700;}.kune-Content-Main h6{font-weight:700;}.kune-Content-Main strong{font-weight:700;}.kune-Content-Main abbr{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main acronym{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main em{font-style:italic;}.kune-Content-Main blockquote{margin:1em;}.kune-Content-Main ul{margin:1em;}.kune-Content-Main ol{margin:1em;}.kune-Content-Main dl{margin:1em;}.kune-Content-Main ol{margin-left:2em;}.kune-Content-Main ul{margin-left:2em;}.kune-Content-Main dl{margin-left:2em;}.kune-Content-Main ol{list-style:decimal outside;}.kune-Content-Main li{list-style:decimal outside;}.kune-Content-Main li{list-style:disc outside;}.kune-Content-Main ul{list-style:disc outside;}.kune-Content-Main dl{margin-left:1em;}.kune-Content-Main dd{margin-left:1em;}.kune-Content-Main th{border:1px solid #000;padding:.5em;font-weight:700;text-align:center;}.kune-Content-Main td{border:1px solid #000;padding:.5em;}.kune-Content-Main caption{margin-bottom:.5em;text-align:center;}.kune-Content-Main p{margin-bottom:1em;}.kune-Content-Main fieldset{margin-bottom:1em;}.kune-Content-Main table{margin-bottom:1em;}.kune-Content-Main pre{margin-bottom:1em;}.kune-Content-Main input[type=text]{width:12.25em;width:11.9em;}.kune-Content-Main input[type=password]{width:12.25em;width:11.9em;}.kune-Content-Main textarea{width:12.25em;width:11.9em;}.search-icon{background-image:url(img/search.gif)!important;}.i18n-icon{background-image:url(img/language.gif)!important;}/* RTE Text editor */.kune-TexEditorPanel-TextArea{margin:3px;}.gwt-RichTextArea{/* border: 1px solid #000;
+*/.kune-NavigationBar .topBar .gwt-Image{margin:0 2px 0 5px;}.kune-NavigationBar .Items{margin:2px 0;}.kune-NavigationBar .Items .gwt-Image{margin:2px 0;vertical-align:middle;}.kune-NavigationBar .Items .gwt-Hyperlink a{color:green;/* FIXME: other color */}.kune-NavigationBar .topBar .topBar-margin{margin-left:5px;}.kune-NavigationBar .pathMenu{vertical-align:middle;}.kune-NavigationBar .pathMenu .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:3px 6px;}.kune-NavigationBar .pathMenu .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#000;}.kune-NavigationBar .kune-IconHyperlink{vertical-align:middle;margin-left:5px;}.kune-NavigationBar .kune-IconHyperlink a{color:green;text-decoration:none;}.kune-NavigationBar .kune-IconHyperlink .gwt-Image{margin-right:3px;vertical-align:middle;}/* Social Network */.kune-StackedDropDownPanel{}.kune-StackedDropDownPanel .gwt-StackPanelItem{border-top:1px solid #CCC;border-bottom:1px solid #CCC;background-color:#EFA;cursor:pointer;padding:1px 3px 0 6px;overflow:hidden;}.kune-StackedDropDownPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-StackedDropDownPanel .kune-DropDownInner table{width:100%;}.kune-StackedDropDownPanel .gwt-StackPanelItem-selected{}.kune-StackedDropDownPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-StackedDropDownPanel .kune-DropDownInner{padding:0;}/* StackedDropDownPanel Members */.kune-StackSubItemLabel{overflow:hidden;}.kune-StackSubItemLabel .gwt-MenuItem{white-space:nowrap;cursor:pointer;border-bottom:1px solid #F2F2F2;}.kune-StackSubItemLabel table{width:100%;}.kune-StackSubItemLabel .gwt-MenuItem img{vertical-align:middle;margin-top:1px;margin-bottom:1px;margin-left:5px;margin-right:3px;}.kune-StackSubItemLabel .gwt-MenuItem-selected{background-color:#FFE6D5;}.kune-StackSubItemActions{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;margin-left:-120px;margin-top:-2px;}.kune-StackSubItemActions .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.kune-StackSubItemActions .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.kune-StackSubItemActions .gwt-MenuItem-selected{background-color:#FFB958;}/* AccessList */.kune-AccessListSubLabel{font-style:italic;}.kune-AccessList{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel-open{width:100%;}.kune-AccessList .gwt-DisclosurePanel-closed{width:100%;}.kune-AccessList .header{margin:0 0 3px;text-decoration:none;width:100%;background-color:#8DD35F;}.kune-AccessList .header table{margin:0 5px 0 0;width:100%;color:#FFF;}.kune-AccessList .header img{margin:0 3px 0 0;}.kune-AccessList .content{margin:0 0 0 7px;width:100%;}.kune-AccessList .content table{margin-bottom:5px;width:100%;}/* Rate */.kune-RatePanel-Label{white-space:nowrap;vertical-align:middle;}.kune-RatePanel-Stars{margin-left:5px;vertical-align:middle;}.kune-RatePanel-Stars-RateIt{cursor:pointer;}/* Licenses */.kune-License-CC-Header{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}.kune-License-CC-Header .gwt-Label{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}/* Theme */.kune-IconBottomPanel .gwt-MenuItem{cursor:pointer;background-color:#FFF;margin:2px 2px 2px 5px;}.kune-IconBottomPanel .gwt-MenuItem-selected{background-color:#F2F2F2;}.gwt-MenuBar-bottomMenu{margin-left:-60px;margin-top:-120px;}/* i18n */.kune-I18nTranslatorCell{white-space:normal;}.kune-i18nTranslator-recommend{margin:10px;}.kune-i18nTranslator-recommend h1{font-size:131%;font-weight:700;}.kune-i18nTranslator-recommend h2{font-size:116%;font-weight:700;}.kune-i18nTranslator-recommend h3{font-size:108%;font-weight:700;font-style:italic;}.kune-i18nTranslator-recommend em{font-weight:700;}.kune-i18nTranslator-recommend strong{font-weight:700;}/* Admin Context */.kune-AdminContextPanel{margin:6px;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem{background:transparent url(img/arrow-right-white.gif) no-repeat scroll 3px 2px;cursor:pointer;padding:3px 10px 1px 20px;overflow:hidden;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-AdminContextPanel .gwt-StackPanelItem-selected{background:transparent url(img/arrow-down-white.gif) no-repeat scroll 3px 2px;background-color:#DEE3DB;}.kune-AdminContextPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-AdminContextPanel-inner{background-color:#FFF;}.kune-AdminContextPanel-inner-wrap{margin:5px;}.kune-EditableLabel{}.kune-EditableLabel .kune-EditableLabel-editable{}.kune-EditableLabel-high{background-color:#FFFBC1;cursor:pointer;}.kune-EditableLabel-high span{background-color:#FFFBC1;}.kune-EditableLabel a{margin-left:5px;}.kune-EditableLabel a:link{color:green;}.kune-EditableLabel a:hover{text-decoration:underline;}.kune-EditableLabel a:visited{color:olive;}.kune-EditableLabel img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable span{margin:3px;}.kune-EditableLabel span{margin:3px;}.kune-BottomIconsTrayPanel{width:165px;height:21px;vertical-align:middle;background-color:#EFEFEF;}.k-tp-tag{float:left;margin-right:5px;cursor:pointer;color:#00F;}.kune-Content-Main{margin:5px;}/* Yahoo ui base.css */.kune-Content-Main h1{font-size:138.5%;}.kune-Content-Main h2{font-size:123.099998%;}.kune-Content-Main h3{font-size:108%;}.kune-Content-Main h1{margin:1em 0;}.kune-Content-Main h2{margin:1em 0;}.kune-Content-Main h3{margin:1em 0;}.kune-Content-Main h1{font-weight:700;}.kune-Content-Main h2{font-weight:700;}.kune-Content-Main h3{font-weight:700;}.kune-Content-Main h4{font-weight:700;}.kune-Content-Main h5{font-weight:700;}.kune-Content-Main h6{font-weight:700;}.kune-Content-Main strong{font-weight:700;}.kune-Content-Main abbr{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main acronym{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main em{font-style:italic;}.kune-Content-Main blockquote{margin:1em;}.kune-Content-Main ul{margin:1em;}.kune-Content-Main ol{margin:1em;}.kune-Content-Main dl{margin:1em;}.kune-Content-Main ol{margin-left:2em;}.kune-Content-Main ul{margin-left:2em;}.kune-Content-Main dl{margin-left:2em;}.kune-Content-Main ol{list-style:decimal outside;}.kune-Content-Main li{list-style:decimal outside;}.kune-Content-Main li{list-style:disc outside;}.kune-Content-Main ul{list-style:disc outside;}.kune-Content-Main dl{margin-left:1em;}.kune-Content-Main dd{margin-left:1em;}.kune-Content-Main th{border:1px solid #000;padding:.5em;font-weight:700;text-align:center;}.kune-Content-Main td{border:1px solid #000;padding:.5em;}.kune-Content-Main caption{margin-bottom:.5em;text-align:center;}.kune-Content-Main p{margin-bottom:1em;}.kune-Content-Main fieldset{margin-bottom:1em;}.kune-Content-Main table{margin-bottom:1em;}.kune-Content-Main pre{margin-bottom:1em;}.kune-Content-Main input[type=text]{width:12.25em;width:11.9em;}.kune-Content-Main input[type=password]{width:12.25em;width:11.9em;}.kune-Content-Main textarea{width:12.25em;width:11.9em;}.search-icon{background-image:url(img/search.gif)!important;}.i18n-icon{background-image:url(img/language.gif)!important;}/* RTE Text editor */.kune-TexEditorPanel-TextArea{margin:3px;}.gwt-RichTextArea{/* border: 1px solid #000;
background-color: #FFF; */border:1px solid #4D4D4D;background-color:#FFF;margin:5px 0 5px 10px;}.gwt-RichTextToolbar{/* background-color: #F2F2F2;
- padding: 5px; */height:24px;vertical-align:middle;}.gwt-RichTextToolbar table{vertical-align:middle;}.gwt-RichTextToolbar .gwt-ToggleButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-PushButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-PushButton-down{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-PushButton-down-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-ToggleButton-down{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .x-btn{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lSpace{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lrSpace{float:left;}.RichTextToolbar-menu{float:left;margin-top:2px;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.RichTextToolbar-menu .gwt-MenuItem{margin-right:2px;border:1px solid #F2F2F2;}.RichTextToolbar-menu .gwt-MenuItem-selected{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.RichTextToolbar-submenu{background-color:#FFFCD5;border:1px solid #D38D5F;cursor:default;z-index:4;}.RichTextToolbar-submenu .gwt-MenuItem{cursor:default;white-space:nowrap;border:1px solid #FFFCD5;padding:0 4px;}.RichTextToolbar-submenu .gwt-MenuItem-selected{background-color:#FFB958;border:1px solid #C83737;}.kune-WebSafePalette{background-color:#FFF;border:1px solid #AAA;margin:1px;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-blank-toolbar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;border-down-width:5px;}.k-entitytextlogo-border{border:2px solid #F2F2F2;}.k-entitytextlogo-no-border{border:none;}.k-entitytextlogo{height:60px;margin:0 0 4px;overflow:hidden;width:468px;}.k-entitytextlogo table{vertical-align:middle;}.k-elogo-l-l{font-size:272%;}.k-elogo-l-m{font-size:167%;}.k-elogo-l-s{font-size:108%;}.k-entitytextlogo .gwt-Label{font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-elogo-plink{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-elogop-expand{background-color:transparent;}.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed{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%;}.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed{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%;}.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed{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%;}.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed{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%;}.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{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;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{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;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entitylicensepanel-licensetext{cursor:pointer;margin-left:5px;text-decoration:underline;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{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%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF 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%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{line-height:24px;color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;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;}.k-toolbar-sep{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;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others *//*
+ padding: 5px; */height:24px;vertical-align:middle;}.gwt-RichTextToolbar table{vertical-align:middle;}.gwt-RichTextToolbar .gwt-ToggleButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-PushButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-PushButton-down{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-PushButton-down-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-ToggleButton-down{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .x-btn{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lSpace{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lrSpace{float:left;}.RichTextToolbar-menu{float:left;margin-top:2px;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.RichTextToolbar-menu .gwt-MenuItem{margin-right:2px;border:1px solid #F2F2F2;}.RichTextToolbar-menu .gwt-MenuItem-selected{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.RichTextToolbar-submenu{background-color:#FFFCD5;border:1px solid #D38D5F;cursor:default;z-index:4;}.RichTextToolbar-submenu .gwt-MenuItem{cursor:default;white-space:nowrap;border:1px solid #FFFCD5;padding:0 4px;}.RichTextToolbar-submenu .gwt-MenuItem-selected{background-color:#FFB958;border:1px solid #C83737;}.kune-WebSafePalette{background-color:#FFF;border:1px solid #AAA;margin:1px;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-blank-toolbar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;border-bottom-color:#FFF;border-bottom-width:5px;}.k-entitytextlogo-border{border:2px solid #F2F2F2;}.k-entitytextlogo-no-border{border:none;}.k-entitytextlogo{height:60px;margin:0 0 4px;overflow:hidden;width:468px;}.k-entitytextlogo table{vertical-align:middle;}.k-elogo-l-l{font-size:272%;}.k-elogo-l-m{font-size:167%;}.k-elogo-l-s{font-size:108%;}.k-entitytextlogo .gwt-Label{font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-elogo-plink{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-elogop-expand{background-color:transparent;}.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed{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%;}.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed{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%;}.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed{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%;}.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed{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%;}.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{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;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{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;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entitylicensepanel-licensetext{cursor:pointer;margin-left:5px;text-decoration:underline;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{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%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF 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%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{line-height:24px;color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;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;}.k-toolbar-sep{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;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others *//*
.x-tree-node a span, .x-dd-drag-ghost a span {
color:#000000;
padding: 1px 0px 1px 1px;
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 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-11-20 02:28:23 UTC (rev 958)
@@ -65,8 +65,9 @@
.k-entity-summary {
border-left-color: #FFF;
border-left-width: 5px;
- border-down-width: 5px;
-}
+ border-bottom-color: #FFF;
+ border-bottom-width: 5px;
+ }
.k-entitytextlogo-border {
border: 2px solid #F2F2F2;
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css 2008-11-20 02:28:23 UTC (rev 958)
@@ -597,10 +597,11 @@
background-color: #EFEFEF;
}
-.kune-TagsPanel-tag {
+.k-tp-tag {
float: left;
margin-right: 5px;
cursor: pointer;
+ color: #0000FF;
}
.kune-Content-Main {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -174,6 +174,7 @@
}
});
item.setIcon(action.getIconUrl());
+ item.setTitle(action.getToolTip());
if (id != null) {
item.setId(id);
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateContainerDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateContainerDTO.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/StateContainerDTO.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -19,8 +19,6 @@
*/
package org.ourproject.kune.platf.client.dto;
-import java.util.List;
-
import com.google.gwt.user.client.rpc.IsSerializable;
public class StateContainerDTO extends StateAbstractDTO implements IsSerializable {
@@ -32,12 +30,16 @@
private ContainerDTO rootContainer;
private AccessRightsDTO containerRights;
private LicenseDTO license;
- private List<TagResultDTO> groupTags;
+ private TagCloudResultDTO tagCloudResult;
private AccessListsDTO accessLists;
public StateContainerDTO() {
}
+ public AccessListsDTO getAccessLists() {
+ return accessLists;
+ }
+
public ContainerDTO getContainer() {
return container;
}
@@ -46,10 +48,6 @@
return containerRights;
}
- public List<TagResultDTO> getGroupTags() {
- return groupTags;
- }
-
public I18nLanguageDTO getLanguage() {
return language;
}
@@ -62,6 +60,10 @@
return rootContainer;
}
+ public TagCloudResultDTO getTagCloudResult() {
+ return tagCloudResult;
+ }
+
public String getToolName() {
return toolName;
}
@@ -70,6 +72,10 @@
return typeId;
}
+ public void setAccessLists(AccessListsDTO accessLists) {
+ this.accessLists = accessLists;
+ }
+
public void setContainer(ContainerDTO container) {
this.container = container;
}
@@ -78,10 +84,6 @@
this.containerRights = containerRights;
}
- public void setGroupTags(List<TagResultDTO> groupTags) {
- this.groupTags = groupTags;
- }
-
public void setLanguage(I18nLanguageDTO language) {
this.language = language;
}
@@ -94,6 +96,10 @@
this.rootContainer = rootContainer;
}
+ public void setTagCloudResult(TagCloudResultDTO tagCloudResult) {
+ this.tagCloudResult = tagCloudResult;
+ }
+
public void setToolName(String toolName) {
this.toolName = toolName;
}
@@ -107,12 +113,4 @@
return "StateDTO[" + getStateToken() + "/" + getTypeId() + "]";
}
- public AccessListsDTO getAccessLists() {
- return accessLists;
- }
-
- public void setAccessLists(AccessListsDTO accessLists) {
- this.accessLists = accessLists;
- }
-
}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagCloudResultDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagCloudResultDTO.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagCloudResultDTO.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -0,0 +1,50 @@
+package org.ourproject.kune.platf.client.dto;
+
+import java.util.List;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public class TagCloudResultDTO implements IsSerializable {
+ private List<TagCountDTO> tagCountList;
+ private int maxValue;
+ private int minValue;
+
+ public TagCloudResultDTO() {
+ this(null, 0, 0);
+ }
+
+ public TagCloudResultDTO(List<TagCountDTO> tagCountList, int maxValue, int minValue) {
+ this.tagCountList = tagCountList;
+ this.maxValue = maxValue;
+ this.minValue = minValue;
+ }
+
+ public int getMaxValue() {
+ return maxValue;
+ }
+
+ public int getMinValue() {
+ return minValue;
+ }
+
+ public List<TagCountDTO> getTagCountList() {
+ return tagCountList;
+ }
+
+ public void setMaxValue(int maxValue) {
+ this.maxValue = maxValue;
+ }
+
+ public void setMinValue(int minValue) {
+ this.minValue = minValue;
+ }
+
+ public void setTagCountList(List<TagCountDTO> tagCountList) {
+ this.tagCountList = tagCountList;
+ }
+
+ @Override
+ public String toString() {
+ return "TagCloudResultDTO[list:" + tagCountList + "; maxValue: " + maxValue + "; minValue: " + minValue + "]";
+ }
+}
Copied: trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagCountDTO.java (from rev 953, trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagResultDTO.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagResultDTO.java 2008-11-17 10:18:11 UTC (rev 953)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagCountDTO.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -0,0 +1,58 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.client.dto;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+public class TagCountDTO implements IsSerializable {
+ private String name;
+ private Long count;
+
+ public TagCountDTO() {
+ this(null, null);
+ }
+
+ public TagCountDTO(final String name, final Long count) {
+ this.name = name;
+ this.count = count;
+ }
+
+ public Long getCount() {
+ return count;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setCount(final Long count) {
+ this.count = count;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return name + "(" + count + ")";
+ }
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagCountDTO.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagResultDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagResultDTO.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/TagResultDTO.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -1,57 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.client.dto;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
-public class TagResultDTO implements IsSerializable {
- private String name;
- private Long count;
-
- public TagResultDTO() {
- this(null, null);
- }
-
- public TagResultDTO(final String name, final Long count) {
- this.name = name;
- this.count = count;
- }
-
- public Long getCount() {
- return count;
- }
-
- public String getName() {
- return name;
- }
-
- public void setCount(final Long count) {
- this.count = count;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- public String toString() {
- return name + "(" + count + ")";
- }
-
-}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/ContentService.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/ContentService.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/ContentService.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -20,7 +20,6 @@
package org.ourproject.kune.platf.client.rpc;
import java.util.Date;
-import java.util.List;
import org.ourproject.kune.platf.client.dto.CommentDTO;
import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
@@ -31,7 +30,7 @@
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCloudResultDTO;
import org.ourproject.kune.platf.client.errors.DefaultException;
import com.google.gwt.user.client.rpc.RemoteService;
@@ -56,7 +55,7 @@
StateAbstractDTO getContent(String userHash, StateToken token) throws DefaultException;
- List<TagResultDTO> getSummaryTags(String userHash, StateToken groupToken) throws DefaultException;
+ TagCloudResultDTO getSummaryTags(String userHash, StateToken groupToken) throws DefaultException;
CommentDTO markCommentAsAbuse(String userHash, StateToken token, Long commentId) throws DefaultException;
@@ -80,7 +79,7 @@
void setStatusAsAdmin(String userHash, StateToken stateToken, ContentStatusDTO status);
- List<TagResultDTO> setTags(String userHash, StateToken token, String tags) throws DefaultException;
+ TagCloudResultDTO setTags(String userHash, StateToken token, String tags) throws DefaultException;
CommentDTO voteComment(String userHash, StateToken token, Long commentId, boolean votePositive)
throws DefaultException;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/ContentServiceAsync.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/ContentServiceAsync.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/ContentServiceAsync.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -20,7 +20,6 @@
package org.ourproject.kune.platf.client.rpc;
import java.util.Date;
-import java.util.List;
import org.ourproject.kune.platf.client.dto.CommentDTO;
import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
@@ -31,7 +30,7 @@
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCloudResultDTO;
import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -56,7 +55,7 @@
void getContent(String user, StateToken newState, AsyncCallback<StateAbstractDTO> callback);
- void getSummaryTags(String userHash, StateToken groupToken, AsyncCallback<List<TagResultDTO>> asyncCallback);
+ void getSummaryTags(String userHash, StateToken groupToken, AsyncCallback<TagCloudResultDTO> asyncCallback);
void markCommentAsAbuse(String userHash, StateToken token, Long commentId, AsyncCallback<CommentDTO> asyncCallback);
@@ -82,7 +81,7 @@
void setStatusAsAdmin(String userHash, StateToken stateToken, ContentStatusDTO status,
AsyncCallback<?> asyncCallback);
- void setTags(String userHash, StateToken token, String tags, AsyncCallback<List<TagResultDTO>> asyncCallback);
+ void setTags(String userHash, StateToken token, String tags, AsyncCallback<TagCloudResultDTO> asyncCallback);
void voteComment(String userHash, StateToken token, Long commentId, boolean votePositive,
AsyncCallback<CommentDTO> asyncCallback);
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/Tag.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/Tag.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/Tag.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -41,10 +41,15 @@
@Table(name = "tags")
// See:
// http://openjpa.apache.org/docs/latest/manual/manual.html#jpa_langref_result…
-@NamedQueries( { @NamedQuery(name = "tagsgrouped", query = "SELECT NEW org.ourproject.kune.platf.server.domain.TagResult(t.name, COUNT(c.id)) "
- + "FROM Content c JOIN c.tags t WHERE c.container.owner = :group " + "GROUP BY t.name ORDER BY t.name") })
+@NamedQueries( {
+ @NamedQuery(name = "tagsgrouped", query = "SELECT NEW org.ourproject.kune.platf.server.domain.TagCount(t.name, COUNT(c.id)) "
+ + "FROM Content c JOIN c.tags t WHERE c.container.owner = :group " + "GROUP BY t.name ORDER BY t.name"),
+ @NamedQuery(name = "tagsmaxgrouped", query = "SELECT Count(c.id) FROM Content c JOIN c.tags t WHERE c.container.owner = :group GROUP BY t.name ORDER BY count(*) DESC LIMIT 0,1"),
+ @NamedQuery(name = "tagsmingrouped", query = "SELECT Count(c.id) FROM Content c JOIN c.tags t WHERE c.container.owner = :group GROUP BY t.name ORDER BY count(*) ASC LIMIT 0,1") })
public class Tag implements HasId {
public static final String TAGSGROUPED = "tagsgrouped";
+ public static final String TAGSMINGROUPED = "tagsmingrouped";
+ public static final String TAGSMAXGROUPED = "tagsmaxgrouped";
@Id
@GeneratedValue
@@ -63,25 +68,25 @@
this.name = name;
}
+ @Finder(query = "FROM Tag g WHERE g.name = :name")
+ public Tag findByTagName(@Named("name") final String tag) {
+ return null;
+ }
+
public Long getId() {
return id;
}
+ public String getName() {
+ return name;
+ }
+
public void setId(final Long id) {
this.id = id;
}
- public String getName() {
- return name;
- }
-
public void setName(final String name) {
this.name = name;
}
- @Finder(query = "FROM Tag g WHERE g.name = :name")
- public Tag findByTagName(@Named("name") final String tag) {
- return null;
- }
-
}
Added: trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagCloudResult.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagCloudResult.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagCloudResult.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -0,0 +1,44 @@
+package org.ourproject.kune.platf.server.domain;
+
+import java.util.List;
+
+public class TagCloudResult {
+ private List<TagCount> tagCountList;
+ private int maxValue;
+ private int minValue;
+
+ public TagCloudResult(List<TagCount> tagCountList, int maxValue, int minValue) {
+ this.tagCountList = tagCountList;
+ this.maxValue = maxValue;
+ this.minValue = minValue;
+ }
+
+ public int getMaxValue() {
+ return maxValue;
+ }
+
+ public int getMinValue() {
+ return minValue;
+ }
+
+ public List<TagCount> getTagCountList() {
+ return tagCountList;
+ }
+
+ public void setMaxValue(int maxValue) {
+ this.maxValue = maxValue;
+ }
+
+ public void setMinValue(int minValue) {
+ this.minValue = minValue;
+ }
+
+ public void setTagCountList(List<TagCount> tagCountList) {
+ this.tagCountList = tagCountList;
+ }
+
+ @Override
+ public String toString() {
+ return "TagCloudResult[list:" + tagCountList + "; maxValue: " + maxValue + "; minValue: " + minValue + "]";
+ }
+}
Copied: trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagCount.java (from rev 953, trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagResult.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagResult.java 2008-11-17 10:18:11 UTC (rev 953)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagCount.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -0,0 +1,55 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.server.domain;
+
+public class TagCount {
+ private String name;
+ private Long count;
+
+ public TagCount() {
+ this(null, null);
+ }
+
+ public TagCount(final String name) {
+ this(name, null);
+ }
+
+ public TagCount(final String name, final Long count) {
+ this.name = name;
+ this.count = count;
+ }
+
+ public Long getCount() {
+ return count;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setCount(final Long count) {
+ this.count = count;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagCount.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagResult.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagResult.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/TagResult.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -1,55 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.server.domain;
-
-public class TagResult {
- private String name;
- private Long count;
-
- public TagResult() {
- this(null, null);
- }
-
- public TagResult(final String name) {
- this(name, null);
- }
-
- public TagResult(final String name, final Long count) {
- this.name = name;
- this.count = count;
- }
-
- public Long getCount() {
- return count;
- }
-
- public void setCount(final Long count) {
- this.count = count;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
-}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/TagManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/TagManager.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/TagManager.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -19,16 +19,14 @@
*/
package org.ourproject.kune.platf.server.manager;
-import java.util.List;
-
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.Tag;
-import org.ourproject.kune.platf.server.domain.TagResult;
+import org.ourproject.kune.platf.server.domain.TagCloudResult;
public interface TagManager extends Manager<Tag, Long> {
Tag findByTagName(String tag);
- List<TagResult> getSummaryByGroup(Group group);
+ TagCloudResult getTagCloudResultByGroup(Group group);
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/TagManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/TagManagerDefault.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/TagManagerDefault.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -26,7 +26,8 @@
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.Tag;
-import org.ourproject.kune.platf.server.domain.TagResult;
+import org.ourproject.kune.platf.server.domain.TagCloudResult;
+import org.ourproject.kune.platf.server.domain.TagCount;
import org.ourproject.kune.platf.server.manager.TagManager;
import com.google.inject.Inject;
@@ -50,11 +51,31 @@
return tagFinder.findByTagName(tag);
}
+ public TagCloudResult getTagCloudResultByGroup(Group group) {
+ return new TagCloudResult(getSummaryByGroup(group), getMaxCount(group), getMinCount(group));
+ }
+
@SuppressWarnings("unchecked")
- public List<TagResult> getSummaryByGroup(final Group group) {
+ private int getMaxCount(Group group) {
+ Query q = provider.get().createNamedQuery(Tag.TAGSMAXGROUPED);
+ q.setParameter("group", group);
+ List resultList = q.getResultList();
+ return (resultList.size() == 0 ? 0 : ((Long) resultList.get(0)).intValue());
+ }
+
+ @SuppressWarnings("unchecked")
+ private int getMinCount(Group group) {
+ Query q = provider.get().createNamedQuery(Tag.TAGSMINGROUPED);
+ q.setParameter("group", group);
+ List resultList = q.getResultList();
+ return (resultList.size() == 0 ? 0 : ((Long) resultList.get(0)).intValue());
+ }
+
+ @SuppressWarnings("unchecked")
+ private List<TagCount> getSummaryByGroup(final Group group) {
Query q = provider.get().createNamedQuery(Tag.TAGSGROUPED);
q.setParameter("group", group);
- List<TagResult> results = q.getResultList();
+ List<TagCount> results = q.getResultList();
return results;
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -20,7 +20,6 @@
package org.ourproject.kune.platf.server.rpc;
import java.util.Date;
-import java.util.List;
import javax.persistence.NoResultException;
@@ -38,7 +37,8 @@
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateNoContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCloudResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCountDTO;
import org.ourproject.kune.platf.client.errors.AccessViolationException;
import org.ourproject.kune.platf.client.errors.ContentNotFoundException;
import org.ourproject.kune.platf.client.errors.DefaultException;
@@ -66,6 +66,7 @@
import org.ourproject.kune.platf.server.domain.ContentStatus;
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.RateResult;
+import org.ourproject.kune.platf.server.domain.TagCloudResult;
import org.ourproject.kune.platf.server.domain.User;
import org.ourproject.kune.platf.server.manager.GroupManager;
import org.ourproject.kune.platf.server.manager.TagManager;
@@ -254,7 +255,7 @@
@Authenticated(mandatory = false)
@Authorizated(accessRolRequired = AccessRol.Viewer)
@Transactional(type = TransactionType.READ_ONLY)
- public List<TagResultDTO> getSummaryTags(final String userHash, final StateToken groupToken) {
+ public TagCloudResultDTO getSummaryTags(final String userHash, final StateToken groupToken) {
final Group group = groupManager.findByShortName(groupToken.getGroup());
return getSummaryTags(group);
}
@@ -385,7 +386,7 @@
@Authenticated
@Authorizated(accessRolRequired = AccessRol.Editor)
@Transactional(type = TransactionType.READ_WRITE)
- public List<TagResultDTO> setTags(final String userHash, final StateToken token, final String tags)
+ public TagCloudResultDTO setTags(final String userHash, final StateToken token, final String tags)
throws DefaultException {
final Long contentId = ContentUtils.parseId(token.getDocument());
final UserSession userSession = getUserSession();
@@ -432,8 +433,10 @@
}
}
- private List<TagResultDTO> getSummaryTags(final Group group) {
- return mapper.mapList(tagManager.getSummaryByGroup(group), TagResultDTO.class);
+ private TagCloudResultDTO getSummaryTags(final Group group) {
+ TagCloudResult result = tagManager.getTagCloudResultByGroup(group);
+ return new TagCloudResultDTO(mapper.mapList(result.getTagCountList(), TagCountDTO.class), result.getMaxValue(),
+ result.getMinValue());
}
private UserSession getUserSession() {
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/state/StateContainer.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/state/StateContainer.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/state/StateContainer.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -19,14 +19,12 @@
*/
package org.ourproject.kune.platf.server.state;
-import java.util.List;
-
import org.ourproject.kune.platf.server.access.AccessRights;
import org.ourproject.kune.platf.server.domain.AccessLists;
import org.ourproject.kune.platf.server.domain.Container;
import org.ourproject.kune.platf.server.domain.I18nLanguage;
import org.ourproject.kune.platf.server.domain.License;
-import org.ourproject.kune.platf.server.domain.TagResult;
+import org.ourproject.kune.platf.server.domain.TagCloudResult;
public class StateContainer extends StateAbstract {
@@ -37,12 +35,16 @@
private Container rootContainer;
private AccessRights containerRights;
private License license;
- private List<TagResult> groupTags;
+ private TagCloudResult tagCloudResult;
private AccessLists accessLists;
public StateContainer() {
}
+ public AccessLists getAccessLists() {
+ return accessLists;
+ }
+
public Container getContainer() {
return container;
}
@@ -51,10 +53,6 @@
return containerRights;
}
- public List<TagResult> getGroupTags() {
- return groupTags;
- }
-
public I18nLanguage getLanguage() {
return language;
}
@@ -67,6 +65,10 @@
return rootContainer;
}
+ public TagCloudResult getTagCloudResult() {
+ return tagCloudResult;
+ }
+
public String getToolName() {
return toolName;
}
@@ -75,6 +77,10 @@
return typeId;
}
+ public void setAccessLists(AccessLists accessLists) {
+ this.accessLists = accessLists;
+ }
+
public void setContainer(Container container) {
this.container = container;
}
@@ -83,10 +89,6 @@
this.containerRights = containerRights;
}
- public void setGroupTags(List<TagResult> groupTags) {
- this.groupTags = groupTags;
- }
-
public void setLanguage(I18nLanguage language) {
this.language = language;
}
@@ -99,6 +101,10 @@
this.rootContainer = rootContainer;
}
+ public void setTagCloudResult(TagCloudResult tagCloudResult) {
+ this.tagCloudResult = tagCloudResult;
+ }
+
public void setToolName(String toolName) {
this.toolName = toolName;
}
@@ -111,12 +117,4 @@
public String toString() {
return "State[" + getStateToken() + "/" + getTypeId() + "]";
}
-
- public AccessLists getAccessLists() {
- return accessLists;
- }
-
- public void setAccessLists(AccessLists accessLists) {
- this.accessLists = accessLists;
- }
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/state/StateServiceDefault.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/state/StateServiceDefault.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -134,7 +134,7 @@
state.setGroupRights(rightsService.get(userLogged, group.getAccessLists()));
state.setContainerRights(rightsService.get(userLogged, container.getAccessLists()));
state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
- state.setGroupTags(tagManager.getSummaryByGroup(group));
+ state.setTagCloudResult(tagManager.getTagCloudResultByGroup(group));
setSocialNetwork(state, userLogged, group);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -26,7 +26,7 @@
import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCloudResultDTO;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
@@ -156,19 +156,20 @@
view.removeAuthorsComponent();
}
if (capabilitiesRegistry.isPublishModerable(typeId)) {
- assert (publishedOn != null);
- String dateFormat = session.getCurrentLanguage().getDateFormatShort();
- if (dateFormat != null) {
- dateFormat = dateFormat.replace("yyyy", "Y");
- dateFormat = dateFormat.replace("yy", "y");
- dateFormat = dateFormat.replace("MM", "m");
- dateFormat = dateFormat.replace("M", "n");
- dateFormat = dateFormat.replace("dd", "xxx");
- dateFormat = dateFormat.replace("d", "j");
- dateFormat = dateFormat.replace("xxx", "d");
- view.setPublishedOn(publishedOn, dateFormat);
- } else {
- view.setPublishedOn(publishedOn, "M/d/yy def");
+ if (publishedOn != null) {
+ String dateFormat = session.getCurrentLanguage().getDateFormatShort();
+ if (dateFormat != null) {
+ dateFormat = dateFormat.replace("yyyy", "Y");
+ dateFormat = dateFormat.replace("yy", "y");
+ dateFormat = dateFormat.replace("MM", "m");
+ dateFormat = dateFormat.replace("M", "n");
+ dateFormat = dateFormat.replace("dd", "xxx");
+ dateFormat = dateFormat.replace("d", "j");
+ dateFormat = dateFormat.replace("xxx", "d");
+ view.setPublishedOn(publishedOn, dateFormat);
+ } else {
+ view.setPublishedOn(publishedOn, "M/d/yy def");
+ }
}
} else {
view.removePublishedOnComponent();
@@ -185,8 +186,8 @@
Site.showProgressProcessing();
final StateContainerDTO currentState = session.getContentState();
contentServiceProvider.get().setTags(session.getUserHash(), currentState.getStateToken(), tagsString,
- new AsyncCallbackSimple<List<TagResultDTO>>() {
- public void onSuccess(final List<TagResultDTO> result) {
+ new AsyncCallbackSimple<TagCloudResultDTO>() {
+ public void onSuccess(final TagCloudResultDTO result) {
tagsSummaryProvider.get().setGroupTags(result);
Site.hideProgress();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -135,8 +135,10 @@
public void doLayoutIfNeeded() {
if (mainFitPanel.isRendered()) {
- mainFitPanel.doLayout(false);
- entitySummary.doLayout(false);
+ mainFitPanel.doLayout();
+ entityTools.doLayout();
+ entitySummary.syncSize();
+ entitySummary.doLayout();
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -133,7 +133,7 @@
});
addMember.setIconUrl("images/add-green.gif");
addMember.setTextDescription(i18n.t("Add member"));
- // addMemberButton.setToolTip(i18n.t("Add a group or a person as member of this group"));
+ addMember.setToolTip(i18n.t("Add a group or a person as member of this group"));
addMember.setParentMenuTitle(i18n.t("Options"));
groupActionRegistry.addAction(addMember, GroupActionRegistry.GENERAL);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -166,6 +166,9 @@
unJoin.setTextDescription(i18n.t("Unjoin"));
unJoin.setToolTip(i18n.t("Don't participate more in this group"));
unJoin.setParentMenuTitle(i18n.t("Options"));
+ unJoin.setMustBeConfirmed(true);
+ unJoin.setConfirmationTitle(i18n.t("Unjoin this group"));
+ unJoin.setConfirmationText(i18n.t("Are you sure?"));
groupActionRegistry.addAction(participate, GroupActionRegistry.GENERAL);
groupActionRegistry.addAction(unJoin, GroupActionRegistry.GENERAL);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummary.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummary.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummary.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -19,12 +19,10 @@
*/
package org.ourproject.kune.workspace.client.tags;
-import java.util.List;
+import org.ourproject.kune.platf.client.dto.TagCloudResultDTO;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
-
public interface TagsSummary {
- void setGroupTags(List<TagResultDTO> result);
+ void setGroupTags(TagCloudResultDTO tagCloud);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -19,17 +19,12 @@
*/
package org.ourproject.kune.workspace.client.tags;
-import java.util.List;
-
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.ui.KuneUiUtils;
import org.ourproject.kune.workspace.client.skel.SummaryPanel;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsTheme;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Label;
@@ -40,7 +35,6 @@
private final FlowPanel flowPanel;
private final TagsSummaryPresenter presenter;
- private final Label noTagsLabel;
private final I18nTranslationService i18n;
public TagsSummaryPanel(final TagsSummaryPresenter presenter, final I18nTranslationService i18n,
@@ -50,7 +44,6 @@
this.presenter = presenter;
flowPanel = new FlowPanel();
final VerticalPanel vp = new VerticalPanel();
- noTagsLabel = new Label(i18n.t("The contents of this group don't have any tag"));
vp.add(flowPanel);
vp.setWidth("100%");
vp.setCellWidth(flowPanel, "100%");
@@ -60,34 +53,29 @@
ws.addInSummary(this);
}
- public void setTags(final List<TagResultDTO> groupTags) {
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- flowPanel.clear();
- if (groupTags.size() == 0) {
- flowPanel.add(noTagsLabel);
- } else {
- for (final TagResultDTO tagResult : groupTags) {
- final Label label = new Label(tagResult.getName());
- // i18n pluralization
- if (tagResult.getCount().intValue() > 1) {
- KuneUiUtils.setQuickTip(label, i18n.t("[%d] items with this tag", tagResult.getCount()));
- } else {
- KuneUiUtils.setQuickTip(label, i18n.t("[%d] item with this tag", tagResult.getCount()));
- }
- label.addClickListener(new ClickListener() {
- public void onClick(final Widget sender) {
- presenter.doSearchTag(tagResult.getName());
- }
- });
- label.addStyleName("kune-TagsPanel-tag");
- flowPanel.add(label);
- }
- }
+ public void addTag(final String name, Long count, String style) {
+ final Label label = new Label(name);
+ // i18n pluralization
+ if (count > 1) {
+ KuneUiUtils.setQuickTip(label, i18n.t("[%d] items with this tag", count));
+ } else {
+ KuneUiUtils.setQuickTip(label, i18n.t("[%d] item with this tag", count));
+ }
+ label.addClickListener(new ClickListener() {
+ public void onClick(final Widget sender) {
+ presenter.doSearchTag(name);
}
});
+ label.addStyleName("k-tp-tag");
+ label.addStyleName(style);
+ flowPanel.add(label);
}
+ @Override
+ public void clear() {
+ flowPanel.clear();
+ }
+
public void setTheme(WsTheme oldTheme, WsTheme newTheme) {
// TODO Auto-generated method stub
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -19,12 +19,11 @@
*/
package org.ourproject.kune.workspace.client.tags;
-import java.util.List;
-
import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCloudResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCountDTO;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.search.SiteSearcher;
@@ -32,12 +31,16 @@
import org.ourproject.kune.workspace.client.themes.WsTheme;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
+import com.allen_sauer.gwt.log.client.Log;
import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
import com.calclab.suco.client.listener.Listener2;
public class TagsSummaryPresenter implements TagsSummary {
+ private static final int MINSIZE = 12;
+ private static final int MAXSIZE = 26;
+
private TagsSummaryView view;
private final Provider<SiteSearcher> searcherProvider;
private final Session session;
@@ -76,17 +79,30 @@
this.view = view;
}
- public void setGroupTags(final List<TagResultDTO> groupTags) {
- view.setTags(groupTags);
+ public void setGroupTags(final TagCloudResultDTO tagCloud) {
+ setCloud(tagCloud);
}
void setState(final StateContainerDTO state) {
- if (state.getGroupTags() != null && state.getGroupTags().size() > 0) {
+ Log.debug(state.getTagCloudResult().toString());
+ if (state.getTagCloudResult() != null && state.getTagCloudResult().getTagCountList().size() > 0) {
view.setVisible(true);
- view.setTags(state.getGroupTags());
+ setCloud(state.getTagCloudResult());
} else {
view.setVisible(false);
}
}
+ private void setCloud(TagCloudResultDTO tagCloudResult) {
+ // Inspired in snippet http://www.bytemycode.com/snippets/snippet/415/
+ view.clear();
+ int max = tagCloudResult.getMaxValue();
+ int min = tagCloudResult.getMinValue();
+ int diff = max - min;
+ int step = (MAXSIZE - MINSIZE) / (diff == 0 ? 1 : diff);
+ for (TagCountDTO tagCount : tagCloudResult.getTagCountList()) {
+ int size = Math.round((MINSIZE + (tagCount.getCount() - min) * step));
+ view.addTag(tagCount.getName(), tagCount.getCount(), "kune-ft" + size + "px");
+ }
+ }
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryView.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryView.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -19,16 +19,15 @@
*/
package org.ourproject.kune.workspace.client.tags;
-import java.util.List;
-
import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
import org.ourproject.kune.workspace.client.themes.WsTheme;
public interface TagsSummaryView extends View {
- void setTags(List<TagResultDTO> groupTags);
+ void addTag(String name, Long count, String style);
+ void clear();
+
void setTheme(WsTheme oldTheme, WsTheme newTheme);
void setVisible(boolean visible);
Modified: trunk/src/main/resources/dozerBeanMapping.xml
===================================================================
--- trunk/src/main/resources/dozerBeanMapping.xml 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/main/resources/dozerBeanMapping.xml 2008-11-20 02:28:23 UTC (rev 958)
@@ -145,13 +145,13 @@
<class-a>org.ourproject.kune.platf.client.dto.StateContainerDTO</class-a>
<class-b>org.ourproject.kune.platf.server.state.StateContainer</class-b>
<field>
- <a>groupTags</a>
- <b>groupTags</b>
+ <a>tagCloudResult</a>
+ <b>tagCloudResult</b>
<a-hint>
- org.ourproject.kune.platf.client.dto.TagResultDTO
+ org.ourproject.kune.platf.client.dto.TagCloudResultDTO
</a-hint>
<b-hint>
- org.ourproject.kune.platf.server.domain.TagResult
+ org.ourproject.kune.platf.server.domain.TagCloudResult
</b-hint>
</field>
</mapping>
@@ -355,12 +355,21 @@
<class-b>org.ourproject.kune.platf.server.domain.Tag</class-b>
</mapping>
+<mapping>
+ <class-a>
+ org.ourproject.kune.platf.client.dto.TagCloudResultDTO
+ </class-a>
+ <class-b>
+ org.ourproject.kune.platf.server.domain.TagCloudResult
+ </class-b>
+ </mapping>
+
<mapping>
<class-a>
- org.ourproject.kune.platf.client.dto.TagResultDTO
+ org.ourproject.kune.platf.client.dto.TagCountDTO
</class-a>
<class-b>
- org.ourproject.kune.platf.server.domain.TagResult
+ org.ourproject.kune.platf.server.domain.TagCount
</class-b>
</mapping>
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceVariousTest.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -16,7 +16,8 @@
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCloudResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCountDTO;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.errors.AccessViolationException;
import org.ourproject.kune.platf.integration.IntegrationTestHelper;
@@ -147,20 +148,9 @@
@Test
public void setTagsAndResults() throws Exception {
contentService.setTags(getHash(), defaultContent.getStateToken(), "bfoo cfoa afoo2");
- final List<TagResultDTO> summaryTags = contentService.getSummaryTags(getHash(), defaultContent.getStateToken());
- assertEquals(3, summaryTags.size());
-
- TagResultDTO tagResultDTO = summaryTags.get(0);
- assertEquals("afoo2", tagResultDTO.getName());
- assertEquals(1, (long) tagResultDTO.getCount());
-
- tagResultDTO = summaryTags.get(1);
- assertEquals("bfoo", tagResultDTO.getName());
- assertEquals(1, (long) tagResultDTO.getCount());
-
- tagResultDTO = summaryTags.get(2);
- assertEquals("cfoa", tagResultDTO.getName());
- assertEquals(1, (long) tagResultDTO.getCount());
+ TagCloudResultDTO cloudResultDTO = contentService.getSummaryTags(getHash(), defaultContent.getStateToken());
+ checkResult(cloudResultDTO);
+ checkResult(((StateContentDTO) contentService.getContent(getHash(), defaultContent.getStateToken())).getTagCloudResult());
}
@Test
@@ -213,4 +203,22 @@
assertEquals(newTitle, folderAgain.getContainer().getName());
}
+ private void checkResult(TagCloudResultDTO cloudResultDTO) {
+ assertNotNull(cloudResultDTO.getTagCountList());
+ List<TagCountDTO> summaryTags = cloudResultDTO.getTagCountList();
+ assertEquals(3, summaryTags.size());
+
+ TagCountDTO tagResultDTO = summaryTags.get(0);
+ assertEquals("afoo2", tagResultDTO.getName());
+ assertEquals(1, (long) tagResultDTO.getCount());
+
+ tagResultDTO = summaryTags.get(1);
+ assertEquals("bfoo", tagResultDTO.getName());
+ assertEquals(1, (long) tagResultDTO.getCount());
+
+ tagResultDTO = summaryTags.get(2);
+ assertEquals("cfoa", tagResultDTO.getName());
+ assertEquals(1, (long) tagResultDTO.getCount());
+ }
+
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/server/manager/TagManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/server/manager/TagManagerTest.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/test/java/org/ourproject/kune/platf/server/manager/TagManagerTest.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -20,6 +20,13 @@
Tag tagFinder;
private Tag tag;
+ @After
+ public void close() {
+ if (getTransaction().isActive()) {
+ getTransaction().rollback();
+ }
+ }
+
@Before
public void insertData() {
openTransaction();
@@ -30,15 +37,6 @@
@Test
public void testTagCreation() {
assertNotNull(tag.getId());
- ;
-
assertNotNull(tagFinder.findByTagName("foo1"));
}
-
- @After
- public void close() {
- if (getTransaction().isActive()) {
- getTransaction().rollback();
- }
- }
}
Modified: trunk/src/test/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenterTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenterTest.java 2008-11-19 22:51:48 UTC (rev 957)
+++ trunk/src/test/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenterTest.java 2008-11-20 02:28:23 UTC (rev 958)
@@ -6,7 +6,8 @@
import org.junit.Test;
import org.mockito.Mockito;
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCloudResultDTO;
+import org.ourproject.kune.platf.client.dto.TagCountDTO;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.search.SiteSearcher;
@@ -43,8 +44,8 @@
@Test
public void withTagsViewFalse() {
final StateContainerDTO state = new StateContainerDTO();
- ArrayList<TagResultDTO> list = new ArrayList<TagResultDTO>();
- state.setGroupTags(list);
+ ArrayList<TagCountDTO> list = new ArrayList<TagCountDTO>();
+ state.setTagCloudResult(new TagCloudResultDTO(list, 0, 0));
tagsSummaryPresenter.setState(state);
Mockito.verify(view).setVisible(false);
}
@@ -52,9 +53,9 @@
@Test
public void withTagsViewVisible() {
final StateContainerDTO state = new StateContainerDTO();
- ArrayList<TagResultDTO> list = new ArrayList<TagResultDTO>();
- list.add(new TagResultDTO("abc", 1L));
- state.setGroupTags(list);
+ ArrayList<TagCountDTO> list = new ArrayList<TagCountDTO>();
+ list.add(new TagCountDTO("abc", 1L));
+ state.setTagCloudResult(new TagCloudResultDTO(list, 0, 0));
tagsSummaryPresenter.setState(state);
Mockito.verify(view).setVisible(true);
}
1
0
19 Nov '08
Author: vjrj
Date: 2008-11-19 23:51:48 +0100 (Wed, 19 Nov 2008)
New Revision: 957
Removed:
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridButton.java
Modified:
trunk/src/main/java/org/ourproject/kune/app/public/Kune.html
trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java
Log:
Incomplete - task Use of new ActionDescriptionClass in SocialNetwork
Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-11-19 22:51:48 UTC (rev 957)
@@ -72,7 +72,7 @@
background: white;
color: #444;
font: bold 13px tahoma, arial, helvetica;
- padding: 5px;
+ padding: 5px 5px 10px 5px;
margin: 0;
height: auto;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -18,12 +18,13 @@
*
*/package org.ourproject.kune.platf.client.actions;
-import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
/**
* The Class GroupActionRegistry stores actions over groups (mainly used in SN)
*/
-public class GroupActionRegistry extends ActionRegistry<GroupDTO> {
+public class GroupActionRegistry extends ActionRegistry<StateToken> {
+ @Deprecated
public static final String GENERAL = "genActions";
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -119,6 +119,16 @@
}
}
+ public SimpleToolbar getToolbar(final ActionToolbarPosition pos) {
+ switch (pos) {
+ case bottombar:
+ return bottombar;
+ case topbar:
+ default:
+ return topbar;
+ }
+ }
+
public void setButtonEnable(final ActionDescriptor<T> action, final boolean enable) {
final ActionToolbarPosition pos = ((ActionToolbarDescriptor<T>) action).getActionPosition();
final ToolbarButton button = toolbarButtons.get(genButtonKey(pos, action.getText()));
@@ -226,16 +236,6 @@
return basePart + subMenuPart + itemPart;
}
- private SimpleToolbar getToolbar(final ActionToolbarPosition pos) {
- switch (pos) {
- case bottombar:
- return bottombar;
- case topbar:
- default:
- return topbar;
- }
- }
-
private void setEnableButton(final ToolbarButton button, final boolean enable) {
if (enable) {
button.enable();
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -339,7 +339,8 @@
$(WsThemePresenter.class), $$(ChatEngine.class), $(GroupActionRegistry.class),
$(ActionGroupSummaryToolbar.class));
final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter,
- $(I18nUITranslationService.class), $(WorkspaceSkeleton.class));
+ $(I18nUITranslationService.class), $(WorkspaceSkeleton.class), $(
+ ActionGroupSummaryToolbar.class).getView());
presenter.init(view);
return presenter;
}
Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridButton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridButton.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridButton.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -1,53 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.client.ui.gridmenu;
-
-import com.calclab.suco.client.listener.Listener;
-
-public class GridButton {
-
- private final String title;
- private final String icon;
- private final String tooltip;
- private final Listener<String> listener;
-
- public GridButton(final String icon, final String title, final String tooltip, final Listener<String> listener) {
- this.icon = icon;
- this.title = title;
- this.tooltip = tooltip;
- this.listener = listener;
- }
-
- public String getIcon() {
- return icon;
- }
-
- public Listener<String> getListener() {
- return listener;
- }
-
- public String getTitle() {
- return title;
- }
-
- public String getTooltip() {
- return tooltip;
- }
-
-}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntitySummary.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -56,9 +56,10 @@
entityTools.setId(ENTITY_TOOLS);
entitySummary = new Panel();
- entitySummary.setBorder(false);
+ entitySummary.setBorder(true);
accordionLayout = new AccordionLayout(true);
accordionLayout.setTitleCollapse(true);
+ accordionLayout.setHideCollapseTool(true);
// accordionLayout.setHideCollapseTool(true);
// accordionLayout.setAnimate(true);
// accordionLayout.setActiveOnTop(false);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -18,19 +18,44 @@
*
*/package org.ourproject.kune.workspace.client.skel;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.KuneUiUtils;
+import org.ourproject.kune.platf.client.ui.KuneUiUtils.IconPosition;
+
import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.event.PanelListenerAdapter;
public class SummaryPanel extends Panel {
private final WorkspaceSkeleton ws;
- public SummaryPanel(String title, String titleTooltip, WorkspaceSkeleton ws) {
+ public SummaryPanel(final String title, final String titleTooltip, WorkspaceSkeleton ws) {
this.ws = ws;
super.setBorder(false);
- super.setTitle("<span ext:qtip=\"" + titleTooltip + "\">" + title + "</span>");
super.setAutoScroll(true);
+ final String collapsedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
+ Images.App.getInstance().arrowRightWhite(), IconPosition.left);
+ final String expandedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
+ Images.App.getInstance().arrowDownWhite(), IconPosition.left);
+ setTitle(collapsedTitle);
+ super.addListener(new PanelListenerAdapter() {
+ @Override
+ public void onCollapse(Panel panel) {
+ setTitle(collapsedTitle);
+ }
+
+ @Override
+ public void onExpand(Panel panel) {
+ setTitle(expandedTitle);
+ }
+ });
}
+ public void addInSummary() {
+ ws.addInSummary(this);
+ this.expand();
+ }
+
public void doLayoutIfNeeded() {
if (super.isRendered()) {
super.doLayout();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -88,7 +88,7 @@
vp.add(flowPanel);
vp.add(otherBuddiesLabel);
super.add(vp);
- ws.addInSummary(this);
+ addInSummary();
clear();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -18,14 +18,16 @@
*
*/package org.ourproject.kune.workspace.client.socialnet;
-import java.util.HashMap;
-
+import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarView;
import org.ourproject.kune.platf.client.dto.GroupDTO;
-import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
+import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.ui.gridmenu.GridDragConfiguration;
import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuPanel;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
import org.ourproject.kune.workspace.client.skel.SummaryPanel;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsTheme;
@@ -34,12 +36,8 @@
import com.calclab.suco.client.listener.Listener;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DeferredCommand;
-import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.BoxComponent;
-import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.MessageBox;
-import com.gwtext.client.widgets.ToolbarButton;
-import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
public class GroupMembersSummaryPanel extends SummaryPanel implements GroupMembersSummaryView {
@@ -47,10 +45,10 @@
private final GridMenuPanel<GroupDTO> gridMenuPanel;
private final I18nUITranslationService i18n;
private final GroupMembersSummaryPresenter presenter;
- private final HashMap<GridButton, ToolbarButton> buttonsCache;
+ private final SimpleToolbar toolbar;
public GroupMembersSummaryPanel(final GroupMembersSummaryPresenter presenter, final I18nUITranslationService i18n,
- final WorkspaceSkeleton ws) {
+ final WorkspaceSkeleton ws, ActionToolbarView<StateToken> actionToolbarView) {
super(i18n.t("Group members"), i18n.t("People and groups collaborating in this group"), ws);
this.presenter = presenter;
this.i18n = i18n;
@@ -60,7 +58,6 @@
+ i18n.t("Drop into a room to invite the user to join the chat room"));
gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This is an orphaned project, if you are interested "
+ "please request to join to work on it"), dragConf, true, true, false, true, false);
- gridMenuPanel.addStyleName("k-border-openbox");
Listener<String> go = new Listener<String>() {
public void onEvent(final String groupShortName) {
presenter.onDoubleClick(groupShortName);
@@ -68,9 +65,14 @@
};
// gridMenuPanel.onClick(go);
gridMenuPanel.onDoubleClick(go);
- gridMenuPanel.getBottomBar().setCls("k-blank-toolbar");
super.add(gridMenuPanel);
- ws.addInSummary(this);
+ toolbar = ((ActionToolbarPanel<StateToken>) actionToolbarView).getToolbar(ActionToolbarPosition.bottombar);
+ toolbar.setStyleName("x-toolbar");
+ toolbar.addStyleName("x-panel");
+ toolbar.addStyleName("k-blank-toolbar");
+ // toolbar.addStyleName("k-site-traybar");
+ super.add(toolbar);
+ super.addInSummary();
ws.addListenerInEntitySummary(new ContainerListenerAdapter() {
@Override
public void onResize(final BoxComponent component, final int adjWidth, final int adjHeight,
@@ -78,52 +80,17 @@
gridMenuPanel.setWidth(adjWidth);
}
});
- buttonsCache = new HashMap<GridButton, ToolbarButton>();
}
- public void addButton(final GridButton gridButton) {
- // Workaround: gwt-ext don't have toolbar.removeItem method ...
- ToolbarButton button = buttonsCache.get(gridButton);
- if (button == null) {
- button = new ToolbarButton(gridButton.getTitle());
- button.setIcon(gridButton.getIcon());
- button.setTooltip(gridButton.getTooltip());
- button.addListener(new ButtonListenerAdapter() {
- @Override
- public void onClick(final Button button, final EventObject e) {
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- gridButton.getListener().onEvent("");
- }
- });
- }
- });
- buttonsCache.put(gridButton, button);
- } else {
- button.setVisible(true);
- }
- gridMenuPanel.getBottomBar().addButton(button);
- }
-
public void addItem(final GridItem<GroupDTO> gridItem) {
gridMenuPanel.addItem(gridItem);
doLayoutIfNeeded();
}
- public void addToolbarFill() {
- gridMenuPanel.getBottomBar().addFill();
- }
-
@Override
public void clear() {
gridMenuPanel.removeAll();
- for (final ToolbarButton button : buttonsCache.values()) {
- // Workaround: gwt-ext don't have toolbar.removeItem method ...
- // gridMenuPanel.getBottomBar().getEl().removeChild(button.getElement());
- button.setVisible(false);
- button.removeFromParent();
- }
- buttonsCache.clear();
+ toolbar.removeAll();
doLayoutIfNeeded();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -21,10 +21,13 @@
import java.util.List;
import org.ourproject.kune.chat.client.ChatEngine;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbar;
import org.ourproject.kune.platf.client.dto.AccessListsDTO;
import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
+import org.ourproject.kune.platf.client.dto.AccessRolDTO;
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.GroupType;
import org.ourproject.kune.platf.client.dto.InitDataDTO;
@@ -32,6 +35,7 @@
import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
import org.ourproject.kune.platf.client.rpc.SocialNetworkServiceAsync;
import org.ourproject.kune.platf.client.services.ImageDescriptor;
@@ -39,7 +43,6 @@
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.platf.client.ui.MenuItem;
-import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
import org.ourproject.kune.platf.client.ui.gridmenu.GridGroup;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.search.GroupLiveSearcher;
@@ -54,7 +57,6 @@
public class GroupMembersSummaryPresenter extends SocialNetworkPresenter implements GroupMembersSummary {
- protected GridButton addMember;
private GroupMembersSummaryView view;
private final I18nUITranslationService i18n;
private final GridGroup adminCategory;
@@ -68,8 +70,8 @@
final ImageUtils imageUtils, final Session session,
final Provider<SocialNetworkServiceAsync> snServiceProvider,
final Provider<GroupLiveSearcher> liveSearcherProvider, final WsThemePresenter wsThemePresenter,
- final Provider<ChatEngine> chatEngineProvider, GroupActionRegistry groupActionRegistry,
- ActionGroupSummaryToolbar actionGroupSummaryToolbar) {
+ final Provider<ChatEngine> chatEngineProvider, final GroupActionRegistry groupActionRegistry,
+ final ActionGroupSummaryToolbar toolbar) {
super(i18n, stateManager, imageUtils, session, snServiceProvider, groupActionRegistry);
this.i18n = i18n;
this.stateManager = stateManager;
@@ -78,6 +80,10 @@
final Listener<StateAbstractDTO> setStateListener = new Listener<StateAbstractDTO>() {
public void onEvent(StateAbstractDTO state) {
setState(state);
+ toolbar.disableMenusAndClearButtons();
+ toolbar.setActions(groupActionRegistry.getCurrentActions(state.getGroup().getStateToken(),
+ GroupActionRegistry.GENERAL, session.isLogged(), state.getGroupRights(), true));
+ toolbar.attach();
}
};
stateManager.onStateChanged(setStateListener);
@@ -112,10 +118,11 @@
pendigCategory = new GridGroup(pendingTitle, pendingTitle,
i18n.t("People pending to be accepted in this group by the admins"),
imageUtils.getImageHtml(ImageDescriptor.alert), true);
- // i18n.t("Add member")
- addMember = new GridButton("images/add-green.gif", "",
- i18n.t("Add a group or a person as member of this group"), new Listener<String>() {
- public void onEvent(final String parameter) {
+ super.addGroupOperation(gotoGroupMenuItem, false);
+ super.addUserOperation(gotoMemberMenuItem, false);
+ ActionToolbarMenuDescriptor<StateToken> addMember = new ActionToolbarMenuDescriptor<StateToken>(
+ AccessRolDTO.Administrator, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
+ public void onEvent(StateToken parameter) {
liveSearcherProvider.get().onSelection(new Listener<LinkDTO>() {
public void onEvent(final LinkDTO link) {
view.confirmAddCollab(link.getShortName(), link.getLongName());
@@ -124,8 +131,11 @@
liveSearcherProvider.get().show();
}
});
- super.addGroupOperation(gotoGroupMenuItem, false);
- super.addUserOperation(gotoMemberMenuItem, false);
+ addMember.setIconUrl("images/add-green.gif");
+ addMember.setTextDescription(i18n.t("Add member"));
+ // addMemberButton.setToolTip(i18n.t("Add a group or a person as member of this group"));
+ addMember.setParentMenuTitle(i18n.t("Options"));
+ groupActionRegistry.addAction(addMember, GroupActionRegistry.GENERAL);
}
public void addCollab(final String groupShortName) {
@@ -166,17 +176,12 @@
view.clear();
- if (userIsAdmin) {
- view.addButton(addMember);
- view.addToolbarFill();
- }
-
view.setDraggable(session.isLogged());
if (!userIsMember) {
- view.addButton(requestJoin);
+
} else if (userIsAdmin && numAdmins > 1 || userIsCollab) {
- view.addButton(unJoinButton);
+ // FIXME: view.addButton(unJoinButton);
}
if (userCanView) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -19,18 +19,13 @@
*/package org.ourproject.kune.workspace.client.socialnet;
import org.ourproject.kune.platf.client.dto.GroupDTO;
-import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
import org.ourproject.kune.workspace.client.themes.WsTheme;
public interface GroupMembersSummaryView {
- void addButton(GridButton gridButton);
-
void addItem(GridItem<GroupDTO> gridItem);
- void addToolbarFill();
-
void clear();
void confirmAddCollab(String groupShortName, String groupLongName);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -19,6 +19,8 @@
*/
package org.ourproject.kune.workspace.client.socialnet;
+import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel;
import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarView;
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
@@ -40,11 +42,8 @@
public ParticipationSummaryPanel(final ParticipationSummaryPresenter presenter, final I18nTranslationService i18n,
final WorkspaceSkeleton ws, ActionToolbarView<StateToken> actionToolbarView) {
super(i18n.t("Participates in"), i18n.t("Groups in which participates"), ws);
- // super.setBorderStylePrimaryName("k-dropdownouter-part"); //
- // super.addStyleName("kune-Margin-Medium-t");
gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This user is not member of any group"), false, false,
false, false, false);
- gridMenuPanel.addStyleName("k-border-openbox");
Listener<String> go = new Listener<String>() {
public void onEvent(final String groupShortName) {
presenter.onDoubleClick(groupShortName);
@@ -53,7 +52,8 @@
// gridMenuPanel.onClick(go);
gridMenuPanel.onDoubleClick(go);
super.add(gridMenuPanel);
- ws.addInSummary(this);
+ super.add(((ActionToolbarPanel<StateToken>) actionToolbarView).getToolbar(ActionToolbarPosition.bottombar));
+ addInSummary();
ws.addListenerInEntitySummary(new ContainerListenerAdapter() {
@Override
public void onResize(final BoxComponent component, final int adjWidth, final int adjHeight,
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -18,8 +18,12 @@
*
*/package org.ourproject.kune.workspace.client.socialnet;
+import org.ourproject.kune.platf.client.actions.ActionToolbarButtonDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarMenuDescriptor;
+import org.ourproject.kune.platf.client.actions.ActionToolbarPosition;
import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
+import org.ourproject.kune.platf.client.dto.AccessRolDTO;
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.GroupType;
import org.ourproject.kune.platf.client.dto.SocialNetworkRequestResult;
@@ -34,7 +38,6 @@
import org.ourproject.kune.platf.client.ui.MenuItem;
import org.ourproject.kune.platf.client.ui.MenuItemCollection;
import org.ourproject.kune.platf.client.ui.gridmenu.CustomMenu;
-import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
import org.ourproject.kune.platf.client.ui.gridmenu.GridGroup;
import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
@@ -45,8 +48,6 @@
public class SocialNetworkPresenter {
- protected GridButton requestJoin;
- protected GridButton unJoinButton;
protected MenuItem<GroupDTO> changeToCollabMenuItem;
protected MenuItem<GroupDTO> removeMemberMenuItem;
protected MenuItem<GroupDTO> changeToAdminMenuItem;
@@ -125,9 +126,9 @@
}
private void createButtons() {
- requestJoin = new GridButton("images/add-green.gif", i18n.t("Participate"),
- i18n.t("Request to participate in this group"), new Listener<String>() {
- public void onEvent(final String parameter) {
+ ActionToolbarButtonDescriptor<StateToken> participate = new ActionToolbarButtonDescriptor<StateToken>(
+ AccessRolDTO.Viewer, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
+ public void onEvent(StateToken parameter) {
Site.showProgressProcessing();
snServiceProvider.get().requestJoinGroup(session.getUserHash(),
session.getCurrentState().getStateToken(), new AsyncCallbackSimple<Object>() {
@@ -150,13 +151,23 @@
});
}
});
+ participate.setIconUrl("images/add-green.gif");
+ participate.setTextDescription(i18n.t("Participate"));
+ participate.setToolTip(i18n.t("Request to participate in this group"));
+ participate.setMustBeAuthenticated(false);
- unJoinButton = new GridButton("images/del.gif", i18n.t("Unjoin"),
- i18n.t("Don't participate more in this group"), new Listener<String>() {
- public void onEvent(final String parameter) {
+ ActionToolbarMenuDescriptor<StateToken> unJoin = new ActionToolbarMenuDescriptor<StateToken>(
+ AccessRolDTO.Editor, ActionToolbarPosition.bottombar, new Listener<StateToken>() {
+ public void onEvent(StateToken parameter) {
removeMemberAction();
}
});
+ unJoin.setIconUrl("images/del.gif");
+ unJoin.setTextDescription(i18n.t("Unjoin"));
+ unJoin.setToolTip(i18n.t("Don't participate more in this group"));
+ unJoin.setParentMenuTitle(i18n.t("Options"));
+ groupActionRegistry.addAction(participate, GroupActionRegistry.GENERAL);
+ groupActionRegistry.addAction(unJoin, GroupActionRegistry.GENERAL);
}
private GridItem<GroupDTO> createDefMemberMenu(final GroupDTO group, final GridGroup gridGroup) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java 2008-11-19 17:55:46 UTC (rev 956)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java 2008-11-19 22:51:48 UTC (rev 957)
@@ -91,12 +91,12 @@
String dateFormat = session.getCurrentLanguage().getDateFormat();
final DateTimeFormat fmt;
if (dateFormat == null) {
- fmt = DateTimeFormat.getFormat("M/d/yyyy h:mm vvvv");
+ fmt = DateTimeFormat.getFormat("M/d/yyyy h:mm a");
} else {
String abrevMonthInEnglish = DateTimeFormat.getFormat("MMM").format(publishedOn);
String monthToTranslate = abrevMonthInEnglish + " [%NT abbreviated month]";
dateFormat = dateFormat.replaceFirst("MMM", "'" + i18n.t(monthToTranslate) + "'");
- fmt = DateTimeFormat.getFormat(dateFormat + " h:mm vvvv");
+ fmt = DateTimeFormat.getFormat(dateFormat + " h:mm a");
}
view.setContentDate(i18n.t("Published on: [%s]", fmt.format(publishedOn)));
}
1
0
Author: vjrj
Date: 2008-11-19 18:55:46 +0100 (Wed, 19 Nov 2008)
New Revision: 956
Added:
trunk/img/kune-anim-16.gif
trunk/img/kune-anim-16.xcf
trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim-16.gif
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionCntCtxToolbarPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbar.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbarPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationSummaryToolbarPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationToolbar.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditor.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorView.java
Removed:
trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java
trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPanel.java
trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPresenter.java
trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java
Modified:
trunk/img/kune-anim.gif
trunk/img/kune-anim.xcf
trunk/src/main/java/org/ourproject/kune/app/public/Kune.html
trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim.gif
trunk/src/main/java/org/ourproject/kune/chat/client/ctx/ChatContextPresenter.java
trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/BeforeActionCollection.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbar.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarView.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/FoldableContextPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
Log:
Incomplete - task UI tools & workspace refactorization
Incomplete - task Use of new ActionDescriptionClass in SocialNetwork
Added: trunk/img/kune-anim-16.gif
===================================================================
(Binary files differ)
Property changes on: trunk/img/kune-anim-16.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/img/kune-anim-16.xcf
===================================================================
(Binary files differ)
Property changes on: trunk/img/kune-anim-16.xcf
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/img/kune-anim.gif
===================================================================
(Binary files differ)
Modified: trunk/img/kune-anim.xcf
===================================================================
(Binary files differ)
Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-11-19 17:55:46 UTC (rev 956)
@@ -33,7 +33,7 @@
#kuneprogresspanel {
position: absolute;
top: 2px;
- left: 2px;
+ <!-- left: 2px; -->
z-index: 9998;
}
Added: trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim-16.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim-16.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/org/ourproject/kune/app/public/images/kune-anim.gif
===================================================================
(Binary files differ)
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ctx/ChatContextPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ctx/ChatContextPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ctx/ChatContextPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -20,7 +20,6 @@
package org.ourproject.kune.chat.client.ctx;
import org.ourproject.kune.chat.client.ChatClientTool;
-import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.FoldableContextPresenter;
@@ -33,9 +32,4 @@
final Provider<ContextNavigator> contextNavigatorProvider) {
super(ChatClientTool.NAME, stateManager, contextNavigatorProvider);
}
-
- @Override
- protected void setState(final StateContainerDTO state) {
- super.setState(state);
- }
}
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -29,7 +29,6 @@
import static org.ourproject.kune.docs.client.DocumentClientTool.TYPE_WIKIPAGE;
import org.ourproject.kune.docs.client.cnt.DocumentViewer;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditor;
import org.ourproject.kune.platf.client.actions.ActionEnableCondition;
import org.ourproject.kune.platf.client.actions.ActionMenuItemDescriptor;
import org.ourproject.kune.platf.client.actions.ActionToolbarButtonAndItemDescriptor;
@@ -59,6 +58,7 @@
import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.platf.client.ui.upload.FileUploader;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
@@ -87,7 +87,7 @@
private final Provider<TextEditor> textEditorProvider;
private final KuneErrorHandler errorHandler;
private final DocumentViewer documentViewer;
- private final Provider<DocContextPropEditor> contextPropEditorProvider;
+ private final Provider<ContextPropEditor> contextPropEditorProvider;
public DocumentClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
final Session session, final StateManager stateManager,
@@ -96,7 +96,7 @@
final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
final Provider<FileDownloadUtils> fileDownloadProvider, final EntityLogo entityLogo,
final Provider<TextEditor> textEditorProvider, final KuneErrorHandler errorHandler,
- final DocumentViewer documentViewer, final Provider<DocContextPropEditor> contextProvEditorProvider) {
+ final DocumentViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider) {
this.i18n = i18n;
this.contextNavigator = contextNavigator;
this.session = session;
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -26,10 +26,6 @@
import org.ourproject.kune.docs.client.cnt.DocumentViewerPanel;
import org.ourproject.kune.docs.client.cnt.DocumentViewerPresenter;
import org.ourproject.kune.docs.client.cnt.DocumentViewerView;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditor;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorPanel;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorPresenter;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorView;
import org.ourproject.kune.docs.client.ctx.DocumentContext;
import org.ourproject.kune.docs.client.ctx.DocumentContextPresenter;
import org.ourproject.kune.platf.client.actions.ContentActionRegistry;
@@ -48,6 +44,10 @@
import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.platf.client.ui.upload.FileUploader;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditorPanel;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditorPresenter;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditorView;
import org.ourproject.kune.workspace.client.editor.TextEditor;
import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
@@ -84,17 +84,17 @@
$$(GroupServiceAsync.class), $$(FileUploader.class), $(ContentActionRegistry.class),
$(ContextActionRegistry.class), $$(FileDownloadUtils.class), $(EntityLogo.class),
$$(TextEditor.class), $(KuneErrorHandler.class), $(DocumentViewer.class),
- $$(DocContextPropEditor.class));
+ $$(ContextPropEditor.class));
}
});
- register(Singleton.class, new Factory<DocContextPropEditor>(DocContextPropEditor.class) {
+ register(Singleton.class, new Factory<ContextPropEditor>(ContextPropEditor.class) {
@Override
- public DocContextPropEditor create() {
- final DocContextPropEditorPresenter presenter = new DocContextPropEditorPresenter($(Session.class),
+ public ContextPropEditor create() {
+ final ContextPropEditorPresenter presenter = new ContextPropEditorPresenter($(Session.class),
$(StateManager.class), $(ContentCapabilitiesRegistry.class), $$(TagsSummary.class),
$$(ContentServiceAsync.class), $(EntityTitle.class), $(EntitySubTitle.class));
- final DocContextPropEditorView view = new DocContextPropEditorPanel(presenter,
+ final ContextPropEditorView view = new ContextPropEditorPanel(presenter,
$(I18nUITranslationService.class), $(WorkspaceSkeleton.class), $$(LanguageSelector.class),
$(Images.class));
presenter.init(view);
@@ -106,7 +106,7 @@
@Override
public DocumentContext create() {
final DocumentContextPresenter presenter = new DocumentContextPresenter($(StateManager.class),
- $$(ContextNavigator.class), $$(DocContextPropEditor.class));
+ $$(ContextNavigator.class), $$(ContextPropEditor.class));
return presenter;
}
});
Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -1,26 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.docs.client.ctx;
-
-import org.ourproject.kune.workspace.client.cxt.AbstractContextPropEditor;
-
-
-public interface DocContextPropEditor extends AbstractContextPropEditor {
-}
Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPanel.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -1,37 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.docs.client.ctx;
-
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.workspace.client.cxt.AbstractContextPropEditorPanel;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelector;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class DocContextPropEditorPanel extends AbstractContextPropEditorPanel implements DocContextPropEditorView {
-
- public DocContextPropEditorPanel(final DocContextPropEditorPresenter presenter, final I18nTranslationService i18n,
- WorkspaceSkeleton ws, Provider<LanguageSelector> langSelectorProv, Images images) {
- super(presenter, i18n, ws, langSelectorProv, images);
- }
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -1,42 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.docs.client.ctx;
-
-import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
-import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.cxt.AbstractContextPropEditorPresenter;
-import org.ourproject.kune.workspace.client.tags.TagsSummary;
-import org.ourproject.kune.workspace.client.title.EntitySubTitle;
-import org.ourproject.kune.workspace.client.title.EntityTitle;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class DocContextPropEditorPresenter extends AbstractContextPropEditorPresenter implements DocContextPropEditor {
-
- public DocContextPropEditorPresenter(final Session session, final StateManager stateManager,
- ContentCapabilitiesRegistry capabilitiesRegistry, final Provider<TagsSummary> tagsSummaryProvider,
- final Provider<ContentServiceAsync> contentServiceProvider, final EntityTitle entityTitle,
- final EntitySubTitle entitySubTitle) {
- super(session, stateManager, capabilitiesRegistry, tagsSummaryProvider, contentServiceProvider, entityTitle,
- entitySubTitle);
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorView.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditorView.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -1,26 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.docs.client.ctx;
-
-import org.ourproject.kune.workspace.client.cxt.AbstractContextPropEditorView;
-
-
-public interface DocContextPropEditorView extends AbstractContextPropEditorView {
-}
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -20,36 +20,17 @@
package org.ourproject.kune.docs.client.ctx;
import org.ourproject.kune.docs.client.DocumentClientTool;
-import org.ourproject.kune.platf.client.dto.StateContainerDTO;
-import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
+import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.cxt.FoldableContextPresenter;
import com.calclab.suco.client.ioc.Provider;
public class DocumentContextPresenter extends FoldableContextPresenter implements DocumentContext {
- private final Provider<DocContextPropEditor> contextPropEditorProvider;
-
public DocumentContextPresenter(final StateManager stateManager,
final Provider<ContextNavigator> contextNavigatorProvider,
- final Provider<DocContextPropEditor> contextPropEditorProvider) {
- super(DocumentClientTool.NAME, stateManager, contextNavigatorProvider);
- this.contextPropEditorProvider = contextPropEditorProvider;
+ final Provider<ContextPropEditor> contextPropEditorProvider) {
+ super(DocumentClientTool.NAME, stateManager, contextNavigatorProvider, contextPropEditorProvider);
}
-
- @Override
- protected void detach() {
- super.detach();
- contextPropEditorProvider.get().detach();
- contextPropEditorProvider.get().clear();
- }
-
- @Override
- protected void setState(final StateContainerDTO state) {
- super.setState(state);
- if (state instanceof StateContentDTO) {
- contextPropEditorProvider.get().setState((StateContentDTO) state);
- }
- }
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionDescriptor.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -23,7 +23,6 @@
import com.calclab.suco.client.listener.Listener;
-// TODO: Auto-generated Javadoc
/**
* The Class ActionDescriptor.
*/
@@ -332,5 +331,4 @@
public void setToolTip(final String toolTip) {
this.toolTip = toolTip;
}
-
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/BeforeActionCollection.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/BeforeActionCollection.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/BeforeActionCollection.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -2,10 +2,18 @@
import java.util.ArrayList;
+/**
+ * The Class BeforeActionCollection.
+ */
public class BeforeActionCollection extends ArrayList<BeforeActionListener> {
private static final long serialVersionUID = 1L;
+ /**
+ * Check before action listeners.
+ *
+ * @return true, if all listener returns true
+ */
public boolean checkBeforeAction() {
for (BeforeActionListener listener : this) {
if (!listener.beforeAction()) {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/GroupActionRegistry.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -20,5 +20,10 @@
import org.ourproject.kune.platf.client.dto.GroupDTO;
+/**
+ * The Class GroupActionRegistry stores actions over groups (mainly used in SN)
+ */
public class GroupActionRegistry extends ActionRegistry<GroupDTO> {
+
+ public static final String GENERAL = "genActions";
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/UserActionRegistry.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -20,6 +20,12 @@
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+/**
+ * The Class UserActionRegistry.
+ *
+ * List of actions over a user (initially used for buddies actions)
+ *
+ */
public class UserActionRegistry extends ActionRegistry<UserSimpleDTO> {
public static final String GENERAL = "genActions";
Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbar.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public interface ActionBuddiesSummaryToolbar extends ActionToolbar<StateToken> {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionBuddiesSummaryToolbarPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,12 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public class ActionBuddiesSummaryToolbarPresenter extends ActionToolbarPresenter<StateToken> implements
+ ActionBuddiesSummaryToolbar {
+
+ public ActionBuddiesSummaryToolbarPresenter(ActionToolbarView<StateToken> toolbar) {
+ super(toolbar);
+ }
+
+}
Copied: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionCntCtxToolbarPanel.java (from rev 953, trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-11-17 10:18:11 UTC (rev 953)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionCntCtxToolbarPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,71 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.actions.ActionManager;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public class ActionCntCtxToolbarPanel<T> extends ActionToolbarPanel<T> {
+
+ public enum Position {
+ content, context
+ }
+
+ private final Position position;
+
+ public ActionCntCtxToolbarPanel(final Position position, final Provider<ActionManager> actionManagerProvider,
+ final WorkspaceSkeleton ws) {
+ super(actionManagerProvider, ws);
+ this.position = position;
+ }
+
+ public void attach() {
+ if (!topbar.isAttached()) {
+ switch (position) {
+ case content:
+ ws.getEntityWorkspace().getContentTopBar().removeAll();
+ ws.getEntityWorkspace().getContentTopBar().add(topbar);
+ ws.getEntityWorkspace().getContentBottomBar().add(bottombar);
+ break;
+ case context:
+ default:
+ ws.getEntityWorkspace().getContextTopBar().removeAll();
+ ws.getEntityWorkspace().getContextTopBar().add(topbar);
+ ws.getEntityWorkspace().getContextBottomBar().add(bottombar);
+ }
+ }
+ }
+
+ public void detach() {
+ if (topbar.isAttached()) {
+ switch (position) {
+ case content:
+ ws.getEntityWorkspace().getContentTopBar().remove(topbar);
+ ws.getEntityWorkspace().getContentBottomBar().remove(bottombar);
+ break;
+ case context:
+ default:
+ ws.getEntityWorkspace().getContextTopBar().remove(topbar);
+ ws.getEntityWorkspace().getContextBottomBar().remove(bottombar);
+ }
+ }
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbar.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbar.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public interface ActionGroupSummaryToolbar extends ActionToolbar<StateToken> {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbarPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbarPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionGroupSummaryToolbarPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,11 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public class ActionGroupSummaryToolbarPresenter extends ActionToolbarPresenter<StateToken> implements
+ ActionGroupSummaryToolbar {
+
+ public ActionGroupSummaryToolbarPresenter(ActionToolbarView<StateToken> toolbar) {
+ super(toolbar);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationSummaryToolbarPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationSummaryToolbarPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationSummaryToolbarPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,12 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public class ActionParticipationSummaryToolbarPresenter extends ActionToolbarPresenter<StateToken> implements
+ ActionParticipationToolbar {
+
+ public ActionParticipationSummaryToolbarPresenter(ActionToolbarView<StateToken> toolbar) {
+ super(toolbar);
+ }
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationToolbar.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionParticipationToolbar.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.platf.client.actions.toolbar;
+
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public interface ActionParticipationToolbar extends ActionToolbar<StateToken> {
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbar.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbar.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -31,6 +31,8 @@
void disableMenusAndClearButtons();
+ ActionToolbarView<T> getView();
+
void setActions(ActionItemCollection<T> actionItemCollection);
void setEnableAction(ActionToolbarDescriptor<T> action, boolean enable);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -1,22 +1,4 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.platf.client.actions.toolbar;
+package org.ourproject.kune.platf.client.actions.toolbar;
import java.util.HashMap;
@@ -46,25 +28,18 @@
public class ActionToolbarPanel<T> implements ActionToolbarView<T> {
- public enum Position {
- content, context
- }
-
private final HashMap<String, Menu> toolbarMenus;
private final HashMap<String, ToolbarButton> toolbarButtons;
private final HashMap<String, Item> menuItems;
private final Provider<ActionManager> actionManagerProvider;
- private final Position position;
- private final SimpleToolbar topbar;
- private final SimpleToolbar bottombar;
- private final WorkspaceSkeleton ws;
+ protected final SimpleToolbar topbar;
+ protected final SimpleToolbar bottombar;
+ protected final WorkspaceSkeleton ws;
- public ActionToolbarPanel(final Position position, final Provider<ActionManager> actionManagerProvider,
- final WorkspaceSkeleton ws) {
+ public ActionToolbarPanel(final Provider<ActionManager> actionManagerProvider, final WorkspaceSkeleton ws) {
this.ws = ws;
topbar = new SimpleToolbar();
bottombar = new SimpleToolbar();
- this.position = position;
this.actionManagerProvider = actionManagerProvider;
toolbarMenus = new HashMap<String, Menu>();
@@ -123,20 +98,6 @@
}
public void attach() {
- if (!topbar.isAttached()) {
- switch (position) {
- case content:
- ws.getEntityWorkspace().getContentTopBar().removeAll();
- ws.getEntityWorkspace().getContentTopBar().add(topbar);
- ws.getEntityWorkspace().getContentBottomBar().add(bottombar);
- break;
- case context:
- default:
- ws.getEntityWorkspace().getContextTopBar().removeAll();
- ws.getEntityWorkspace().getContextTopBar().add(topbar);
- ws.getEntityWorkspace().getContextBottomBar().add(bottombar);
- }
- }
}
public void clear() {
@@ -150,18 +111,6 @@
}
public void detach() {
- if (topbar.isAttached()) {
- switch (position) {
- case content:
- ws.getEntityWorkspace().getContentTopBar().remove(topbar);
- ws.getEntityWorkspace().getContentBottomBar().remove(bottombar);
- break;
- case context:
- default:
- ws.getEntityWorkspace().getContextTopBar().remove(topbar);
- ws.getEntityWorkspace().getContextBottomBar().remove(bottombar);
- }
- }
}
public void disableAllMenuItems() {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -52,6 +52,10 @@
view.clear();
}
+ public ActionToolbarView<T> getView() {
+ return view;
+ }
+
public void setActions(final ActionItemCollection<T> actions) {
for (final ActionItem<T> actionItem : actions) {
final ActionDescriptor<T> action = actionItem.getAction();
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarView.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarView.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -18,10 +18,11 @@
*
*/package org.ourproject.kune.platf.client.actions.toolbar;
+import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.actions.ActionDescriptor;
import org.ourproject.kune.platf.client.actions.ActionItem;
-public interface ActionToolbarView<T> {
+public interface ActionToolbarView<T> extends View {
void addButtonAction(ActionItem<T> actionItem, boolean enable);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -24,10 +24,17 @@
import org.ourproject.kune.platf.client.actions.ContextActionRegistry;
import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
import org.ourproject.kune.platf.client.actions.UserActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbar;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbarPresenter;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionCntCtxToolbarPanel;
import org.ourproject.kune.platf.client.actions.toolbar.ActionContentToolbar;
import org.ourproject.kune.platf.client.actions.toolbar.ActionContentToolbarPresenter;
import org.ourproject.kune.platf.client.actions.toolbar.ActionContextToolbar;
import org.ourproject.kune.platf.client.actions.toolbar.ActionContextToolbarPresenter;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbar;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbarPresenter;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationSummaryToolbarPresenter;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationToolbar;
import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbar;
import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPanel;
import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarPresenter;
@@ -357,8 +364,8 @@
register(Singleton.class, new Factory<TextEditor>(TextEditor.class) {
@Override
public TextEditor create() {
- final ActionToolbarPanel<StateToken> contentNavigatorToolbar = new ActionToolbarPanel<StateToken>(
- ActionToolbarPanel.Position.content, $$(ActionManager.class), $(WorkspaceSkeleton.class));
+ final ActionCntCtxToolbarPanel<StateToken> contentNavigatorToolbar = new ActionCntCtxToolbarPanel<StateToken>(
+ ActionCntCtxToolbarPanel.Position.content, $$(ActionManager.class), $(WorkspaceSkeleton.class));
final ActionToolbar<StateToken> toolbar = new ActionToolbarPresenter<StateToken>(
contentNavigatorToolbar);
@@ -419,8 +426,8 @@
register(NoDecoration.class, new Factory<ActionContentToolbar>(ActionContentToolbar.class) {
@Override
public ActionContentToolbar create() {
- final ActionToolbarPanel<StateToken> contentNavigatorToolbar = new ActionToolbarPanel<StateToken>(
- ActionToolbarPanel.Position.content, $$(ActionManager.class), $(WorkspaceSkeleton.class));
+ final ActionCntCtxToolbarPanel<StateToken> contentNavigatorToolbar = new ActionCntCtxToolbarPanel<StateToken>(
+ ActionCntCtxToolbarPanel.Position.content, $$(ActionManager.class), $(WorkspaceSkeleton.class));
final ActionContentToolbar toolbar = new ActionContentToolbarPresenter(contentNavigatorToolbar);
return toolbar;
}
@@ -429,13 +436,40 @@
register(NoDecoration.class, new Factory<ActionContextToolbar>(ActionContextToolbar.class) {
@Override
public ActionContextToolbar create() {
- final ActionToolbarPanel<StateToken> contentNavigatorToolbar = new ActionToolbarPanel<StateToken>(
- ActionToolbarPanel.Position.context, $$(ActionManager.class), $(WorkspaceSkeleton.class));
+ final ActionCntCtxToolbarPanel<StateToken> contentNavigatorToolbar = new ActionCntCtxToolbarPanel<StateToken>(
+ ActionCntCtxToolbarPanel.Position.context, $$(ActionManager.class), $(WorkspaceSkeleton.class));
final ActionContextToolbar toolbar = new ActionContextToolbarPresenter(contentNavigatorToolbar);
return toolbar;
}
});
+ register(Singleton.class, new Factory<ActionGroupSummaryToolbar>(ActionGroupSummaryToolbar.class) {
+ @Override
+ public ActionGroupSummaryToolbar create() {
+ final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(
+ $$(ActionManager.class), $(WorkspaceSkeleton.class));
+ final ActionGroupSummaryToolbarPresenter toolbar = new ActionGroupSummaryToolbarPresenter(panel);
+ return toolbar;
+ }
+ }, new Factory<ActionParticipationToolbar>(ActionParticipationToolbar.class) {
+ @Override
+ public ActionParticipationToolbar create() {
+ final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(
+ $$(ActionManager.class), $(WorkspaceSkeleton.class));
+ final ActionParticipationSummaryToolbarPresenter toolbar = new ActionParticipationSummaryToolbarPresenter(
+ panel);
+ return toolbar;
+ }
+ }, new Factory<ActionBuddiesSummaryToolbar>(ActionBuddiesSummaryToolbar.class) {
+ @Override
+ public ActionBuddiesSummaryToolbar create() {
+ final ActionToolbarPanel<StateToken> panel = new ActionToolbarPanel<StateToken>(
+ $$(ActionManager.class), $(WorkspaceSkeleton.class));
+ final ActionBuddiesSummaryToolbarPresenter toolbar = new ActionBuddiesSummaryToolbarPresenter(panel);
+ return toolbar;
+ }
+ });
+
register(Singleton.class, new Factory<ContextNavigator>(ContextNavigator.class) {
@Override
public ContextNavigator create() {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -21,7 +21,11 @@
import org.ourproject.kune.chat.client.ChatEngine;
import org.ourproject.kune.platf.client.actions.ActionManager;
import org.ourproject.kune.platf.client.actions.ContentIconsRegistry;
+import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
import org.ourproject.kune.platf.client.actions.UserActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbar;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbar;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationToolbar;
import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
import org.ourproject.kune.platf.client.registry.RenamableRegistry;
@@ -332,7 +336,8 @@
final GroupMembersSummaryPresenter presenter = new GroupMembersSummaryPresenter(
$(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class),
$(Session.class), $$(SocialNetworkServiceAsync.class), $$(GroupLiveSearcher.class),
- $(WsThemePresenter.class), $$(ChatEngine.class));
+ $(WsThemePresenter.class), $$(ChatEngine.class), $(GroupActionRegistry.class),
+ $(ActionGroupSummaryToolbar.class));
final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter,
$(I18nUITranslationService.class), $(WorkspaceSkeleton.class));
presenter.init(view);
@@ -359,7 +364,7 @@
$(Session.class), $(UserActionRegistry.class), $(I18nTranslationService.class),
$$(ChatEngine.class));
final BuddiesSummaryPanel panel = new BuddiesSummaryPanel(presenter, $(WorkspaceSkeleton.class),
- $(I18nTranslationService.class), $(ActionManager.class));
+ $(I18nTranslationService.class), $(ActionManager.class), $(ActionBuddiesSummaryToolbar.class));
presenter.init(panel);
return presenter;
}
@@ -370,9 +375,11 @@
public ParticipationSummary create() {
final ParticipationSummaryPresenter presenter = new ParticipationSummaryPresenter(
$(I18nUITranslationService.class), $(StateManager.class), $(ImageUtils.class),
- $(Session.class), $$(SocialNetworkServiceAsync.class), $(WsThemePresenter.class));
+ $(Session.class), $$(SocialNetworkServiceAsync.class), $(WsThemePresenter.class),
+ $(GroupActionRegistry.class), $(ActionParticipationToolbar.class));
final ParticipationSummaryView view = new ParticipationSummaryPanel(presenter,
- $(I18nUITranslationService.class), $(WorkspaceSkeleton.class));
+ $(I18nUITranslationService.class), $(WorkspaceSkeleton.class),
+ ($(ActionParticipationToolbar.class).getView()));
presenter.init(view);
return presenter;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -193,14 +193,14 @@
@Override
public void doLayout(final boolean shallow) {
// Grid rendered problems with shallow false
- grid.doLayout(false);
- super.doLayout(false);
+ grid.doLayout(true);
+ super.doLayout(true);
}
public void doLayoutIfNeeded() {
if (super.isRendered()) {
- grid.doLayout(false);
- super.doLayout(false);
+ grid.doLayout(true);
+ super.doLayout(true);
}
}
@@ -249,8 +249,8 @@
@Override
public void setWidth(final int width) {
- // grid.setWidth(width - 27);
- super.setWidth(width);
+ grid.setWidth(width - 27);
+ // super.setWidth(width);
doLayoutIfNeeded();
}
@@ -396,7 +396,7 @@
grid.addGridRowListener(new GridRowListener() {
public void onRowClick(final GridPanel grid, final int rowIndex, final EventObject e) {
- // showMenu(rowIndex, e);
+ showMenu(rowIndex, e);
onClick(rowIndex);
}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -1,32 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.workspace.client.cxt;
-
-import org.ourproject.kune.platf.client.dto.StateContentDTO;
-
-public interface AbstractContextPropEditor {
- void attach();
-
- void clear();
-
- void detach();
-
- void setState(StateContentDTO content);
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -1,263 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.workspace.client.cxt;
-
-import java.util.Date;
-import java.util.List;
-
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorPresenter;
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorView;
-import org.ourproject.kune.platf.client.dto.AccessListsDTO;
-import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
-import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.ContextPropertyPanel;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelector;
-import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.calclab.suco.client.ioc.Provider;
-import com.google.gwt.user.client.ui.ScrollPanel;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.gwtext.client.data.Record;
-import com.gwtext.client.widgets.form.ComboBox;
-import com.gwtext.client.widgets.form.DateField;
-import com.gwtext.client.widgets.form.Field;
-import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.form.TextArea;
-import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
-import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
-
-public abstract class AbstractContextPropEditorPanel extends ScrollPanel implements DocContextPropEditorView {
-
- private static final int FORMS_WIDTH = 150;
- public static final String TAGS_PROP = "k-dcpep-tagsp-dis";
- public static final String LANG_PROP = "k-dcpep-langsp-dis";
- public static final String PUBLI_PROP = "k-dcpep-publisp-dis";
- private static final String ACL_PROP = "";
-
- private final DocContextPropEditorPresenter presenter;
- private final WorkspaceSkeleton ws;
- private final I18nTranslationService i18n;
- private final Provider<LanguageSelector> langSelectorProv;
- private final VerticalPanel vp;
- private ContextPropertyPanel tagsComponent;
- private ContextPropertyPanel langComponent;
- private ContextPropertyPanel publishedOnComponent;
- private TextArea tagsField;
- private DateField publishedOnField;
- private final Images images;
- private ContextPropertyPanel aclComponent;
- private AccessListsPanel accessListsPanel;
-
- public AbstractContextPropEditorPanel(final DocContextPropEditorPresenter presenter,
- final I18nTranslationService i18n, WorkspaceSkeleton ws, Provider<LanguageSelector> langSelectorProv,
- Images images) {
- this.i18n = i18n;
- this.ws = ws;
- this.presenter = presenter;
- this.langSelectorProv = langSelectorProv;
- this.images = images;
- super.addStyleName("kune-Margin-Medium-trbl");
- vp = new VerticalPanel();
- super.add(vp);
- // authors_item = i18n.t("Authors");
- }
-
- public void attach() {
- if (!super.isAttached()) {
- ws.getEntityWorkspace().setContext(this);
- }
- }
-
- public void detach() {
- if (super.isAttached()) {
- super.removeFromParent();
- }
- }
-
- public void removeAccessListComponent() {
- // if (options.containsItem(perms_item)) {
- // removeComponent(perms_item);
- // }
- }
-
- public void removeAclComponent() {
- if (aclComponent != null) {
- aclComponent.removeFromParent();
- }
- }
-
- public void removeAuthorsComponent() {
- // if (options.containsItem(authors_item)) {
- // removeComponent(authors_item);
- // }
- }
-
- public void removeLangComponent() {
- if (langComponent != null) {
- langComponent.removeFromParent();
- }
- }
-
- public void removePublishedOnComponent() {
- if (publishedOnComponent != null) {
- publishedOnComponent.removeFromParent();
- }
- }
-
- public void removeTagsComponent() {
- if (tagsComponent != null) {
- tagsComponent.removeFromParent();
- }
- }
-
- public void reset() {
- if (tagsField != null) {
- tagsField.reset();
- }
- }
-
- public void setAccessLists(final AccessListsDTO accessLists) {
- if (aclComponent == null) {
- accessListsPanel = new AccessListsPanel(i18n, images);
- aclComponent = new ContextPropertyPanel(i18n.t("Permissions"), i18n.t("Who can admin/edit/view this work"),
- true, ACL_PROP, accessListsPanel);
- addComponent(aclComponent);
- }
- accessListsPanel.setAccessLists(accessLists);
- }
-
- public void setAuthors(final List<UserSimpleDTO> authors) {
- // if (authorsComponent == null) {
- // authorsComponent = new VerticalPanel();
- // addAuthorLabel = new IconLabel(IMG.addGreen(), i18n.t("Add author"));
- // addAuthorLabel.addClickListener(new ClickListener() {
- // public void onClick(final Widget sender) {
- // presenter.doAction(DocsEvents.ADD_AUTHOR, null);
- // }
- // });
- // } else {
- // if (options.containsItem(authors_item)) {
- // options.removeStackItem(authors_item);
- // }
- // authorsComponent.clear();
- // }
- // if (!options.containsItem(authors_item)) {
- // addComponent(authors_item, i18n.t("Authors of this work"),
- // authorsComponent);
- // }
- // for (final Iterator<UserSimpleDTO> iterator = authors.iterator();
- // iterator.hasNext();) {
- // final UserSimpleDTO author = iterator.next();
- // final StackSubItemAction[] authorActions = { new
- // StackSubItemAction(IMG.del(), i18n.t("Remove author"),
- // DocsEvents.REMOVE_AUTHOR) };
- // options.addStackSubItem(authors_item, IMG.personDef(),
- // author.getShortName(), author.getName(),
- // authorActions, presenter);
- // }
- // authorsComponent.add(addAuthorLabel);
- }
-
- public void setLanguage(final I18nLanguageDTO language) {
- if (langComponent == null) {
- final LanguageSelectorPanel view = (LanguageSelectorPanel) langSelectorProv.get().getView();
- view.setWidth(FORMS_WIDTH);
- langComponent = new ContextPropertyPanel(i18n.t("What language is this in?"), null, true, LANG_PROP, view);
- view.addChangeListener(new ComboBoxListenerAdapter() {
- @Override
- public void onSelect(final ComboBox comboBox, final Record record, final int index) {
- presenter.doChangeLanguage(record.getAsString(LanguageSelectorPanel.LANG_ID));
- }
- });
- // angComponent.addStyleName("kune-Margin-Medium-t");
- addComponent(langComponent);
- }
- langSelectorProv.get().setLanguage(language);
- }
-
- public void setPublishedOn(final Date publishedOn, String dateFormat) {
- if (publishedOnField == null) {
- publishedOnComponent = createPublicationComponent();
- }
- addComponent(publishedOnComponent);
- publishedOnField.setValue(publishedOn);
- publishedOnField.setFormat(dateFormat);
- }
-
- public void setTags(final String tags) {
- if (tagsComponent == null) {
- tagsComponent = createTagsComponent();
- addComponent(tagsComponent);
- }
- tagsField.setValue(tags);
- }
-
- private void addComponent(ContextPropertyPanel prop) {
- vp.add(prop);
- }
-
- private FormPanel createDefaultForm() {
- final FormPanel form = new FormPanel();
- form.setHideLabels(true);
- form.setWidth(FORMS_WIDTH);
- form.setBorder(false);
- return form;
- }
-
- private ContextPropertyPanel createPublicationComponent() {
- final FormPanel form = createDefaultForm();
-
- publishedOnField = new DateField();
- publishedOnField.setWidth("140");
-
- publishedOnField.addListener(new FieldListenerAdapter() {
- @Override
- public void onChange(final Field field, final Object newVal, final Object oldVal) {
- presenter.setPublishedOn((Date) newVal);
- }
- });
- form.add(publishedOnField);
- return new ContextPropertyPanel(i18n.t("Publication"), i18n.t("Date of publication"), true, PUBLI_PROP, form);
- }
-
- private ContextPropertyPanel createTagsComponent() {
- final FormPanel form = createDefaultForm();
- tagsField = new TextArea();
- tagsField.setWidth(FORMS_WIDTH - 10);
- tagsField.setHeight("3em");
- tagsField.addListener(new FieldListenerAdapter() {
- @Override
- public void onChange(final Field field, final Object newVal, final Object oldVal) {
- presenter.setTags((String) newVal);
- }
- });
- form.add(tagsField);
- return new ContextPropertyPanel(i18n.t("Tags"), i18n.t("Keywords or terms associated with this work"), true,
- TAGS_PROP, form);
- }
-
- // private void removeComponent(final String header) {
- // options.removeStackItem(header);
- // }
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -1,197 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.workspace.client.cxt;
-
-import java.util.Date;
-import java.util.List;
-
-import org.ourproject.kune.docs.client.ctx.DocContextPropEditorView;
-import org.ourproject.kune.platf.client.dto.AccessListsDTO;
-import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
-import org.ourproject.kune.platf.client.dto.StateContainerDTO;
-import org.ourproject.kune.platf.client.dto.StateContentDTO;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
-import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
-import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
-import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
-import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.site.Site;
-import org.ourproject.kune.workspace.client.tags.TagsSummary;
-import org.ourproject.kune.workspace.client.title.EntitySubTitle;
-import org.ourproject.kune.workspace.client.title.EntityTitle;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public abstract class AbstractContextPropEditorPresenter {
-
- private DocContextPropEditorView view;
- private final Session session;
- private final Provider<TagsSummary> tagsSummaryProvider;
- private final Provider<ContentServiceAsync> contentServiceProvider;
- private final EntitySubTitle entitySubTitle;
- private final EntityTitle entityTitle;
- private final StateManager stateManager;
- private final ContentCapabilitiesRegistry capabilitiesRegistry;
-
- public AbstractContextPropEditorPresenter(final Session session, final StateManager stateManager,
- ContentCapabilitiesRegistry capabilitiesRegistry, final Provider<TagsSummary> tagsSummaryProvider,
- final Provider<ContentServiceAsync> contentServiceProvider, final EntityTitle entityTitle,
- final EntitySubTitle entitySubTitle) {
- this.session = session;
- this.stateManager = stateManager;
- this.capabilitiesRegistry = capabilitiesRegistry;
- this.tagsSummaryProvider = tagsSummaryProvider;
- this.contentServiceProvider = contentServiceProvider;
- this.entityTitle = entityTitle;
- this.entitySubTitle = entitySubTitle;
- }
-
- public void addAuthor(final String authorShortName) {
- Site.showProgressProcessing();
- final StateContainerDTO currentState = session.getContentState();
- contentServiceProvider.get().addAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName,
- new AsyncCallbackSimple<Object>() {
- public void onSuccess(final Object result) {
- Site.hideProgress();
- stateManager.reload();
- }
- });
- }
-
- public void attach() {
- view.attach();
- }
-
- public void clear() {
- view.reset();
- }
-
- public void delAuthor(final String authorShortName) {
- Site.showProgressProcessing();
- final StateContainerDTO currentState = session.getContentState();
- contentServiceProvider.get().removeAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName,
- new AsyncCallbackSimple<Object>() {
- public void onSuccess(final Object result) {
- Site.hideProgress();
- stateManager.reload();
- }
- });
- }
-
- public void detach() {
- view.detach();
- }
-
- public void doChangeLanguage(final String langCode) {
- Site.showProgressProcessing();
- final StateContainerDTO currentState = session.getContentState();
- contentServiceProvider.get().setLanguage(session.getUserHash(), currentState.getStateToken(), langCode,
- new AsyncCallbackSimple<I18nLanguageDTO>() {
- public void onSuccess(final I18nLanguageDTO lang) {
- Site.hideProgress();
- entitySubTitle.setContentLanguage(lang.getEnglishName());
- }
- });
- }
-
- public void init(final DocContextPropEditorView view) {
- this.view = view;
- }
-
- public void setPublishedOn(final Date publishedOn) {
- Site.showProgressProcessing();
- final StateContainerDTO currentState = session.getContentState();
- contentServiceProvider.get().setPublishedOn(session.getUserHash(), currentState.getStateToken(), publishedOn,
- new AsyncCallbackSimple<Object>() {
- public void onSuccess(final Object result) {
- Site.hideProgress();
- entityTitle.setContentDate(publishedOn);
- }
- });
- }
-
- public void setState(final StateContentDTO state) {
- // In the future check the use of these components by each tool
- final I18nLanguageDTO language = state.getLanguage();
- final AccessListsDTO accessLists = state.getAccessLists();
- final Date publishedOn = state.getPublishedOn();
- final String tags = state.getTags();
- final List<UserSimpleDTO> authors = state.getAuthors();
-
- String typeId = state.getTypeId();
- if (capabilitiesRegistry.isTranslatable(typeId)) {
- assert (language != null);
- view.setLanguage(language);
- } else {
- view.removeLangComponent();
- }
- if (capabilitiesRegistry.isTageable(typeId)) {
- assert (tags != null);
- view.setTags(tags);
- } else {
- view.removeTagsComponent();
- }
- if (capabilitiesRegistry.isAuthorable(typeId)) {
- assert (authors != null);
- view.setAuthors(authors);
- } else {
- view.removeAuthorsComponent();
- }
- if (capabilitiesRegistry.isPublishModerable(typeId)) {
- assert (publishedOn != null);
- String dateFormat = session.getCurrentLanguage().getDateFormatShort();
- if (dateFormat != null) {
- dateFormat = dateFormat.replace("yyyy", "Y");
- dateFormat = dateFormat.replace("yy", "y");
- dateFormat = dateFormat.replace("MM", "m");
- dateFormat = dateFormat.replace("M", "n");
- dateFormat = dateFormat.replace("dd", "xxx");
- dateFormat = dateFormat.replace("d", "j");
- dateFormat = dateFormat.replace("xxx", "d");
- view.setPublishedOn(publishedOn, dateFormat);
- } else {
- view.setPublishedOn(publishedOn, "M/d/yy def");
- }
- } else {
- view.removePublishedOnComponent();
- }
- if (capabilitiesRegistry.isAclEditable(typeId)) {
- assert (accessLists != null);
- view.setAccessLists(accessLists);
- } else {
- view.removeAccessListComponent();
- }
- }
-
- public void setTags(final String tagsString) {
- Site.showProgressProcessing();
- final StateContainerDTO currentState = session.getContentState();
- contentServiceProvider.get().setTags(session.getUserHash(), currentState.getStateToken(), tagsString,
- new AsyncCallbackSimple<List<TagResultDTO>>() {
- public void onSuccess(final List<TagResultDTO> result) {
- tagsSummaryProvider.get().setGroupTags(result);
- Site.hideProgress();
- }
- });
- }
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -1,57 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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 org.ourproject.kune.workspace.client.cxt;
-
-import java.util.Date;
-import java.util.List;
-
-import org.ourproject.kune.platf.client.dto.AccessListsDTO;
-import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
-import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
-
-public interface AbstractContextPropEditorView {
-
- void attach();
-
- void detach();
-
- void removeAccessListComponent();
-
- void removeAuthorsComponent();
-
- void removeLangComponent();
-
- void removePublishedOnComponent();
-
- void removeTagsComponent();
-
- void reset();
-
- void setAccessLists(AccessListsDTO accessLists);
-
- void setAuthors(List<UserSimpleDTO> authors);
-
- void setLanguage(I18nLanguageDTO language);
-
- void setPublishedOn(Date publishedOn, String dateFormat);
-
- void setTags(String tags);
-
-}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditor.java (from rev 955, trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditor.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,32 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.workspace.client.cxt;
+
+import org.ourproject.kune.platf.client.dto.StateContentDTO;
+
+public interface ContextPropEditor {
+ void attach();
+
+ void clear();
+
+ void detach();
+
+ void setState(StateContentDTO content);
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditor.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java (from rev 955, trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,261 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.workspace.client.cxt;
+
+import java.util.Date;
+import java.util.List;
+
+import org.ourproject.kune.platf.client.dto.AccessListsDTO;
+import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.ContextPropertyPanel;
+import org.ourproject.kune.workspace.client.i18n.LanguageSelector;
+import org.ourproject.kune.workspace.client.i18n.LanguageSelectorPanel;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.google.gwt.user.client.ui.ScrollPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.gwtext.client.data.Record;
+import com.gwtext.client.widgets.form.ComboBox;
+import com.gwtext.client.widgets.form.DateField;
+import com.gwtext.client.widgets.form.Field;
+import com.gwtext.client.widgets.form.FormPanel;
+import com.gwtext.client.widgets.form.TextArea;
+import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
+import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
+
+public class ContextPropEditorPanel extends ScrollPanel implements ContextPropEditorView {
+
+ private static final int FORMS_WIDTH = 150;
+ public static final String TAGS_PROP = "k-dcpep-tagsp-dis";
+ public static final String LANG_PROP = "k-dcpep-langsp-dis";
+ public static final String PUBLI_PROP = "k-dcpep-publisp-dis";
+ private static final String ACL_PROP = "";
+
+ private final ContextPropEditorPresenter presenter;
+ private final WorkspaceSkeleton ws;
+ private final I18nTranslationService i18n;
+ private final Provider<LanguageSelector> langSelectorProv;
+ private final VerticalPanel vp;
+ private ContextPropertyPanel tagsComponent;
+ private ContextPropertyPanel langComponent;
+ private ContextPropertyPanel publishedOnComponent;
+ private TextArea tagsField;
+ private DateField publishedOnField;
+ private final Images images;
+ private ContextPropertyPanel aclComponent;
+ private AccessListsPanel accessListsPanel;
+
+ public ContextPropEditorPanel(final ContextPropEditorPresenter presenter,
+ final I18nTranslationService i18n, WorkspaceSkeleton ws, Provider<LanguageSelector> langSelectorProv,
+ Images images) {
+ this.i18n = i18n;
+ this.ws = ws;
+ this.presenter = presenter;
+ this.langSelectorProv = langSelectorProv;
+ this.images = images;
+ super.addStyleName("kune-Margin-Medium-trbl");
+ vp = new VerticalPanel();
+ super.add(vp);
+ // authors_item = i18n.t("Authors");
+ }
+
+ public void attach() {
+ if (!super.isAttached()) {
+ ws.getEntityWorkspace().setContext(this);
+ }
+ }
+
+ public void detach() {
+ if (super.isAttached()) {
+ super.removeFromParent();
+ }
+ }
+
+ public void removeAccessListComponent() {
+ // if (options.containsItem(perms_item)) {
+ // removeComponent(perms_item);
+ // }
+ }
+
+ public void removeAclComponent() {
+ if (aclComponent != null) {
+ aclComponent.removeFromParent();
+ }
+ }
+
+ public void removeAuthorsComponent() {
+ // if (options.containsItem(authors_item)) {
+ // removeComponent(authors_item);
+ // }
+ }
+
+ public void removeLangComponent() {
+ if (langComponent != null) {
+ langComponent.removeFromParent();
+ }
+ }
+
+ public void removePublishedOnComponent() {
+ if (publishedOnComponent != null) {
+ publishedOnComponent.removeFromParent();
+ }
+ }
+
+ public void removeTagsComponent() {
+ if (tagsComponent != null) {
+ tagsComponent.removeFromParent();
+ }
+ }
+
+ public void reset() {
+ if (tagsField != null) {
+ tagsField.reset();
+ }
+ }
+
+ public void setAccessLists(final AccessListsDTO accessLists) {
+ if (aclComponent == null) {
+ accessListsPanel = new AccessListsPanel(i18n, images);
+ aclComponent = new ContextPropertyPanel(i18n.t("Permissions"), i18n.t("Who can admin/edit/view this work"),
+ true, ACL_PROP, accessListsPanel);
+ addComponent(aclComponent);
+ }
+ accessListsPanel.setAccessLists(accessLists);
+ }
+
+ public void setAuthors(final List<UserSimpleDTO> authors) {
+ // if (authorsComponent == null) {
+ // authorsComponent = new VerticalPanel();
+ // addAuthorLabel = new IconLabel(IMG.addGreen(), i18n.t("Add author"));
+ // addAuthorLabel.addClickListener(new ClickListener() {
+ // public void onClick(final Widget sender) {
+ // presenter.doAction(DocsEvents.ADD_AUTHOR, null);
+ // }
+ // });
+ // } else {
+ // if (options.containsItem(authors_item)) {
+ // options.removeStackItem(authors_item);
+ // }
+ // authorsComponent.clear();
+ // }
+ // if (!options.containsItem(authors_item)) {
+ // addComponent(authors_item, i18n.t("Authors of this work"),
+ // authorsComponent);
+ // }
+ // for (final Iterator<UserSimpleDTO> iterator = authors.iterator();
+ // iterator.hasNext();) {
+ // final UserSimpleDTO author = iterator.next();
+ // final StackSubItemAction[] authorActions = { new
+ // StackSubItemAction(IMG.del(), i18n.t("Remove author"),
+ // DocsEvents.REMOVE_AUTHOR) };
+ // options.addStackSubItem(authors_item, IMG.personDef(),
+ // author.getShortName(), author.getName(),
+ // authorActions, presenter);
+ // }
+ // authorsComponent.add(addAuthorLabel);
+ }
+
+ public void setLanguage(final I18nLanguageDTO language) {
+ if (langComponent == null) {
+ final LanguageSelectorPanel view = (LanguageSelectorPanel) langSelectorProv.get().getView();
+ view.setWidth(FORMS_WIDTH);
+ langComponent = new ContextPropertyPanel(i18n.t("What language is this in?"), null, true, LANG_PROP, view);
+ view.addChangeListener(new ComboBoxListenerAdapter() {
+ @Override
+ public void onSelect(final ComboBox comboBox, final Record record, final int index) {
+ presenter.doChangeLanguage(record.getAsString(LanguageSelectorPanel.LANG_ID));
+ }
+ });
+ // angComponent.addStyleName("kune-Margin-Medium-t");
+ addComponent(langComponent);
+ }
+ langSelectorProv.get().setLanguage(language);
+ }
+
+ public void setPublishedOn(final Date publishedOn, String dateFormat) {
+ if (publishedOnField == null) {
+ publishedOnComponent = createPublicationComponent();
+ }
+ addComponent(publishedOnComponent);
+ publishedOnField.setValue(publishedOn);
+ publishedOnField.setFormat(dateFormat);
+ }
+
+ public void setTags(final String tags) {
+ if (tagsComponent == null) {
+ tagsComponent = createTagsComponent();
+ addComponent(tagsComponent);
+ }
+ tagsField.setValue(tags);
+ }
+
+ private void addComponent(ContextPropertyPanel prop) {
+ vp.add(prop);
+ }
+
+ private FormPanel createDefaultForm() {
+ final FormPanel form = new FormPanel();
+ form.setHideLabels(true);
+ form.setWidth(FORMS_WIDTH);
+ form.setBorder(false);
+ return form;
+ }
+
+ private ContextPropertyPanel createPublicationComponent() {
+ final FormPanel form = createDefaultForm();
+
+ publishedOnField = new DateField();
+ publishedOnField.setWidth("140");
+
+ publishedOnField.addListener(new FieldListenerAdapter() {
+ @Override
+ public void onChange(final Field field, final Object newVal, final Object oldVal) {
+ presenter.setPublishedOn((Date) newVal);
+ }
+ });
+ form.add(publishedOnField);
+ return new ContextPropertyPanel(i18n.t("Publication"), i18n.t("Date of publication"), true, PUBLI_PROP, form);
+ }
+
+ private ContextPropertyPanel createTagsComponent() {
+ final FormPanel form = createDefaultForm();
+ tagsField = new TextArea();
+ tagsField.setWidth(FORMS_WIDTH - 10);
+ tagsField.setHeight("3em");
+ tagsField.addListener(new FieldListenerAdapter() {
+ @Override
+ public void onChange(final Field field, final Object newVal, final Object oldVal) {
+ presenter.setTags((String) newVal);
+ }
+ });
+ form.add(tagsField);
+ return new ContextPropertyPanel(i18n.t("Tags"), i18n.t("Keywords or terms associated with this work"), true,
+ TAGS_PROP, form);
+ }
+
+ // private void removeComponent(final String header) {
+ // options.removeStackItem(header);
+ // }
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPanel.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java (from rev 953, trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPresenter.java 2008-11-17 10:18:11 UTC (rev 953)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,196 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.workspace.client.cxt;
+
+import java.util.Date;
+import java.util.List;
+
+import org.ourproject.kune.platf.client.dto.AccessListsDTO;
+import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
+import org.ourproject.kune.platf.client.dto.StateContainerDTO;
+import org.ourproject.kune.platf.client.dto.StateContentDTO;
+import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
+import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
+import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.tags.TagsSummary;
+import org.ourproject.kune.workspace.client.title.EntitySubTitle;
+import org.ourproject.kune.workspace.client.title.EntityTitle;
+
+import com.calclab.suco.client.ioc.Provider;
+
+public class ContextPropEditorPresenter implements ContextPropEditor {
+
+ private ContextPropEditorView view;
+ private final Session session;
+ private final Provider<TagsSummary> tagsSummaryProvider;
+ private final Provider<ContentServiceAsync> contentServiceProvider;
+ private final EntitySubTitle entitySubTitle;
+ private final EntityTitle entityTitle;
+ private final StateManager stateManager;
+ private final ContentCapabilitiesRegistry capabilitiesRegistry;
+
+ public ContextPropEditorPresenter(final Session session, final StateManager stateManager,
+ ContentCapabilitiesRegistry capabilitiesRegistry, final Provider<TagsSummary> tagsSummaryProvider,
+ final Provider<ContentServiceAsync> contentServiceProvider, final EntityTitle entityTitle,
+ final EntitySubTitle entitySubTitle) {
+ this.session = session;
+ this.stateManager = stateManager;
+ this.capabilitiesRegistry = capabilitiesRegistry;
+ this.tagsSummaryProvider = tagsSummaryProvider;
+ this.contentServiceProvider = contentServiceProvider;
+ this.entityTitle = entityTitle;
+ this.entitySubTitle = entitySubTitle;
+ }
+
+ public void addAuthor(final String authorShortName) {
+ Site.showProgressProcessing();
+ final StateContainerDTO currentState = session.getContentState();
+ contentServiceProvider.get().addAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName,
+ new AsyncCallbackSimple<Object>() {
+ public void onSuccess(final Object result) {
+ Site.hideProgress();
+ stateManager.reload();
+ }
+ });
+ }
+
+ public void attach() {
+ view.attach();
+ }
+
+ public void clear() {
+ view.reset();
+ }
+
+ public void delAuthor(final String authorShortName) {
+ Site.showProgressProcessing();
+ final StateContainerDTO currentState = session.getContentState();
+ contentServiceProvider.get().removeAuthor(session.getUserHash(), currentState.getStateToken(), authorShortName,
+ new AsyncCallbackSimple<Object>() {
+ public void onSuccess(final Object result) {
+ Site.hideProgress();
+ stateManager.reload();
+ }
+ });
+ }
+
+ public void detach() {
+ view.detach();
+ }
+
+ public void doChangeLanguage(final String langCode) {
+ Site.showProgressProcessing();
+ final StateContainerDTO currentState = session.getContentState();
+ contentServiceProvider.get().setLanguage(session.getUserHash(), currentState.getStateToken(), langCode,
+ new AsyncCallbackSimple<I18nLanguageDTO>() {
+ public void onSuccess(final I18nLanguageDTO lang) {
+ Site.hideProgress();
+ entitySubTitle.setContentLanguage(lang.getEnglishName());
+ }
+ });
+ }
+
+ public void init(final ContextPropEditorView view) {
+ this.view = view;
+ }
+
+ public void setPublishedOn(final Date publishedOn) {
+ Site.showProgressProcessing();
+ final StateContainerDTO currentState = session.getContentState();
+ contentServiceProvider.get().setPublishedOn(session.getUserHash(), currentState.getStateToken(), publishedOn,
+ new AsyncCallbackSimple<Object>() {
+ public void onSuccess(final Object result) {
+ Site.hideProgress();
+ entityTitle.setContentDate(publishedOn);
+ }
+ });
+ }
+
+ public void setState(final StateContentDTO state) {
+ // In the future check the use of these components by each tool
+ final I18nLanguageDTO language = state.getLanguage();
+ final AccessListsDTO accessLists = state.getAccessLists();
+ final Date publishedOn = state.getPublishedOn();
+ final String tags = state.getTags();
+ final List<UserSimpleDTO> authors = state.getAuthors();
+
+ String typeId = state.getTypeId();
+ if (capabilitiesRegistry.isTranslatable(typeId)) {
+ assert (language != null);
+ view.setLanguage(language);
+ } else {
+ view.removeLangComponent();
+ }
+ if (capabilitiesRegistry.isTageable(typeId)) {
+ assert (tags != null);
+ view.setTags(tags);
+ } else {
+ view.removeTagsComponent();
+ }
+ if (capabilitiesRegistry.isAuthorable(typeId)) {
+ assert (authors != null);
+ view.setAuthors(authors);
+ } else {
+ view.removeAuthorsComponent();
+ }
+ if (capabilitiesRegistry.isPublishModerable(typeId)) {
+ assert (publishedOn != null);
+ String dateFormat = session.getCurrentLanguage().getDateFormatShort();
+ if (dateFormat != null) {
+ dateFormat = dateFormat.replace("yyyy", "Y");
+ dateFormat = dateFormat.replace("yy", "y");
+ dateFormat = dateFormat.replace("MM", "m");
+ dateFormat = dateFormat.replace("M", "n");
+ dateFormat = dateFormat.replace("dd", "xxx");
+ dateFormat = dateFormat.replace("d", "j");
+ dateFormat = dateFormat.replace("xxx", "d");
+ view.setPublishedOn(publishedOn, dateFormat);
+ } else {
+ view.setPublishedOn(publishedOn, "M/d/yy def");
+ }
+ } else {
+ view.removePublishedOnComponent();
+ }
+ if (capabilitiesRegistry.isAclEditable(typeId)) {
+ assert (accessLists != null);
+ view.setAccessLists(accessLists);
+ } else {
+ view.removeAccessListComponent();
+ }
+ }
+
+ public void setTags(final String tagsString) {
+ Site.showProgressProcessing();
+ final StateContainerDTO currentState = session.getContentState();
+ contentServiceProvider.get().setTags(session.getUserHash(), currentState.getStateToken(), tagsString,
+ new AsyncCallbackSimple<List<TagResultDTO>>() {
+ public void onSuccess(final List<TagResultDTO> result) {
+ tagsSummaryProvider.get().setGroupTags(result);
+ Site.hideProgress();
+ }
+ });
+ }
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorView.java (from rev 953, trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorView.java 2008-11-17 10:18:11 UTC (rev 953)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorView.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -0,0 +1,57 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.workspace.client.cxt;
+
+import java.util.Date;
+import java.util.List;
+
+import org.ourproject.kune.platf.client.dto.AccessListsDTO;
+import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
+import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
+
+public interface ContextPropEditorView {
+
+ void attach();
+
+ void detach();
+
+ void removeAccessListComponent();
+
+ void removeAuthorsComponent();
+
+ void removeLangComponent();
+
+ void removePublishedOnComponent();
+
+ void removeTagsComponent();
+
+ void reset();
+
+ void setAccessLists(AccessListsDTO accessLists);
+
+ void setAuthors(List<UserSimpleDTO> authors);
+
+ void setLanguage(I18nLanguageDTO language);
+
+ void setPublishedOn(Date publishedOn, String dateFormat);
+
+ void setTags(String tags);
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorView.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/FoldableContextPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/FoldableContextPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/FoldableContextPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -2,6 +2,7 @@
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
+import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
@@ -11,11 +12,19 @@
public abstract class FoldableContextPresenter {
private final Provider<ContextNavigator> contextNavigatorProvider;
protected final String toolname;
+ private final Provider<ContextPropEditor> contextPropEditorProvider;
public FoldableContextPresenter(final String toolname, final StateManager stateManager,
final Provider<ContextNavigator> contextNavigatorProvider) {
+ this(toolname, stateManager, contextNavigatorProvider, null);
+ }
+
+ public FoldableContextPresenter(final String toolname, final StateManager stateManager,
+ final Provider<ContextNavigator> contextNavigatorProvider,
+ Provider<ContextPropEditor> contextPropEditorProvider) {
this.toolname = toolname;
this.contextNavigatorProvider = contextNavigatorProvider;
+ this.contextPropEditorProvider = contextPropEditorProvider;
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
public void onEvent(final StateAbstractDTO state) {
if (state instanceof StateContainerDTO) {
@@ -34,9 +43,16 @@
protected void detach() {
contextNavigatorProvider.get().detach();
contextNavigatorProvider.get().clear();
+ if (contextPropEditorProvider != null) {
+ contextPropEditorProvider.get().detach();
+ contextPropEditorProvider.get().clear();
+ }
}
protected void setState(StateContainerDTO state) {
contextNavigatorProvider.get().setState(state, true);
+ if (contextPropEditorProvider != null && state instanceof StateContentDTO) {
+ contextPropEditorProvider.get().setState((StateContentDTO) state);
+ }
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -33,7 +33,7 @@
public void doLayoutIfNeeded() {
if (super.isRendered()) {
- super.doLayout(false);
+ super.doLayout();
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -22,6 +22,7 @@
import org.ourproject.kune.platf.client.actions.ActionItemCollection;
import org.ourproject.kune.platf.client.actions.ActionManager;
import org.ourproject.kune.platf.client.actions.MenuItemsContainer;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionBuddiesSummaryToolbar;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.workspace.client.skel.SummaryPanel;
@@ -74,7 +75,8 @@
private final ActionManager actionManager;
public BuddiesSummaryPanel(final BuddiesSummaryPresenter presenter, final WorkspaceSkeleton ws,
- I18nTranslationService i18n, ActionManager actionManager) {
+ I18nTranslationService i18n, ActionManager actionManager,
+ ActionBuddiesSummaryToolbar actionBuddiesSummaryToolbar) {
super(i18n.t("Buddies"), i18n.t("Buddies of this user"), ws);
this.actionManager = actionManager;
menuItemsContainer = new MenuItemsContainer<UserSimpleDTO>();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -66,7 +66,7 @@
presenter.onDoubleClick(groupShortName);
}
};
- gridMenuPanel.onClick(go);
+ // gridMenuPanel.onClick(go);
gridMenuPanel.onDoubleClick(go);
gridMenuPanel.getBottomBar().setCls("k-blank-toolbar");
super.add(gridMenuPanel);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -21,6 +21,8 @@
import java.util.List;
import org.ourproject.kune.chat.client.ChatEngine;
+import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbar;
import org.ourproject.kune.platf.client.dto.AccessListsDTO;
import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
import org.ourproject.kune.platf.client.dto.GroupDTO;
@@ -66,8 +68,9 @@
final ImageUtils imageUtils, final Session session,
final Provider<SocialNetworkServiceAsync> snServiceProvider,
final Provider<GroupLiveSearcher> liveSearcherProvider, final WsThemePresenter wsThemePresenter,
- final Provider<ChatEngine> chatEngineProvider) {
- super(i18n, stateManager, imageUtils, session, snServiceProvider);
+ final Provider<ChatEngine> chatEngineProvider, GroupActionRegistry groupActionRegistry,
+ ActionGroupSummaryToolbar actionGroupSummaryToolbar) {
+ super(i18n, stateManager, imageUtils, session, snServiceProvider, groupActionRegistry);
this.i18n = i18n;
this.stateManager = stateManager;
this.session = session;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -19,7 +19,9 @@
*/
package org.ourproject.kune.workspace.client.socialnet;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionToolbarView;
import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuPanel;
@@ -36,7 +38,7 @@
private final GridMenuPanel<GroupDTO> gridMenuPanel;
public ParticipationSummaryPanel(final ParticipationSummaryPresenter presenter, final I18nTranslationService i18n,
- final WorkspaceSkeleton ws) {
+ final WorkspaceSkeleton ws, ActionToolbarView<StateToken> actionToolbarView) {
super(i18n.t("Participates in"), i18n.t("Groups in which participates"), ws);
// super.setBorderStylePrimaryName("k-dropdownouter-part"); //
// super.addStyleName("kune-Margin-Medium-t");
@@ -48,7 +50,7 @@
presenter.onDoubleClick(groupShortName);
}
};
- gridMenuPanel.onClick(go);
+ // gridMenuPanel.onClick(go);
gridMenuPanel.onDoubleClick(go);
super.add(gridMenuPanel);
ws.addInSummary(this);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -21,6 +21,8 @@
import java.util.List;
+import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationToolbar;
import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.ParticipationDataDTO;
@@ -48,8 +50,9 @@
public ParticipationSummaryPresenter(final I18nUITranslationService i18n, final StateManager stateManager,
final ImageUtils imageUtils, final Session session,
- final Provider<SocialNetworkServiceAsync> snServiceProvider, final WsThemePresenter wsThemePresenter) {
- super(i18n, stateManager, imageUtils, session, snServiceProvider);
+ final Provider<SocialNetworkServiceAsync> snServiceProvider, final WsThemePresenter wsThemePresenter,
+ GroupActionRegistry groupActionRegistry, ActionParticipationToolbar actionParticipationToolbar) {
+ super(i18n, stateManager, imageUtils, session, snServiceProvider, groupActionRegistry);
adminCategory = new GridGroup("admin in:", " ", i18n.tWithNT("Administrate these groups",
"talking about a person"), false);
collabCategory = new GridGroup(i18n.t("and as collaborator in:"), " ", i18n.t("Collaborate in these groups"),
@@ -103,7 +106,5 @@
} else {
hide();
}
-
}
-
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-11-19 17:55:46 UTC (rev 956)
@@ -18,6 +18,7 @@
*
*/package org.ourproject.kune.workspace.client.socialnet;
+import org.ourproject.kune.platf.client.actions.GroupActionRegistry;
import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.GroupType;
@@ -63,15 +64,17 @@
private final ImageUtils imageUtils;
private final MenuItemCollection<GroupDTO> otherOperationsUsers;
private final MenuItemCollection<GroupDTO> otherLoggedOperationsUsers;
+ private final GroupActionRegistry groupActionRegistry;
public SocialNetworkPresenter(final I18nUITranslationService i18n, final StateManager stateManager,
final ImageUtils imageUtils, final Session session,
- final Provider<SocialNetworkServiceAsync> snServiceProvider) {
+ final Provider<SocialNetworkServiceAsync> snServiceProvider, GroupActionRegistry groupActionRegistry) {
this.i18n = i18n;
this.stateManager = stateManager;
this.imageUtils = imageUtils;
this.session = session;
this.snServiceProvider = snServiceProvider;
+ this.groupActionRegistry = groupActionRegistry;
createButtons();
createMenuActions();
otherOperationsUsers = new MenuItemCollection<GroupDTO>();
1
0
Author: vjrj
Date: 2008-11-18 13:05:52 +0100 (Tue, 18 Nov 2008)
New Revision: 955
Added:
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java
Modified:
trunk/pom.xml
trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPresenter.java
trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java
trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java
Log:
Incomplete - task UI tools & workspace refactorization
Complete - task Editor height not resized
Incomplete - task New Register of type_id and capabilities
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2008-11-17 10:27:04 UTC (rev 954)
+++ trunk/pom.xml 2008-11-18 12:05:52 UTC (rev 955)
@@ -379,8 +379,8 @@
<version>2.0-beta23</version>
<configuration>
<logLevel>INFO</logLevel>
- <style>OBF</style>
- <!-- <style>PRETTY</style> -->
+ <style>PRETTY</style>
+ <!-- <style>OBF</style> -->
<runTarget>
org.ourproject.kune.app.Kune/Kune.html
</runTarget>
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPresenter.java 2008-11-17 10:27:04 UTC (rev 954)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/cnt/DocumentViewerPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
@@ -57,24 +57,30 @@
@Override
protected void setState(StateContentDTO state) {
super.setState(state);
+ setContent(state, DocumentClientTool.TYPE_UPLOADEDFILE);
+ }
+
+ private void setContent(StateContentDTO state, String uploadedfileType) {
String typeId = state.getTypeId();
- String text = state.getContent();
+ String contentBody = state.getContent();
StateToken token = state.getStateToken();
BasicMimeTypeDTO mimeType = state.getMimeType();
- if (typeId.equals(DocumentClientTool.TYPE_UPLOADEDFILE)) {
+ if (typeId.equals(uploadedfileType)) {
if (mimeType != null) {
FileDownloadUtils fileDownloadUtils = downloadProvider.get();
if (mimeType.getType().equals("image")) {
view.showImage(fileDownloadUtils.getImageUrl(token), fileDownloadUtils.getImageResizedUrl(token,
ImageSize.sized));
} else if (mimeType.toString().equals("text/plain") || mimeType.toString().equals("application/pdf")) {
- view.setContent(text);
+ view.setContent(contentBody);
} else {
view.setContent("");
}
+ } else {
+ view.setContent("");
}
} else {
- view.setContent(text);
+ view.setContent(contentBody);
}
view.attach();
}
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java 2008-11-17 10:27:04 UTC (rev 954)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocContextPropEditor.java 2008-11-18 12:05:52 UTC (rev 955)
@@ -19,14 +19,8 @@
*/
package org.ourproject.kune.docs.client.ctx;
-import org.ourproject.kune.platf.client.dto.StateContentDTO;
+import org.ourproject.kune.workspace.client.cxt.AbstractContextPropEditor;
-public interface DocContextPropEditor {
- void attach();
- void clear();
-
- void detach();
-
- void setState(StateContentDTO content);
+public interface DocContextPropEditor extends AbstractContextPropEditor {
}
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java 2008-11-17 10:27:04 UTC (rev 954)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/DocumentContextPresenter.java 2008-11-18 12:05:52 UTC (rev 955)
@@ -29,27 +29,27 @@
import com.calclab.suco.client.ioc.Provider;
public class DocumentContextPresenter extends FoldableContextPresenter implements DocumentContext {
- private final Provider<DocContextPropEditor> adminContextProvider;
+ private final Provider<DocContextPropEditor> contextPropEditorProvider;
public DocumentContextPresenter(final StateManager stateManager,
final Provider<ContextNavigator> contextNavigatorProvider,
- final Provider<DocContextPropEditor> adminContextProvider) {
+ final Provider<DocContextPropEditor> contextPropEditorProvider) {
super(DocumentClientTool.NAME, stateManager, contextNavigatorProvider);
- this.adminContextProvider = adminContextProvider;
+ this.contextPropEditorProvider = contextPropEditorProvider;
}
@Override
protected void detach() {
super.detach();
- adminContextProvider.get().detach();
- adminContextProvider.get().clear();
+ contextPropEditorProvider.get().detach();
+ contextPropEditorProvider.get().clear();
}
@Override
protected void setState(final StateContainerDTO state) {
super.setState(state);
if (state instanceof StateContentDTO) {
- adminContextProvider.get().setState((StateContentDTO) state);
+ contextPropEditorProvider.get().setState((StateContentDTO) state);
}
}
}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java 2008-11-17 10:27:04 UTC (rev 954)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditor.java 2008-11-18 12:05:52 UTC (rev 955)
@@ -0,0 +1,32 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.workspace.client.cxt;
+
+import org.ourproject.kune.platf.client.dto.StateContentDTO;
+
+public interface AbstractContextPropEditor {
+ void attach();
+
+ void clear();
+
+ void detach();
+
+ void setState(StateContentDTO content);
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java 2008-11-17 10:27:04 UTC (rev 954)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/AbstractContextPropEditorPanel.java 2008-11-18 12:05:52 UTC (rev 955)
@@ -131,7 +131,9 @@
}
public void reset() {
- tagsField.reset();
+ if (tagsField != null) {
+ tagsField.reset();
+ }
}
public void setAccessLists(final AccessListsDTO accessLists) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java 2008-11-17 10:27:04 UTC (rev 954)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java 2008-11-18 12:05:52 UTC (rev 955)
@@ -54,6 +54,7 @@
gwtRTarea = new RichTextArea();
gwtRTarea.setWidth("97%");
+ gwtRTarea.setHeight("100%");
gwtRTarea.addStyleName("kune-TexEditorPanel-TextArea");
gwtRTarea.ensureDebugId(TEXT_AREA);
@@ -66,6 +67,7 @@
mainPanel.add(editorTopBar.getPanel());
mainPanel.add(gwtRTarea);
+ adjustSize(ws.getEntityWorkspace().getContentHeight());
ws.getEntityWorkspace().addContentListener(new ContainerListenerAdapter() {
@Override
public void onResize(final BoxComponent component, final int adjWidth, final int adjHeight,
@@ -143,6 +145,8 @@
}
private void adjustSize(final int height) {
- gwtRTarea.setHeight("" + (height - WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT));
+ int newHeight = height - WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - 27;
+ gwtRTarea.setHeight("" + newHeight);
+ mainPanel.setCellHeight(gwtRTarea, "" + newHeight);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java 2008-11-17 10:27:04 UTC (rev 954)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java 2008-11-18 12:05:52 UTC (rev 955)
@@ -25,6 +25,7 @@
import com.gwtext.client.core.RegionPosition;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.ContainerListener;
+import com.gwtext.client.widgets.event.ContainerListenerAdapter;
import com.gwtext.client.widgets.layout.AnchorLayout;
import com.gwtext.client.widgets.layout.AnchorLayoutData;
import com.gwtext.client.widgets.layout.BorderLayout;
@@ -148,6 +149,10 @@
context.addListener(listener);
}
+ public void addListener(ContainerListenerAdapter containerListenerAdapter) {
+ cntCtxBorderLayout.addListener(containerListenerAdapter);
+ }
+
public SimpleToolbar getBottomTitle() {
return bottom;
}
@@ -156,6 +161,10 @@
return contentBottomBar;
}
+ public int getContentHeight() {
+ return content.getHeight();
+ }
+
public Toolbar getContentTopBar() {
return contentTopBar;
}
@@ -168,6 +177,10 @@
return contextTopBar;
}
+ public int getHeight() {
+ return cntCtxBorderLayout.getHeight();
+ }
+
public Panel getPanel() {
return mainFitPanel;
}
1
0
r954 - in trunk/src/main/java/org/ourproject/kune: chat/client chat/client/cnt docs/client/ctx
by vjrj 17 Nov '08
by vjrj 17 Nov '08
17 Nov '08
Author: vjrj
Date: 2008-11-17 11:27:04 +0100 (Mon, 17 Nov 2008)
New Revision: 954
Added:
trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoom.java
trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPanel.java
trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java
trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomView.java
Removed:
trunk/src/main/java/org/ourproject/kune/chat/client/cnt/room/
trunk/src/main/java/org/ourproject/kune/docs/client/ctx/admin/
Modified:
trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
Log:
Incomplete - task New Register of type_id and capabilities
Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java 2008-11-17 10:18:11 UTC (rev 953)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java 2008-11-17 10:27:04 UTC (rev 954)
@@ -18,9 +18,9 @@
*
*/package org.ourproject.kune.chat.client;
-import org.ourproject.kune.chat.client.cnt.room.ChatRoom;
-import org.ourproject.kune.chat.client.cnt.room.ChatRoomPanel;
-import org.ourproject.kune.chat.client.cnt.room.ChatRoomPresenter;
+import org.ourproject.kune.chat.client.cnt.ChatRoom;
+import org.ourproject.kune.chat.client.cnt.ChatRoomPanel;
+import org.ourproject.kune.chat.client.cnt.ChatRoomPresenter;
import org.ourproject.kune.chat.client.ctx.ChatContext;
import org.ourproject.kune.chat.client.ctx.ChatContextPresenter;
import org.ourproject.kune.chat.client.ctx.room.AddRoom;
Copied: trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoom.java (from rev 949, trunk/src/main/java/org/ourproject/kune/chat/client/cnt/room/ChatRoom.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/cnt/room/ChatRoom.java 2008-11-11 13:33:36 UTC (rev 949)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoom.java 2008-11-17 10:27:04 UTC (rev 954)
@@ -0,0 +1,23 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.chat.client.cnt;
+
+public interface ChatRoom {
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoom.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPanel.java (from rev 949, trunk/src/main/java/org/ourproject/kune/chat/client/cnt/room/ChatRoomPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/cnt/room/ChatRoomPanel.java 2008-11-11 13:33:36 UTC (rev 949)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPanel.java 2008-11-17 10:27:04 UTC (rev 954)
@@ -0,0 +1,35 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.chat.client.cnt;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.workspace.client.cnt.FoldableContentPanel;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+public class ChatRoomPanel extends FoldableContentPanel implements ChatRoomView {
+
+ public ChatRoomPanel(final WorkspaceSkeleton ws, I18nTranslationService i18n) {
+ super(ws, i18n);
+ }
+
+ public void setInfo(String info) {
+ setLabel(info);
+ }
+}
Copied: trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java (from rev 949, trunk/src/main/java/org/ourproject/kune/chat/client/cnt/room/ChatRoomPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/cnt/room/ChatRoomPresenter.java 2008-11-11 13:33:36 UTC (rev 949)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java 2008-11-17 10:27:04 UTC (rev 954)
@@ -0,0 +1,62 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.chat.client.cnt;
+
+import org.ourproject.kune.chat.client.ChatClientTool;
+import org.ourproject.kune.platf.client.actions.ActionRegistry;
+import org.ourproject.kune.platf.client.actions.toolbar.ActionContentToolbar;
+import org.ourproject.kune.platf.client.dto.StateContainerDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.cnt.FoldableContentPresenter;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.site.Site;
+
+public class ChatRoomPresenter extends FoldableContentPresenter implements ChatRoom {
+
+ private ChatRoomView view;
+ private final I18nUITranslationService i18n;
+
+ public ChatRoomPresenter(StateManager stateManager, Session session, I18nUITranslationService i18n,
+ ActionContentToolbar toolbar, final ActionRegistry<StateToken> actionRegistry) {
+ super(ChatClientTool.NAME, stateManager, session, toolbar, actionRegistry);
+ this.i18n = i18n;
+ }
+
+ public void init(final ChatRoomView view) {
+ super.init(view);
+ this.view = view;
+ }
+
+ @Override
+ protected void setState(StateContainerDTO state) {
+ if (state.getTypeId().equals(ChatClientTool.TYPE_ROOT)) {
+ if (state.getRootContainer().getChilds().size() == 0) {
+ view.setInfo(i18n.t("This group has no chat rooms."));
+ } else {
+ view.setInfo("");
+ }
+ } else {
+ view.setInfo("History of room conversations ..." + Site.IN_DEVELOPMENT);
+ }
+ super.setState(state);
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomPresenter.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomView.java (from rev 949, trunk/src/main/java/org/ourproject/kune/chat/client/cnt/room/ChatRoomView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/cnt/room/ChatRoomView.java 2008-11-11 13:33:36 UTC (rev 949)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomView.java 2008-11-17 10:27:04 UTC (rev 954)
@@ -0,0 +1,27 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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 org.ourproject.kune.chat.client.cnt;
+
+import org.ourproject.kune.workspace.client.cnt.AbstractContentView;
+
+public interface ChatRoomView extends AbstractContentView {
+
+ void setInfo(String info);
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/chat/client/cnt/ChatRoomView.java
___________________________________________________________________
Name: svn:mergeinfo
+
1
0