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
May 2011
- 2 participants
- 62 discussions
r1355 - in trunk/src/main/java/cc/kune: chat/client/actions core/client/resources core/client/sitebar/search core/client/sn/actions
by Vicente J. Ruiz Jurado 06 May '11
by Vicente J. Ruiz Jurado 06 May '11
06 May '11
Author: vjrj_
Date: 2011-05-06 16:45:24 +0200 (Fri, 06 May 2011)
New Revision: 1355
Modified:
trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java
trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPanel.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPresenter.java
trunk/src/main/java/cc/kune/core/client/sn/actions/AddNewBuddiesAction.java
Log:
Add buddie action workaround
Modified: trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java 2011-05-06 14:30:34 UTC (rev 1354)
+++ trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java 2011-05-06 14:45:24 UTC (rev 1355)
@@ -28,6 +28,7 @@
import cc.kune.common.client.actions.PropertyChangeListener;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateChangedEvent;
@@ -71,7 +72,7 @@
}
}
});
- putValue(Action.NAME, i18n.t("Add as a buddie"));
+ putValue(Action.NAME, i18n.t(CoreMessages.ADD_AS_A_BUDDIE));
putValue(Action.SMALL_ICON, img.addGreen());
}
Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-05-06 14:30:34 UTC (rev 1354)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-05-06 14:45:24 UTC (rev 1355)
@@ -20,25 +20,26 @@
package cc.kune.core.client.resources;
public final class CoreMessages {
- public final static String BUDDIES_NOT_PUBLIC = "The social network of this user is not public";
- public final static String EMAIL_IN_USE = "This email address is being used by another user. Please, try with another one";
- public final static String ENT_LOGO_SELECTOR_NORMAL_TITLE = "Logo";
- public final static String ENT_LOGO_SELECTOR_PERSON_TITLE = "Avatar";
- public final static String FIELD_MUST_BE_BETWEEN_3_AND_15 = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters and numbers";
- public final static String GROUP_OPTIONS_DIALOG_TITLE = "Group options";
- public final static String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "The nickname/email/password is incorrect";
- public final static String MEMBERS_NOT_PUBLIC = "The members of this group are not public";
- public final static String NAME_IN_ALREADY_IN_USE = "This name is already in use. Please try with a different name";
- public final static String NAME_IN_USE = "This name in already in use. Please try with a different name";
- public final static String PASSWD_MUST_BE_BETWEEN_6_AND_40 = "The password must be between 6 and 40 characters";
- public final static String REGISTER_A_NEW_GROUP_TITLE = "Register a new Group";
- public final static String REGISTER_TITLE = "Register";
- public final static String REGISTER_TO_CREATE_A_GROUP = "Please, sign in or register to create a group";
- public final static String SIGN_IN_TITLE = "Sign in";
- public final static String USER_DOESN_T_HAVE_A_HOMEPAGE = "This user does not have a homepage";
- public final static String USER_OPTIONS_DIALOG_TITLE = "User options";
- public final static String YOUR_HOMEPAGE = "Your homepage";
+ public final static String ADD_AS_A_BUDDIE = "Add as a buddie";
+ public final static String BUDDIES_NOT_PUBLIC = "The social network of this user is not public";
+ public final static String EMAIL_IN_USE = "This email address is being used by another user. Please, try with another one";
+ public final static String ENT_LOGO_SELECTOR_NORMAL_TITLE = "Logo";
+ public final static String ENT_LOGO_SELECTOR_PERSON_TITLE = "Avatar";
+ public final static String FIELD_MUST_BE_BETWEEN_3_AND_15 = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters and numbers";
+ public final static String GROUP_OPTIONS_DIALOG_TITLE = "Group options";
+ public final static String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "The nickname/email/password is incorrect";
+ public final static String MEMBERS_NOT_PUBLIC = "The members of this group are not public";
+ public final static String NAME_IN_ALREADY_IN_USE = "This name is already in use. Please try with a different name";
+ public final static String NAME_IN_USE = "This name in already in use. Please try with a different name";
+ public final static String PASSWD_MUST_BE_BETWEEN_6_AND_40 = "The password must be between 6 and 40 characters";
+ public final static String REGISTER_A_NEW_GROUP_TITLE = "Register a new Group";
+ public final static String REGISTER_TITLE = "Register";
+ public final static String REGISTER_TO_CREATE_A_GROUP = "Please, sign in or register to create a group";
+ public final static String SIGN_IN_TITLE = "Sign in";
+ public final static String USER_DOESN_T_HAVE_A_HOMEPAGE = "This user does not have a homepage";
+ public final static String USER_OPTIONS_DIALOG_TITLE = "User options";
+ public final static String YOUR_HOMEPAGE = "Your homepage";
- private CoreMessages() {
- }
+ private CoreMessages() {
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPanel.java 2011-05-06 14:30:34 UTC (rev 1354)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPanel.java 2011-05-06 14:45:24 UTC (rev 1355)
@@ -110,6 +110,11 @@
}
@Override
+ public void focus() {
+ searchTextBox.setFocus(true);
+ }
+
+ @Override
public HasClickHandlers getButton() {
return searchButton;
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPresenter.java 2011-05-06 14:30:34 UTC (rev 1354)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPresenter.java 2011-05-06 14:45:24 UTC (rev 1355)
@@ -49,6 +49,8 @@
void clearSearchText();
+ void focus();
+
HasClickHandlers getButton();
HasAllFocusHandlers getFocus();
@@ -83,6 +85,10 @@
getView().setTextSearchSmall();
}
+ public void focus() {
+ getView().focus();
+ }
+
@Override
protected void onBind() {
super.onBind();
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/AddNewBuddiesAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/AddNewBuddiesAction.java 2011-05-06 14:30:34 UTC (rev 1354)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/AddNewBuddiesAction.java 2011-05-06 14:45:24 UTC (rev 1355)
@@ -4,26 +4,33 @@
import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.notify.NotifyUser;
-import cc.kune.common.client.utils.TextUtils;
+import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.inject.Inject;
+import com.google.inject.Provider;
public class AddNewBuddiesAction extends AbstractExtendedAction {
- private final I18nTranslationService i18n;
+ private final I18nTranslationService i18n;
+ private final Provider<SitebarSearchPresenter> searcher;
- @Inject
- public AddNewBuddiesAction(final I18nTranslationService i18n, final CoreResources res) {
- this.i18n = i18n;
- putValue(Action.NAME, i18n.t("Add a new buddy"));
- putValue(Action.SMALL_ICON, res.addGreen());
- }
+ @Inject
+ public AddNewBuddiesAction(final I18nTranslationService i18n, final CoreResources res,
+ final Provider<SitebarSearchPresenter> searcher) {
+ this.i18n = i18n;
+ this.searcher = searcher;
+ putValue(Action.NAME, i18n.t("Add a new buddy"));
+ putValue(Action.SMALL_ICON, res.addGreen());
+ }
- @Override
- public void actionPerformed(final ActionEvent event) {
- NotifyUser.info(i18n.t(TextUtils.IN_DEVELOPMENT));
- }
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ NotifyUser.info(i18n.t("Search the user you want to add and in his/her homepage press '"
+ + CoreMessages.ADD_AS_A_BUDDIE + "'"));
+ searcher.get().focus();
+ }
}
1
0
r1354 - in trunk/src/main/java: cc/kune/core/client/sn cc/kune/gspace/client cc/kune/gspace/client/resources cc/kune/gspace/client/tool cc/kune/gspace/client/viewers org/ourproject/kune/workspace/client
by Vicente J. Ruiz Jurado 06 May '11
by Vicente J. Ruiz Jurado 06 May '11
06 May '11
Author: vjrj_
Date: 2011-05-06 16:30:34 +0200 (Fri, 06 May 2011)
New Revision: 1354
Added:
trunk/src/main/java/cc/kune/gspace/client/viewers/NoHomePageViewer.java
Removed:
trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/
Modified:
trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
trunk/src/main/java/cc/kune/gspace/client/tool/ContentViewerSelector.java
Log:
No Home Page
Modified: trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2011-05-06 12:42:51 UTC (rev 1353)
+++ trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2011-05-06 14:30:34 UTC (rev 1354)
@@ -25,7 +25,6 @@
setVisibleImpl(false);
mainTitle.setText(i18n.t("His/her network:"));
mainTitle.setTitle(i18n.t("This user buddies and groups where participes"));
- firstCategoryLabel.setText(i18n.t("Buddies"));
setTooltip(firstCategoryLabel, i18n.t("This user buddies"));
sndCategoryLabel.setText(i18n.t("Participates in"));
setTooltip(sndCategoryLabel, i18n.t("Groups in which this user participates"));
@@ -60,6 +59,7 @@
@Override
public void setBuddiesCount(final int count) {
firstCategoryCount.setText(new StringBuffer("(").append(count).append(")").toString());
+ firstCategoryLabel.setText(i18n.t("Buddies"));
}
@Override
@@ -69,8 +69,7 @@
@Override
public void setNoBuddies() {
- firstDeckLabel.setText(i18n.t("This user has no buddies yet"));
- deck.showWidget(0);
+ firstCategoryLabel.setText(i18n.t("This user has no buddies yet"));
}
@Override
Modified: trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java 2011-05-06 12:42:51 UTC (rev 1353)
+++ trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java 2011-05-06 14:30:34 UTC (rev 1354)
@@ -124,10 +124,11 @@
getView().setVisible(false);
} else {
getView().clear();
+ setParticipationState(state);
if (state.getSocialNetworkData().isBuddiesVisible()) {
// In fact now we show the user network or not.
- final int buddies = setBuddiesState(state);
- final int participeIn = setParticipationState(state);
+ setBuddiesState(state);
+ getView().setBuddiesVisible(true);
// getView().setVisible(buddies + participeIn > 0);
} else {
getView().showBuddiesNotPublic();
@@ -156,7 +157,6 @@
getView().addBuddie(user, avatarUrl, user.getName(), "",
createMenuItems(user, userMenuItemsRegistry, user.getName()));
}
- getView().setBuddiesVisible(buddies.size() > 0);
final boolean hasLocalBuddies = buddies.size() > 0;
final int numExtBuddies = userBuddiesData.getOtherExtBuddies();
if (numExtBuddies > 0) {
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-05-06 12:42:51 UTC (rev 1353)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-05-06 14:30:34 UTC (rev 1354)
@@ -79,6 +79,7 @@
import cc.kune.gspace.client.viewers.ContentViewerPresenter;
import cc.kune.gspace.client.viewers.FolderViewerAsTablePanel;
import cc.kune.gspace.client.viewers.FolderViewerPresenter;
+import cc.kune.gspace.client.viewers.NoHomePageViewer;
import com.google.inject.Singleton;
@@ -108,6 +109,8 @@
bindPresenter(SitebarSearchPresenter.class, SitebarSearchPresenter.SitebarSearchView.class,
SitebarSearchPanel.class, SitebarSearchPresenter.SitebarSearchProxy.class);
+ s(NoHomePageViewer.class);
+
s(GroupOptions.class, GroupOptionsPresenter.class);
s(GroupOptionsView.class, GroupOptionsPanel.class);
s(UserOptions.class, UserOptionsPresenter.class);
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-05-06 12:42:51 UTC (rev 1353)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-05-06 14:30:34 UTC (rev 1354)
@@ -21,6 +21,7 @@
import cc.kune.gspace.client.ui.footer.license.EntityLicensePresenter;
import cc.kune.gspace.client.viewers.ContentViewerPresenter;
import cc.kune.gspace.client.viewers.FolderViewerPresenter;
+import cc.kune.gspace.client.viewers.NoHomePageViewer;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -30,14 +31,14 @@
@Inject
public GSpaceParts(final Session session, final Provider<EntityLicensePresenter> licenseFooter,
final Provider<TagsSummaryPresenter> tagsPresenter, final Provider<ToolSelector> toolSelector,
- final Provider<ContentViewerPresenter> docsViewer, final Provider<FolderViewerPresenter> folderViewer,
- final Provider<GroupOptions> go, final Provider<UserOptions> uo,
- final Provider<GroupOptionsCollection> goc, final Provider<UserOptionsCollection> uoc,
- final Provider<GroupOptionsDefLicense> gdl, final Provider<GroupOptionsPublicSpaceConf> gps,
- final Provider<GroupOptionsLogo> gl, final Provider<GroupOptionsToolsConf> gtc,
- final Provider<UserOptionsDefLicense> udl, final Provider<UserOptionsPublicSpaceConf> ups,
- final Provider<UserOptionsLogo> ul, final Provider<UserOptionsToolsConf> utc,
- final Provider<SitebarSearchPresenter> siteSearch) {
+ final Provider<NoHomePageViewer> noHome, final Provider<ContentViewerPresenter> docsViewer,
+ final Provider<FolderViewerPresenter> folderViewer, final Provider<GroupOptions> go,
+ final Provider<UserOptions> uo, final Provider<GroupOptionsCollection> goc,
+ final Provider<UserOptionsCollection> uoc, final Provider<GroupOptionsDefLicense> gdl,
+ final Provider<GroupOptionsPublicSpaceConf> gps, final Provider<GroupOptionsLogo> gl,
+ final Provider<GroupOptionsToolsConf> gtc, final Provider<UserOptionsDefLicense> udl,
+ final Provider<UserOptionsPublicSpaceConf> ups, final Provider<UserOptionsLogo> ul,
+ final Provider<UserOptionsToolsConf> utc, final Provider<SitebarSearchPresenter> siteSearch) {
// , final Provider<GroupOptionsPanel> gop,
// , final Provider<UserOptionsPanel> uop,
// final Provider<GroupOptionsPublicSpaceConfPanel> gpsp,
@@ -58,6 +59,7 @@
docsViewer.get();
folderViewer.get();
siteSearch.get();
+ noHome.get();
// Add User & Groups Options
goc.get().add(gtc);
Modified: trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-06 12:42:51 UTC (rev 1353)
+++ trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-06 14:30:34 UTC (rev 1354)
@@ -21,17 +21,17 @@
}
.entityHeader {
- -webkit-border-top-right-radius: 10px;
- -moz-border-radius-topright: 10px;
- border-top-right-radius: 10px;
+ -webkit-border-top-right-radius: 7px;
+ -moz-border-radius-topright: 7px;
+ border-top-right-radius: 7px;
background-color: #f4e3d7;
overflow: hidden;
}
.entityFooter {
- -webkit-border-bottom-right-radius: 10px;
- -moz-border-radius-bottomright: 10px;
- border-bottom-right-radius: 10px;
+ -webkit-border-bottom-right-radius: 7px;
+ -moz-border-radius-bottomright: 7px;
+ border-bottom-right-radius: 7px;
background-color: #f7ebe3;
/* padding: 7px 10px 0px 17px; */
overflow: hidden;
@@ -160,12 +160,12 @@
}
.entityTools {
- -webkit-border-top-left-radius: 10px;
- -moz-border-radius-topleft: 10px;
- border-top-left-radius: 10px;
- -webkit-border-bottom-left-radius: 10px;
- -moz-border-radius-bottomleft: 10px;
- border-bottom-left-radius: 10px;
+ -webkit-border-top-left-radius: 7px;
+ -moz-border-radius-topleft: 7px;
+ border-top-left-radius: 7px;
+ -webkit-border-bottom-left-radius: 7px;
+ -moz-border-radius-bottomleft: 7px;
+ border-bottom-left-radius: 7px;
background-color: #DEAA87;
}
Modified: trunk/src/main/java/cc/kune/gspace/client/tool/ContentViewerSelector.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/tool/ContentViewerSelector.java 2011-05-06 12:42:51 UTC (rev 1353)
+++ trunk/src/main/java/cc/kune/gspace/client/tool/ContentViewerSelector.java 2011-05-06 14:30:34 UTC (rev 1354)
@@ -18,93 +18,98 @@
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.core.shared.dto.StateContentDTO;
+import cc.kune.gspace.client.viewers.NoHomePageViewer;
import com.google.inject.Inject;
+import com.google.inject.Provider;
import com.google.inject.Singleton;
@Singleton
public class ContentViewerSelector {
- private ContentViewer currentView;
- private final HashMap<String, ContentViewer> defViewsRegister;
- private final Session session;
- private final StateManager stateManager;
- private final HashMap<String, List<ContentViewer>> viewsRegister;
+ private ContentViewer currentView;
+ private final HashMap<String, ContentViewer> defViewsRegister;
+ private final Provider<NoHomePageViewer> noHome;
+ private final Session session;
+ private final StateManager stateManager;
+ private final HashMap<String, List<ContentViewer>> viewsRegister;
- @Inject
- public ContentViewerSelector(final StateManager stateManager, final Session session) {
- this.stateManager = stateManager;
- this.session = session;
- viewsRegister = new HashMap<String, List<ContentViewer>>();
- defViewsRegister = new HashMap<String, ContentViewer>();
- }
+ @Inject
+ public ContentViewerSelector(final StateManager stateManager, final Session session,
+ final Provider<NoHomePageViewer> noHome) {
+ this.stateManager = stateManager;
+ this.session = session;
+ this.noHome = noHome;
+ viewsRegister = new HashMap<String, List<ContentViewer>>();
+ defViewsRegister = new HashMap<String, ContentViewer>();
+ }
- private void detachCurrent() {
- if (currentView != null) {
- currentView.detach();
- }
+ private void detachCurrent() {
+ if (currentView != null) {
+ currentView.detach();
}
+ }
- public void init() {
- session.onAppStart(true, new AppStartHandler() {
- @Override
- public void onAppStart(final AppStartEvent event) {
- stateManager.onStateChanged(true, new StateChangedHandler() {
- @Override
- public void onStateChanged(final StateChangedEvent event) {
- final StateAbstractDTO state = event.getState();
- if (state instanceof StateContentDTO || state instanceof StateContainerDTO) {
- setContent((HasContent) state);
- } else {
- // NoContent
- detachCurrent();
- }
- }
- });
+ public void init() {
+ session.onAppStart(true, new AppStartHandler() {
+ @Override
+ public void onAppStart(final AppStartEvent event) {
+ stateManager.onStateChanged(true, new StateChangedHandler() {
+ @Override
+ public void onStateChanged(final StateChangedEvent event) {
+ final StateAbstractDTO state = event.getState();
+ if (state instanceof StateContentDTO || state instanceof StateContainerDTO) {
+ setContent((HasContent) state);
+ } else {
+ setContent(noHome.get(), null);
}
+ }
});
- }
+ }
+ });
+ }
- public void register(@Nonnull final ContentViewer view, final boolean isDefault, @Nonnull final String... typeIds) {
- for (final String typeId : typeIds) {
- List<ContentViewer> list = viewsRegister.get(typeId);
- if (list == null) {
- list = new ArrayList<ContentViewer>();
- }
- if (!list.contains(view)) {
- list.add(view);
- }
- if (isDefault) {
- defViewsRegister.put(typeId, view);
- }
- }
+ public void register(@Nonnull final ContentViewer view, final boolean isDefault,
+ @Nonnull final String... typeIds) {
+ for (final String typeId : typeIds) {
+ List<ContentViewer> list = viewsRegister.get(typeId);
+ if (list == null) {
+ list = new ArrayList<ContentViewer>();
+ }
+ if (!list.contains(view)) {
+ list.add(view);
+ }
+ if (isDefault) {
+ defViewsRegister.put(typeId, view);
+ }
}
+ }
- public void register(final String typeId, final ContentViewer view) {
- Log.info("Registered " + typeId + " with class " + ContentViewer.class);
- register(view, false, typeId);
- }
+ public void register(final String typeId, final ContentViewer view) {
+ Log.info("Registered " + typeId + " with class " + ContentViewer.class);
+ register(view, false, typeId);
+ }
- private void setContent(final ContentViewer view, final HasContent state) {
- detachCurrent();
- view.setContent(state);
- view.attach();
- currentView = view;
- }
+ private void setContent(final ContentViewer view, final HasContent state) {
+ detachCurrent();
+ view.setContent(state);
+ view.attach();
+ currentView = view;
+ }
- public void setContent(@Nonnull final HasContent state) {
- final String typeId = state.getTypeId();
- assert typeId != null;
- final ContentViewer defView = defViewsRegister.get(typeId);
- if (defView == null) {
- final List<ContentViewer> viewsList = viewsRegister.get(typeId);
- if (viewsList != null && !viewsList.isEmpty()) {
- setContent(viewsList.get(0), state);
- } else {
- NotifyUser.error("Unsupported typeId: " + typeId);
- }
- } else {
- setContent(defView, state);
- }
+ public void setContent(@Nonnull final HasContent state) {
+ final String typeId = state.getTypeId();
+ assert typeId != null;
+ final ContentViewer defView = defViewsRegister.get(typeId);
+ if (defView == null) {
+ final List<ContentViewer> viewsList = viewsRegister.get(typeId);
+ if (viewsList != null && !viewsList.isEmpty()) {
+ setContent(viewsList.get(0), state);
+ } else {
+ NotifyUser.error("Unsupported typeId: " + typeId);
+ }
+ } else {
+ setContent(defView, state);
}
+ }
}
Added: trunk/src/main/java/cc/kune/gspace/client/viewers/NoHomePageViewer.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/NoHomePageViewer.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/NoHomePageViewer.java 2011-05-06 14:30:34 UTC (rev 1354)
@@ -0,0 +1,41 @@
+package cc.kune.gspace.client.viewers;
+
+import cc.kune.common.client.ui.UiUtils;
+import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
+import cc.kune.core.client.resources.CoreMessages;
+import cc.kune.core.shared.dto.HasContent;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.GSpaceArmor;
+import cc.kune.gspace.client.tool.ContentViewer;
+
+import com.google.inject.Inject;
+
+public class NoHomePageViewer implements ContentViewer {
+
+ private final ContentTitleWidget contentTitle;
+ private final GSpaceArmor gsArmor;
+ private final I18nTranslationService i18n;
+
+ @Inject
+ public NoHomePageViewer(final GSpaceArmor gsArmor, final I18nTranslationService i18n,
+ final ContentCapabilitiesRegistry capabilitiesRegistry) {
+ this.gsArmor = gsArmor;
+ this.i18n = i18n;
+ contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
+ }
+
+ @Override
+ public void attach() {
+ }
+
+ @Override
+ public void detach() {
+ UiUtils.clear(gsArmor.getDocHeader());
+ }
+
+ @Override
+ public void setContent(final HasContent state) {
+ contentTitle.setTitle(i18n.t(CoreMessages.USER_DOESN_T_HAVE_A_HOMEPAGE), null, null, false);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/gspace/client/viewers/NoHomePageViewer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
1
0
r1353 - in trunk/src/main/java/cc/kune: . core/client/state core/public gspace/client/tool/old gspace/client/viewers wave/client
by Vicente J. Ruiz Jurado 06 May '11
by Vicente J. Ruiz Jurado 06 May '11
06 May '11
Author: vjrj_
Date: 2011-05-06 14:42:51 +0200 (Fri, 06 May 2011)
New Revision: 1353
Added:
trunk/src/main/java/cc/kune/wave/client/WaveClientClearEvent.java
Modified:
trunk/src/main/java/cc/kune/Kune.gwt.xml
trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/gspace/client/tool/old/FoldableAbstractClientTool.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml
trunk/src/main/java/cc/kune/wave/client/WebClient.java
trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml
Log:
Webclient multiple workaround
Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-05-06 02:36:59 UTC (rev 1352)
+++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-05-06 12:42:51 UTC (rev 1353)
@@ -35,7 +35,7 @@
<!-- NOTE: this only compiles for chromium/safari ============= -->
<!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
<!-- <set-property name="user.agent" value="gecko1_8" /> -->
-<!-- <set-property name="user.agent" value="safari,gecko1_8" /> -->
+ <set-property name="user.agent" value="safari,gecko1_8" />
<!-- gwt-platform ============================================= -->
<inherits name='com.gwtplatform.mvp.Mvp' />
<define-configuration-property name="gin.ginjector"
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2011-05-06 02:36:59 UTC (rev 1352)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2011-05-06 12:42:51 UTC (rev 1353)
@@ -50,372 +50,376 @@
import com.google.inject.Inject;
public class StateManagerDefault implements StateManager, ValueChangeHandler<String> {
- private final BeforeActionCollection beforeStateChangeCollection;
- private final ContentCache contentCache;
- private final EventBus eventBus;
- private final HistoryWrapper history;
- private StateToken previousToken;
- /**
- * When a historyChanged is interrupted (for instance because you are
- * editing something), the new history token is stored here
- */
- private String resumedHistoryToken;
- private final Session session;
- private final SiteTokenListeners siteTokens;
- private final TokenMatcher tokenMatcher;
+ private final BeforeActionCollection beforeStateChangeCollection;
+ private final ContentCache contentCache;
+ private final EventBus eventBus;
+ private final HistoryWrapper history;
+ private StateToken previousToken;
+ /**
+ * When a historyChanged is interrupted (for instance because you are editing
+ * something), the new history token is stored here
+ */
+ private String resumedHistoryToken;
+ private final Session session;
+ private final SiteTokenListeners siteTokens;
+ private final TokenMatcher tokenMatcher;
- @Inject
- public StateManagerDefault(final ContentCache contentProvider, final Session session, final HistoryWrapper history,
- final TokenMatcher tokenMatcher, final EventBus eventBus, final SiteTokenListeners siteTokens) {
- this.tokenMatcher = tokenMatcher;
- this.eventBus = eventBus;
- this.contentCache = contentProvider;
- this.session = session;
- this.history = history;
- this.previousToken = null;
- this.resumedHistoryToken = null;
- tokenMatcher.init(GwtWaverefEncoder.INSTANCE);
- this.siteTokens = siteTokens;
- beforeStateChangeCollection = new BeforeActionCollection();
- session.onAppStart(true, new AppStartHandler() {
- @Override
- public void onAppStart(final AppStartEvent event) {
- session.onUserSignIn(false, new UserSignInEvent.UserSignInHandler() {
- @Override
- public void onUserSignIn(final UserSignInEvent event) {
- refreshCurrentGroupState();
- }
- });
- session.onUserSignOut(false, new UserSignOutEvent.UserSignOutHandler() {
- @Override
- public void onUserSignOut(final UserSignOutEvent event) {
- refreshCurrentGroupState();
- }
- });
- processCurrentHistoryToken();
- }
+ @Inject
+ public StateManagerDefault(final ContentCache contentProvider, final Session session,
+ final HistoryWrapper history, final TokenMatcher tokenMatcher, final EventBus eventBus,
+ final SiteTokenListeners siteTokens) {
+ this.tokenMatcher = tokenMatcher;
+ this.eventBus = eventBus;
+ this.contentCache = contentProvider;
+ this.session = session;
+ this.history = history;
+ this.previousToken = null;
+ this.resumedHistoryToken = null;
+ tokenMatcher.init(GwtWaverefEncoder.INSTANCE);
+ this.siteTokens = siteTokens;
+ beforeStateChangeCollection = new BeforeActionCollection();
+ session.onAppStart(true, new AppStartHandler() {
+ @Override
+ public void onAppStart(final AppStartEvent event) {
+ session.onUserSignIn(false, new UserSignInEvent.UserSignInHandler() {
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ refreshCurrentGroupState();
+ }
});
- }
+ session.onUserSignOut(false, new UserSignOutEvent.UserSignOutHandler() {
+ @Override
+ public void onUserSignOut(final UserSignOutEvent event) {
+ refreshCurrentGroupState();
+ }
+ });
+ processCurrentHistoryToken();
+ }
+ });
+ }
- @Override
- public void addBeforeStateChangeListener(final BeforeActionListener listener) {
- beforeStateChangeCollection.add(listener);
- }
+ @Override
+ public void addBeforeStateChangeListener(final BeforeActionListener listener) {
+ beforeStateChangeCollection.add(listener);
+ }
- @Override
- public void addSiteToken(final String token, final HistoryTokenCallback callback) {
- siteTokens.put(token.toLowerCase(), callback);
- }
+ @Override
+ public void addSiteToken(final String token, final HistoryTokenCallback callback) {
+ siteTokens.put(token.toLowerCase(), callback);
+ }
- private void checkGroupAndToolChange(final StateAbstractDTO newState) {
- final String newGroup = newState.getStateToken().getGroup();
- final String previousGroup = getPreviousGroup();
- if (startingUp() || !previousGroup.equals(newGroup)) {
- GroupChangedEvent.fire(eventBus, previousGroup, newGroup);
- }
- final String previousToolName = getPreviousTool();
- final String newTokenTool = newState.getStateToken().getTool();
- final String newToolName = newTokenTool == null ? "" : newTokenTool;
- if (startingUp() || previousToolName == null || !previousToolName.equals(newToolName)) {
- ToolChangedEvent.fire(eventBus, previousToolName, newToolName);
- }
+ private void checkGroupAndToolChange(final StateAbstractDTO newState) {
+ final String newGroup = newState.getStateToken().getGroup();
+ final String previousGroup = getPreviousGroup();
+ if (startingUp() || !previousGroup.equals(newGroup)) {
+ GroupChangedEvent.fire(eventBus, previousGroup, newGroup);
}
-
- private String getPreviousGroup() {
- final String previousGroup = startingUp() ? "" : previousToken.getGroup();
- return previousGroup;
+ final String previousToolName = getPreviousTool();
+ final String newTokenTool = newState.getStateToken().getTool();
+ final String newToolName = newTokenTool == null ? "" : newTokenTool;
+ if (startingUp() || previousToolName == null || !previousToolName.equals(newToolName)) {
+ ToolChangedEvent.fire(eventBus, previousToolName, newToolName);
}
+ }
- private String getPreviousTool() {
- final String previousTool = startingUp() ? "" : previousToken.getTool();
- return previousTool;
- }
+ private String getPreviousGroup() {
+ final String previousGroup = startingUp() ? "" : previousToken.getGroup();
+ return previousGroup;
+ }
- @Override
- public void gotoHistoryToken(final String token) {
- Log.debug("StateManager: history goto-string-token :" + token);
- history.newItem(token);
- }
+ private String getPreviousTool() {
+ final String previousTool = startingUp() ? "" : previousToken.getTool();
+ return previousTool;
+ }
- @Override
- public void gotoHistoryTokenButRedirectToCurrent(final String token) {
- gotoHistoryToken(TokenUtils.addRedirect(token, history.getToken()));
+ @Override
+ public void gotoHistoryToken(final String token) {
+ Log.debug("StateManager: history goto-string-token :" + token);
+ history.newItem(token);
+ }
- }
+ @Override
+ public void gotoHistoryTokenButRedirectToCurrent(final String token) {
+ gotoHistoryToken(TokenUtils.addRedirect(token, history.getToken()));
- @Override
- public void gotoStateToken(final StateToken newToken) {
- Log.debug("StateManager: history goto-token: " + newToken + ", previous: " + previousToken);
- history.newItem(newToken.getEncoded());
+ }
+
+ @Override
+ public void gotoStateToken(final StateToken newToken) {
+ Log.debug("StateManager: history goto-token: " + newToken + ", previous: " + previousToken);
+ history.newItem(newToken.getEncoded());
+ }
+
+ @Override
+ public void gotoStateToken(final StateToken token, final boolean useCache) {
+ if (!useCache) {
+ contentCache.removeContent(token);
}
+ gotoStateToken(token);
+ }
- @Override
- public void gotoStateToken(final StateToken token, final boolean useCache) {
- if (!useCache) {
- contentCache.removeContent(token);
- }
- gotoStateToken(token);
+ @Override
+ public void onGroupChanged(final boolean fireNow, final GroupChangedHandler handler) {
+ eventBus.addHandler(GroupChangedEvent.getType(), handler);
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (fireNow && currentState != null) {
+ handler.onGroupChanged(new GroupChangedEvent(getPreviousGroup(),
+ currentState.getStateToken().getGroup()));
}
- @Override
- public void onGroupChanged(final boolean fireNow, final GroupChangedHandler handler) {
- eventBus.addHandler(GroupChangedEvent.getType(), handler);
- final StateAbstractDTO currentState = session.getCurrentState();
- if (fireNow && currentState != null) {
- handler.onGroupChanged(new GroupChangedEvent(getPreviousGroup(), currentState.getStateToken().getGroup()));
- }
+ }
- }
+ @Override
+ public void onGroupChanged(final Listener2<String, String> listener) {
+ throw new NotImplementedException();
+ }
- @Override
- public void onGroupChanged(final Listener2<String, String> listener) {
- throw new NotImplementedException();
- }
-
- private void onHistoryChanged(final StateToken newState) {
- // NotifyUser.info("loading: " + newState + " because current:" +
- // session.getCurrentStateToken());
- contentCache.getContent(session.getUserHash(), newState, new AsyncCallbackSimple<StateAbstractDTO>() {
- @Override
- public void onSuccess(final StateAbstractDTO newState) {
- setState(newState);
- }
+ private void onHistoryChanged(final StateToken newState) {
+ // NotifyUser.info("loading: " + newState + " because current:" +
+ // session.getCurrentStateToken());
+ contentCache.getContent(session.getUserHash(), newState,
+ new AsyncCallbackSimple<StateAbstractDTO>() {
+ @Override
+ public void onSuccess(final StateAbstractDTO newState) {
+ setState(newState);
+ }
});
- }
+ }
- @Override
- public void onSocialNetworkChanged(final boolean fireNow, final SocialNetworkChangedHandler handler) {
- eventBus.addHandler(SocialNetworkChangedEvent.getType(), handler);
- final StateAbstractDTO currentState = session.getCurrentState();
- if (fireNow && currentState != null) {
- handler.onSocialNetworkChanged(new SocialNetworkChangedEvent(currentState));
- }
+ @Override
+ public void onSocialNetworkChanged(final boolean fireNow, final SocialNetworkChangedHandler handler) {
+ eventBus.addHandler(SocialNetworkChangedEvent.getType(), handler);
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (fireNow && currentState != null) {
+ handler.onSocialNetworkChanged(new SocialNetworkChangedEvent(currentState));
}
+ }
- @Override
- public void onSocialNetworkChanged(final Listener<StateAbstractDTO> listener) {
- throw new NotImplementedException();
- }
+ @Override
+ public void onSocialNetworkChanged(final Listener<StateAbstractDTO> listener) {
+ throw new NotImplementedException();
+ }
- @Override
- public void onStateChanged(final boolean fireNow, final StateChangedHandler handler) {
- eventBus.addHandler(StateChangedEvent.getType(), handler);
- final StateAbstractDTO currentState = session.getCurrentState();
- if (fireNow && currentState != null) {
- handler.onStateChanged(new StateChangedEvent(currentState));
- }
+ @Override
+ public void onStateChanged(final boolean fireNow, final StateChangedHandler handler) {
+ eventBus.addHandler(StateChangedEvent.getType(), handler);
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (fireNow && currentState != null) {
+ handler.onStateChanged(new StateChangedEvent(currentState));
}
+ }
- @Override
- public void onStateChanged(final Listener<StateAbstractDTO> listener) {
- throw new NotImplementedException();
- }
+ @Override
+ public void onStateChanged(final Listener<StateAbstractDTO> listener) {
+ throw new NotImplementedException();
+ }
- @Override
- public void onToolChanged(final boolean fireNow, final ToolChangedHandler handler) {
- eventBus.addHandler(ToolChangedEvent.getType(), handler);
- final StateAbstractDTO currentState = session.getCurrentState();
- if (fireNow && currentState != null) {
- handler.onToolChanged(new ToolChangedEvent(getPreviousTool(), currentState.getStateToken().getTool()));
- }
+ @Override
+ public void onToolChanged(final boolean fireNow, final ToolChangedHandler handler) {
+ eventBus.addHandler(ToolChangedEvent.getType(), handler);
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (fireNow && currentState != null) {
+ handler.onToolChanged(new ToolChangedEvent(getPreviousTool(),
+ currentState.getStateToken().getTool()));
}
+ }
- @Override
- public void onToolChanged(final Listener2<String, String> listener) {
- throw new NotImplementedException();
- }
+ @Override
+ public void onToolChanged(final Listener2<String, String> listener) {
+ throw new NotImplementedException();
+ }
- @Override
- public void onValueChange(final ValueChangeEvent<String> event) {
- Log.info("History event value changed: " + event.getValue());
- processHistoryToken(event.getValue());
- }
+ @Override
+ public void onValueChange(final ValueChangeEvent<String> event) {
+ Log.info("History event value changed: " + event.getValue());
+ processHistoryToken(event.getValue());
+ }
- private void processCurrentHistoryToken() {
- processHistoryToken(history.getToken());
- }
+ private void processCurrentHistoryToken() {
+ processHistoryToken(history.getToken());
+ }
- void processHistoryToken(final String newHistoryToken) {
- // http://code.google.com/p/google-web-toolkit-doc-1-5/wiki/DevGuideHistory
- if (beforeStateChangeCollection.checkBeforeAction()) {
- // There isn't a beforeStateChange listener that stops this history
- // change
- HistoryTokenCallback tokenListener = null;
- if (newHistoryToken != null) {
- final String nToken = newHistoryToken.toLowerCase();
- tokenListener = siteTokens.get(nToken);
- }
- Log.debug("StateManager: on history changed (" + newHistoryToken + ")");
- if (tokenListener == null) {
- Log.debug("Is not a special hash");
- // token is not one of #newgroup #signin #translate ...
- final String nToken = newHistoryToken != null ? newHistoryToken.toLowerCase() : null;
- if (tokenMatcher.hasRedirect(nToken)) {
- final Pair<String, String> redirect = tokenMatcher.getRedirect(nToken);
- final String firstToken = redirect.getLeft();
- final String sndToken = redirect.getRight();
- if (firstToken.equals(SiteTokens.PREVIEW)) {
- SpaceSelectEvent.fire(eventBus, Space.publicSpace);
- SpaceConfEvent.fire(eventBus, Space.groupSpace, sndToken);
- SpaceConfEvent.fire(eventBus, Space.publicSpace, TokenUtils.preview(sndToken));
- onHistoryChanged(new StateToken(sndToken));
- } else if (firstToken.equals(SiteTokens.NEWGROUP)) {
- siteTokens.get(SiteTokens.NEWGROUP).onHistoryToken();
- } else if (firstToken.equals(SiteTokens.SIGNIN)) {
- if (session.isLogged()) {
- // We are logged, then redirect:
- history.newItem(sndToken, false);
- processHistoryToken(sndToken);
- } else {
- // We have to loggin
- siteTokens.get(SiteTokens.SIGNIN).onHistoryToken();
- }
- }
- } else if (tokenMatcher.isWaveToken(newHistoryToken)) {
- if (session.isLogged()) {
- SpaceSelectEvent.fire(eventBus, Space.userSpace);
- } else {
- history.newItem(TokenUtils.addRedirect(SiteTokens.SIGNIN, newHistoryToken));
- }
- if (startingUp()) {
- // Starting application (with Wave url)
- onHistoryChanged(new StateToken(SiteTokens.GROUP_HOME));
- }
- } else if (tokenMatcher.isGroupToken(newHistoryToken)) {
- SpaceConfEvent.fire(eventBus, Space.groupSpace, newHistoryToken);
- SpaceConfEvent.fire(eventBus, Space.publicSpace, TokenUtils.preview(newHistoryToken));
- SpaceSelectEvent.fire(eventBus, Space.groupSpace);
- onHistoryChanged(new StateToken(newHistoryToken));
- } else {
- // While we don't redefine token "" as home:
- SpaceConfEvent.fire(eventBus, Space.groupSpace, SiteTokens.GROUP_HOME);
- SpaceConfEvent.fire(eventBus, Space.publicSpace, TokenUtils.preview(SiteTokens.GROUP_HOME));
- SpaceSelectEvent.fire(eventBus, Space.groupSpace);
- onHistoryChanged(new StateToken(SiteTokens.GROUP_HOME));
- }
+ void processHistoryToken(final String newHistoryToken) {
+ // http://code.google.com/p/google-web-toolkit-doc-1-5/wiki/DevGuideHistory
+ if (beforeStateChangeCollection.checkBeforeAction()) {
+ // There isn't a beforeStateChange listener that stops this history
+ // change
+ HistoryTokenCallback tokenListener = null;
+ if (newHistoryToken != null) {
+ final String nToken = newHistoryToken.toLowerCase();
+ tokenListener = siteTokens.get(nToken);
+ }
+ Log.debug("StateManager: on history changed (" + newHistoryToken + ")");
+ if (tokenListener == null) {
+ // Log.debug("Is not a special hash");
+ // token is not one of #newgroup #signin #translate ...
+ final String nToken = newHistoryToken != null ? newHistoryToken.toLowerCase() : null;
+ if (tokenMatcher.hasRedirect(nToken)) {
+ final Pair<String, String> redirect = tokenMatcher.getRedirect(nToken);
+ final String firstToken = redirect.getLeft();
+ final String sndToken = redirect.getRight();
+ if (firstToken.equals(SiteTokens.PREVIEW)) {
+ SpaceSelectEvent.fire(eventBus, Space.publicSpace);
+ SpaceConfEvent.fire(eventBus, Space.groupSpace, sndToken);
+ SpaceConfEvent.fire(eventBus, Space.publicSpace, TokenUtils.preview(sndToken));
+ onHistoryChanged(new StateToken(sndToken));
+ } else if (firstToken.equals(SiteTokens.NEWGROUP)) {
+ siteTokens.get(SiteTokens.NEWGROUP).onHistoryToken();
+ } else if (firstToken.equals(SiteTokens.SIGNIN)) {
+ if (session.isLogged()) {
+ // We are logged, then redirect:
+ history.newItem(sndToken, false);
+ processHistoryToken(sndToken);
} else {
- // token is one of #newgroup #signin #translate ...
- if (startingUp()) {
- // Starting with some token like "signin": load defContent
- // also
- processHistoryToken("");
- // SpaceSelectEvent.fire(eventBus, Space.groupSpace);
- }
- // Fire the listener of this #hash token
- tokenListener.onHistoryToken();
+ // We have to loggin
+ siteTokens.get(SiteTokens.SIGNIN).onHistoryToken();
}
- } else {
- resumedHistoryToken = newHistoryToken;
- }
- }
-
- @Override
- public void redirectOrRestorePreviousToken() {
- final String token = history.getToken();
- if (tokenMatcher.hasRedirect(token)) {
- // URL of the form signin(group.tool)
- final String previousToken = tokenMatcher.getRedirect(token).getRight();
- if (previousToken.equals(SiteTokens.WAVEINBOX) && session.isNotLogged()) {
- // signin(inbox) && cancel
- restorePreviousToken();
- } else {
- history.newItem(previousToken);
+ }
+ } else if (tokenMatcher.isWaveToken(newHistoryToken)) {
+ if (session.isLogged()) {
+ SpaceSelectEvent.fire(eventBus, Space.userSpace);
+ } else {
+ history.newItem(TokenUtils.addRedirect(SiteTokens.SIGNIN, newHistoryToken));
+ if (startingUp()) {
+ // Starting application (with Wave url)
+ onHistoryChanged(new StateToken(SiteTokens.GROUP_HOME));
}
+ }
+ } else if (tokenMatcher.isGroupToken(newHistoryToken)) {
+ SpaceConfEvent.fire(eventBus, Space.groupSpace, newHistoryToken);
+ SpaceConfEvent.fire(eventBus, Space.publicSpace, TokenUtils.preview(newHistoryToken));
+ SpaceSelectEvent.fire(eventBus, Space.groupSpace);
+ onHistoryChanged(new StateToken(newHistoryToken));
} else {
- // No redirect then restore previous token
- restorePreviousToken();
+ // While we don't redefine token "" as home:
+ SpaceConfEvent.fire(eventBus, Space.groupSpace, SiteTokens.GROUP_HOME);
+ SpaceConfEvent.fire(eventBus, Space.publicSpace, TokenUtils.preview(SiteTokens.GROUP_HOME));
+ SpaceSelectEvent.fire(eventBus, Space.groupSpace);
+ onHistoryChanged(new StateToken(SiteTokens.GROUP_HOME));
}
- }
-
- /**
- * <p>
- * Reload current state (not using client cache)
- * </p>
- */
- @Override
- public void refreshCurrentGroupState() {
- final StateToken currentStateToken = session.getCurrentStateToken();
- if (currentStateToken == null) {
- processCurrentHistoryToken();
- } else {
- contentCache.removeContent(currentStateToken);
- onHistoryChanged(currentStateToken);
+ } else {
+ // token is one of #newgroup #signin #translate ...
+ if (startingUp()) {
+ // Starting with some token like "signin": load defContent
+ // also
+ processHistoryToken("");
+ // SpaceSelectEvent.fire(eventBus, Space.groupSpace);
}
+ // Fire the listener of this #hash token
+ tokenListener.onHistoryToken();
+ }
+ } else {
+ resumedHistoryToken = newHistoryToken;
}
+ }
- /**
- * <p>
- * Reload current state (using client cache if available)
- * </p>
- */
- @Override
- public void reload() {
- processHistoryToken(history.getToken());
+ @Override
+ public void redirectOrRestorePreviousToken() {
+ final String token = history.getToken();
+ if (tokenMatcher.hasRedirect(token)) {
+ // URL of the form signin(group.tool)
+ final String previousToken = tokenMatcher.getRedirect(token).getRight();
+ if (previousToken.equals(SiteTokens.WAVEINBOX) && session.isNotLogged()) {
+ // signin(inbox) && cancel
+ restorePreviousToken();
+ } else {
+ history.newItem(previousToken);
+ }
+ } else {
+ // No redirect then restore previous token
+ restorePreviousToken();
}
+ }
- @Override
- public void removeBeforeStateChangeListener(final BeforeActionListener listener) {
- beforeStateChangeCollection.remove(listener);
+ /**
+ * <p>
+ * Reload current state (not using client cache)
+ * </p>
+ */
+ @Override
+ public void refreshCurrentGroupState() {
+ final StateToken currentStateToken = session.getCurrentStateToken();
+ if (currentStateToken == null) {
+ processCurrentHistoryToken();
+ } else {
+ contentCache.removeContent(currentStateToken);
+ onHistoryChanged(currentStateToken);
}
+ }
- @Override
- public void removeSiteToken(final String token) {
- siteTokens.remove(token);
- }
+ /**
+ * <p>
+ * Reload current state (using client cache if available)
+ * </p>
+ */
+ @Override
+ public void reload() {
+ processHistoryToken(history.getToken());
+ }
- @Override
- public void restorePreviousToken() {
- if (previousToken != null) {
- gotoStateToken(previousToken);
- }
- }
+ @Override
+ public void removeBeforeStateChangeListener(final BeforeActionListener listener) {
+ beforeStateChangeCollection.remove(listener);
+ }
- @Override
- public void resumeTokenChange() {
- if (resumedHistoryToken != null) {
- // Is this reload redundant?
- reload();
- gotoHistoryToken(resumedHistoryToken);
- resumedHistoryToken = null;
- }
- }
+ @Override
+ public void removeSiteToken(final String token) {
+ siteTokens.remove(token);
+ }
- @Override
- public void setRetrievedState(final StateAbstractDTO newState) {
- contentCache.cache(newState.getStateToken(), newState);
+ @Override
+ public void restorePreviousToken() {
+ if (previousToken != null) {
+ gotoStateToken(previousToken);
}
+ }
- @Override
- public void setRetrievedStateAndGo(final StateAbstractDTO newState) {
- setRetrievedState(newState);
- // setState(newState);
- history.newItem(newState.getStateToken().toString());
+ @Override
+ public void resumeTokenChange() {
+ if (resumedHistoryToken != null) {
+ // Is this reload redundant?
+ reload();
+ gotoHistoryToken(resumedHistoryToken);
+ resumedHistoryToken = null;
}
+ }
- @Override
- 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
- state.setSocialNetworkData(socialNet);
- SocialNetworkChangedEvent.fire(eventBus, state);
- }
- }
+ @Override
+ public void setRetrievedState(final StateAbstractDTO newState) {
+ contentCache.cache(newState.getStateToken(), newState);
+ }
- void setState(final StateAbstractDTO newState) {
- session.setCurrentState(newState);
- final StateToken newToken = newState.getStateToken();
- contentCache.cache(newToken, newState);
- // history.newItem(newToken.toString(), false);
- StateChangedEvent.fire(eventBus, newState);
- checkGroupAndToolChange(newState);
- previousToken = newToken;
- eventBus.fireEvent(new ProgressHideEvent());
+ @Override
+ public void setRetrievedStateAndGo(final StateAbstractDTO newState) {
+ setRetrievedState(newState);
+ // setState(newState);
+ history.newItem(newState.getStateToken().toString());
+ }
+
+ @Override
+ 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
+ state.setSocialNetworkData(socialNet);
+ SocialNetworkChangedEvent.fire(eventBus, state);
}
+ }
- private boolean startingUp() {
- return previousToken == null;
- }
+ void setState(final StateAbstractDTO newState) {
+ session.setCurrentState(newState);
+ final StateToken newToken = newState.getStateToken();
+ contentCache.cache(newToken, newState);
+ // history.newItem(newToken.toString(), false);
+ StateChangedEvent.fire(eventBus, newState);
+ checkGroupAndToolChange(newState);
+ previousToken = newToken;
+ eventBus.fireEvent(new ProgressHideEvent());
+ }
+
+ private boolean startingUp() {
+ return previousToken == null;
+ }
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-06 02:36:59 UTC (rev 1352)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-06 12:42:51 UTC (rev 1353)
@@ -1,6 +1,4 @@
-CHARSET "UTF-8 ";
-
-body {
+CHARSET "UTF-8 "; body {
background-color: white;
color: black;
font-family: 'Ubuntu', Arial;
@@ -172,7 +170,6 @@
cursor: hand;
}
-
.gwt-RichTextArea {
border: 1px solid black;
background-color: white;
@@ -886,15 +883,8 @@
outline: 0 none;
}
-button[disabled]:active, button[disabled],
-input[type="reset"][disabled]:active,
-input[type="reset"][disabled],
-input[type="button"][disabled]:active,
-input[type="button"][disabled],
-select[disabled] > input[type="button"],
-select[disabled] > input[type="button"]:active,
-input[type="submit"][disabled]:active,
-input[type="submit"][disabled], .k-button-disabled {
+button[disabled]:active,button[disabled],input[type="reset"][disabled]:active,input[type="reset"][disabled],input[type="button"][disabled]:active,input[type="button"][disabled],select[disabled]>input[type="button"],select[disabled]>input[type="button"]:active,input[type="submit"][disabled]:active,input[type="submit"][disabled],.k-button-disabled
+ {
color: gray !important;
}
@@ -1164,7 +1154,7 @@
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-left-radius: 5px;
- kfilter: alpha(opacity = 90);
+ kfilter: alpha(opacity = 90);
-moz-opacity: 0.90;
-khtml-opacity: 0.90;
opacity: 0.90;
@@ -1316,4 +1306,12 @@
color: #999999;
}
-/* end Decorated tabbar */
\ No newline at end of file
+/* end Decorated tabbar */
+
+.k-waveHolder {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/tool/old/FoldableAbstractClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/tool/old/FoldableAbstractClientTool.java 2011-05-06 02:36:59 UTC (rev 1352)
+++ trunk/src/main/java/cc/kune/gspace/client/tool/old/FoldableAbstractClientTool.java 2011-05-06 12:42:51 UTC (rev 1353)
@@ -24,99 +24,101 @@
import cc.kune.gspace.client.tool.selector.ToolSelector;
public abstract class FoldableAbstractClientTool extends AbstractClientTool {
- public static final String UPLOADEDFILE_SUFFIX = "uploaded";
- public static final String WAVE_SUFFIX = "wave";
- protected final ContentCapabilitiesRegistry contentCapabilitiesRegistry;
+ protected final ContentCapabilitiesRegistry contentCapabilitiesRegistry;
- public FoldableAbstractClientTool(final String shortName, final String longName, final ToolSelector toolSelector,
- final ContentCapabilitiesRegistry contentCapabilitiesRegistry) {
- super(shortName, longName, toolSelector);
- this.contentCapabilitiesRegistry = contentCapabilitiesRegistry;
- }
+ public FoldableAbstractClientTool(final String shortName, final String longName,
+ final ToolSelector toolSelector, final ContentCapabilitiesRegistry contentCapabilitiesRegistry) {
+ super(shortName, longName, toolSelector);
+ this.contentCapabilitiesRegistry = contentCapabilitiesRegistry;
+ }
- protected void registerAclEditableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getAclEditable().register(typeIds);
- }
+ protected void registerAclEditableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getAclEditable().register(typeIds);
+ }
- protected void registerAuthorableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getAuthorable().register(typeIds);
- }
+ protected void registerAuthorableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getAuthorable().register(typeIds);
+ }
- protected void registerComentableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getComentable().register(typeIds);
- }
+ protected void registerComentableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getComentable().register(typeIds);
+ }
- public void registerContentTypeIcon(final String typeId, final BasicMimeTypeDTO mimeType, final String iconUrl) {
- contentCapabilitiesRegistry.getIconsRegistry().registerContentTypeIcon(typeId, mimeType, iconUrl);
- }
+ public void registerContentTypeIcon(final String typeId, final BasicMimeTypeDTO mimeType,
+ final String iconUrl) {
+ contentCapabilitiesRegistry.getIconsRegistry().registerContentTypeIcon(typeId, mimeType, iconUrl);
+ }
- public void registerContentTypeIcon(final String contentTypeId, final Object icon) {
- contentCapabilitiesRegistry.getIconsRegistry().registerContentTypeIcon(contentTypeId, icon);
- }
+ public void registerContentTypeIcon(final String contentTypeId, final Object icon) {
+ contentCapabilitiesRegistry.getIconsRegistry().registerContentTypeIcon(contentTypeId, icon);
+ }
- protected void registerDragableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getDragable().register(typeIds);
- }
+ protected void registerDragableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getDragable().register(typeIds);
+ }
- protected void registerDropableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getDropable().register(typeIds);
- }
+ protected void registerDropableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getDropable().register(typeIds);
+ }
- protected void registerEmailSubscribeAbleTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getEmailSubscribeAble().register(typeIds);
- }
+ protected void registerEmailSubscribeAbleTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getEmailSubscribeAble().register(typeIds);
+ }
- protected void registerLicensableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getLicensable().register(typeIds);
- }
+ protected void registerLicensableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getLicensable().register(typeIds);
+ }
- protected void registerPublishModerableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getPublishModerable().register(typeIds);
- }
+ protected void registerPublishModerableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getPublishModerable().register(typeIds);
+ }
- protected void registerRateableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getRateable().register(typeIds);
- }
+ protected void registerRateableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getRateable().register(typeIds);
+ }
- protected void registerRenamableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getRenamable().register(typeIds);
- }
+ protected void registerRenamableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getRenamable().register(typeIds);
+ }
- protected void registerTageableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getTageable().register(typeIds);
- }
+ protected void registerTageableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getTageable().register(typeIds);
+ }
- protected void registerTranslatableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getTranslatable().register(typeIds);
- }
+ protected void registerTranslatableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getTranslatable().register(typeIds);
+ }
- protected void registerUploadTypesAndMimes(final String typeUploadedfile) {
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("image"), "images/nav/picture.png");
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("video"), "images/nav/film.png");
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("audio"), "images/nav/music.png");
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "pdf"), "images/nav/page_pdf.png");
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "zip"), "images/nav/page_zip.png");
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "zip"), "images/nav/page_zip.png");
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("text"), "images/nav/page_text.png");
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "msword"),
- "images/nav/page_word.png");
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "excel"),
- "images/nav/page_excel.png");
- registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "mspowerpoint"),
- "images/nav/page_pps.png");
- registerContentTypeIcon(typeUploadedfile, "images/nav/page.png");
- }
+ protected void registerUploadTypesAndMimes(final String typeUploadedfile) {
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("image"), "images/nav/picture.png");
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("video"), "images/nav/film.png");
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("audio"), "images/nav/music.png");
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "pdf"),
+ "images/nav/page_pdf.png");
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "zip"),
+ "images/nav/page_zip.png");
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "zip"),
+ "images/nav/page_zip.png");
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("text"), "images/nav/page_text.png");
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "msword"),
+ "images/nav/page_word.png");
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "excel"),
+ "images/nav/page_excel.png");
+ registerContentTypeIcon(typeUploadedfile, new BasicMimeTypeDTO("application", "mspowerpoint"),
+ "images/nav/page_pps.png");
+ registerContentTypeIcon(typeUploadedfile, "images/nav/page.png");
+ }
- protected void registerVersionableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getVersionable().register(typeIds);
- }
+ protected void registerVersionableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getVersionable().register(typeIds);
+ }
- protected void registerXmppComentableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getXmppComentable().register(typeIds);
- }
+ protected void registerXmppComentableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getXmppComentable().register(typeIds);
+ }
- protected void registerXmppNotifyCapableTypes(final String... typeIds) {
- contentCapabilitiesRegistry.getXmppNotificyCapable().register(typeIds);
- }
+ protected void registerXmppNotifyCapableTypes(final String... typeIds) {
+ contentCapabilitiesRegistry.getXmppNotificyCapable().register(typeIds);
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-05-06 02:36:59 UTC (rev 1352)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-05-06 12:42:51 UTC (rev 1353)
@@ -2,17 +2,12 @@
import org.waveprotocol.box.webclient.client.ClientIdGenerator;
import org.waveprotocol.box.webclient.client.RemoteViewServiceMultiplexer;
-import org.waveprotocol.box.webclient.client.Session;
import org.waveprotocol.box.webclient.client.SimpleWaveStore;
import org.waveprotocol.box.webclient.client.StagesProvider;
-import org.waveprotocol.box.webclient.client.WaveWebSocketClient;
import org.waveprotocol.box.webclient.search.WaveStore;
-import org.waveprotocol.box.webclient.widget.loading.LoadingIndicator;
import org.waveprotocol.wave.client.account.ProfileManager;
-import org.waveprotocol.wave.client.account.impl.ProfileManagerImpl;
import org.waveprotocol.wave.client.widget.common.ImplPanel;
import org.waveprotocol.wave.model.id.IdGenerator;
-import org.waveprotocol.wave.model.wave.ParticipantId;
import org.waveprotocol.wave.model.waveref.InvalidWaveRefException;
import org.waveprotocol.wave.model.waveref.WaveRef;
import org.waveprotocol.wave.util.escapers.GwtWaverefEncoder;
@@ -26,12 +21,14 @@
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.gspace.client.GSpaceArmor;
import cc.kune.gspace.client.viewers.ContentViewerPresenter.ContentViewerView;
+import cc.kune.wave.client.WaveClientClearEvent;
import cc.kune.wave.client.WaveClientManager;
import cc.kune.wave.client.WebClient;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
@@ -39,6 +36,7 @@
import com.google.gwt.user.client.ui.DeckPanel;
import com.google.gwt.user.client.ui.InlineHTML;
import com.google.gwt.user.client.ui.InsertPanel.ForIsWidget;
+import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
import com.gwtplatform.mvp.client.ViewImpl;
@@ -58,29 +56,40 @@
DeckPanel deck;
private final GSpaceArmor gsArmor;
private IdGenerator idGenerator;
- private final Element loading = new LoadingIndicator().getElement();
+ private Element loading;
@UiField
InlineHTML onlyViewPanel;
private ProfileManager profiles;
/** The wave panel, if a wave is open. */
private StagesProvider wave;
private final WaveClientManager waveClient;
+ private ImplPanel waveHolder;
+
@UiField
- ImplPanel waveHolder;
+ VerticalPanel waveHolderParent;
private final WaveStore waveStore = new SimpleWaveStore();
+ private WebClient webClient;
+
private final Widget widget;
@Inject
public ContentViewerPanel(final GSpaceArmor wsArmor, final WaveClientManager waveClient,
- final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n) {
+ final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n,
+ final EventBus eventBus) {
this.gsArmor = wsArmor;
this.waveClient = waveClient;
this.capabilitiesRegistry = capabilitiesRegistry;
widget = uiBinder.createAndBindUi(this);
contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
- loading.addClassName("kune-Margin-40-tb");
+ eventBus.addHandler(WaveClientClearEvent.getType(),
+ new WaveClientClearEvent.WaveClientClearHandler() {
+ @Override
+ public void onWaveClientClear(final WaveClientClearEvent event) {
+ waveClear();
+ }
+ });
}
@Override
@@ -100,6 +109,7 @@
gsArmor.getSubheaderToolbar().clear();
UiUtils.clear(gsArmor.getDocContainer());
UiUtils.clear(gsArmor.getDocHeader());
+ waveClear();
}
@Override
@@ -122,13 +132,13 @@
private void initWaveClientIfNeeded() {
if (channel == null) {
- final WaveWebSocketClient webSocket = new WaveWebSocketClient(WebClient.useSocketIO(),
- WebClient.getWebSocketBaseUrl(GWT.getModuleBaseURL()));
- webSocket.connect();
- channel = new RemoteViewServiceMultiplexer(webSocket,
- new ParticipantId(Session.get().getAddress()).getAddress());
- profiles = new ProfileManagerImpl(Session.get().getDomain());
+ webClient = waveClient.getWebClient();
+ loading = webClient.getLoading();
+ waveHolder = webClient.getWaveHolder();
+ channel = webClient.getChannel();
+ profiles = webClient.getProfiles();
idGenerator = ClientIdGenerator.create();
+ loading.addClassName("kune-Margin-40-tb");
}
}
@@ -161,13 +171,17 @@
private void setEditableWaveContent(final String waveRefS, final boolean isNewWave) {
final WaveRef waveRef = getWaveRef(waveRefS);
- if (wave != null) {
- wave.destroy();
- wave = null;
+ initWaveClientIfNeeded();
+
+ webClient.clear();
+ waveClear();
+
+ if (waveHolder.isAttached()) {
+ waveHolder.removeFromParent();
+ waveHolderParent.remove(waveHolder);
}
+ waveHolderParent.add(waveHolder);
- initWaveClientIfNeeded();
-
// Release the display:none.
// UIObject.setVisible(waveFrame.getElement(), true);
waveHolder.getElement().appendChild(loading);
@@ -199,4 +213,11 @@
channel = NO_CHANNEL;
}
+ private void waveClear() {
+ if (wave != null) {
+ wave.destroy();
+ wave = null;
+ }
+ }
+
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml 2011-05-06 02:36:59 UTC (rev 1352)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml 2011-05-06 12:42:51 UTC (rev 1353)
@@ -21,7 +21,8 @@
</ui:style>
<g:HTMLPanel width="100%" height="100%">
<g:DeckPanel ui:field="deck" addStyleNames="k-doc-content-deck">
- <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}" />
+ <!-- <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}" /> -->
+ <g:VerticalPanel ui:field="waveHolderParent" />
<g:InlineHTML ui:field="onlyViewPanel" styleName="{style.viewonly}" />
</g:DeckPanel>
</g:HTMLPanel>
Added: trunk/src/main/java/cc/kune/wave/client/WaveClientClearEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientClearEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientClearEvent.java 2011-05-06 12:42:51 UTC (rev 1353)
@@ -0,0 +1,58 @@
+package cc.kune.wave.client;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+import com.google.gwt.event.shared.HasHandlers;
+
+public class WaveClientClearEvent extends GwtEvent<WaveClientClearEvent.WaveClientClearHandler> {
+
+ public interface HasWaveClientClearHandlers extends HasHandlers {
+ HandlerRegistration addWaveClientClearHandler(WaveClientClearHandler handler);
+ }
+
+ public interface WaveClientClearHandler extends EventHandler {
+ public void onWaveClientClear(WaveClientClearEvent event);
+ }
+
+ private static final Type<WaveClientClearHandler> TYPE = new Type<WaveClientClearHandler>();
+
+ public static void fire(HasHandlers source) {
+ source.fireEvent(new WaveClientClearEvent());
+ }
+
+ public static Type<WaveClientClearHandler> getType() {
+ return TYPE;
+ }
+
+
+ public WaveClientClearEvent() {
+ }
+
+ @Override
+ public Type<WaveClientClearHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ @Override
+ protected void dispatch(WaveClientClearHandler handler) {
+ handler.onWaveClientClear(this);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return super.equals(obj);
+ }
+
+ @Override
+ public int hashCode() {
+ return super.hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return "WaveClientClearEvent["
+ + "]";
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/wave/client/WaveClientClearEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-06 02:36:59 UTC (rev 1352)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-06 12:42:51 UTC (rev 1353)
@@ -93,61 +93,165 @@
interface Binder extends UiBinder<DockLayoutPanel, WebClient> {
}
+ /**
+ * An exception handler that reports exceptions using a <em>shiny banner</em>
+ * (an alert placed on the top of the screen). Once the stack trace is
+ * prepared, it is revealed in the banner via a link.
+ */
+ static class ErrorHandler implements UncaughtExceptionHandler {
+ public static void install() {
+ GWT.setUncaughtExceptionHandler(new ErrorHandler(GWT.getUncaughtExceptionHandler()));
+ }
+
+ private static String maybe(final int value, final String otherwise) {
+ return value != -1 ? String.valueOf(value) : otherwise;
+ }
+
+ private static String maybe(final String value, final String otherwise) {
+ return value != null ? value : otherwise;
+ }
+
+ /**
+ * Indicates whether an error has already been reported (at most one error
+ * is ever reported by this handler).
+ */
+ private boolean hasFired;
+
+ /** Next handler in the handler chain. */
+ private final UncaughtExceptionHandler next;
+
+ private ErrorHandler(final UncaughtExceptionHandler next) {
+ this.next = next;
+ }
+
+ private void getStackTraceAsync(final Throwable t, final Accessor<SafeHtml> whenReady) {
+ // TODO: Request stack-trace de-obfuscation. For now, just use the
+ // javascript stack trace.
+ //
+ // Use minimal services here, in order to avoid the chance that reporting
+ // the error produces more errors. In particular, do not use WIAB's
+ // scheduler to run this command.
+ // Also, this code could potentially be put behind a runAsync boundary, to
+ // save whatever dependencies it uses from the initial download.
+ new Timer() {
+ @Override
+ public void run() {
+ final SafeHtmlBuilder stack = new SafeHtmlBuilder();
+
+ Throwable error = t;
+ while (error != null) {
+ final String token = String.valueOf((new Date()).getTime());
+ stack.appendHtmlConstant("Token: " + token + "<br> ");
+ stack.appendEscaped(String.valueOf(error.getMessage())).appendHtmlConstant("<br>");
+ for (final StackTraceElement elt : error.getStackTrace()) {
+ stack.appendHtmlConstant(" ")
+ .appendEscaped(maybe(elt.getClassName(), "??")).appendHtmlConstant(".") //
+ .appendEscaped(maybe(elt.getMethodName(), "??")).appendHtmlConstant(" (") //
+ .appendEscaped(maybe(elt.getFileName(), "??")).appendHtmlConstant(":") //
+ .appendEscaped(maybe(elt.getLineNumber(), "??")).appendHtmlConstant(")") //
+ .appendHtmlConstant("<br>");
+ }
+ error = error.getCause();
+ if (error != null) {
+ stack.appendHtmlConstant("Caused by: ");
+ }
+ }
+
+ whenReady.use(stack.toSafeHtml());
+ }
+ }.schedule(1);
+ }
+
+ @Override
+ public void onUncaughtException(final Throwable e) {
+ if (!hasFired) {
+ hasFired = true;
+ // final ErrorIndicatorPresenter error =
+ // ErrorIndicatorPresenter.create(RootPanel.get("banner"));
+ getStackTraceAsync(e, new Accessor<SafeHtml>() {
+ @Override
+ public void use(final SafeHtml stack) {
+ NotifyUser.error("Oops! Something has gone wrong. Please contact the site admins with <em>more details</em>");
+ // error.addDetail(stack, null);
+ final String message = stack.asString().replace("<br>", "\n");
+ REMOTE_LOG.severe(message);
+ NotifyUser.logError(message);
+ }
+ });
+ }
+
+ if (next != null) {
+ next.onUncaughtException(e);
+ }
+ }
+ }
+
interface Style extends CssResource {
}
private static final Binder BINDER = GWT.create(Binder.class);
+ static final Log LOG = Log.get(WebClient.class);
- static final Log LOG = Log.get(WebClient.class);
// Use of GWT logging is only intended for sending exception reports to the
// server, nothing else in the client should use java.util.logging.
// Please also see WebClientDemo.gwt.xml.
private static final Logger REMOTE_LOG = Logger.getLogger("REMOTE_LOG");
- private final ProfileManager profiles = new ProfileManagerImpl(Session.get().getDomain());
+ /**
+ * Returns <code>ws://yourhost[:port]/</code>.
+ */
+ // XXX check formatting wrt GPE
+ public native static String getWebSocketBaseUrl(String moduleBase) /*-{
+ return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";
+ }-*/;
- @UiField
- SplitLayoutPanel splitPanel;
+ public native static boolean useSocketIO() /*-{
+ return !!$wnd.__useSocketIO
+ }-*/;
- @UiField
- Style style;
+ private RemoteViewServiceMultiplexer channel;
- @UiField
- FramedPanel waveFrame;
+ private final EventBus eventBus;
+ private IdGenerator idGenerator;
- @UiField
- ImplPanel waveHolder;
private final Element loading = new LoadingIndicator().getElement();
+ private ParticipantId loggedInUser;
+
+ @UiField
+ DebugMessagePanel logPanel;
+
+ private final ProfileManager profiles = new ProfileManagerImpl(Session.get().getDomain());
+
@UiField(provided = true)
final SearchPanelWidget searchPanel = new SearchPanelWidget(new SearchPanelRenderer(profiles));
@UiField
- DebugMessagePanel logPanel;
+ SplitLayoutPanel splitPanel;
+ @UiField
+ Style style;
+
/** The wave panel, if a wave is open. */
private StagesProvider wave;
+@UiField
+FramedPanel waveFrame;
+
+ ImplPanel waveHolder;
+
private final WaveStore waveStore = new SimpleWaveStore();
/**
* Create a remote websocket to talk to the server-side FedOne service.
*/
- private WaveWebSocketClient websocket;
+ private final WaveWebSocketClient websocket;
- private ParticipantId loggedInUser;
-
- private IdGenerator idGenerator;
-
- private RemoteViewServiceMultiplexer channel;
-
-private final EventBus eventBus;
-
/**
* This is the entry point method.
*/
@Inject
- public WebClient(EventBus eventBus) {
+ public WebClient(final EventBus eventBus) {
this.eventBus = eventBus;
ErrorHandler.install();
@@ -156,7 +260,7 @@
new WaveCreationEventHandler() {
@Override
- public void onCreateRequest(WaveCreationEvent event) {
+ public void onCreateRequest(final WaveCreationEvent event) {
LOG.info("WaveCreationEvent received");
if (channel == null) {
throw new DefaultException("Spaghetti attack. Create occured before login");
@@ -185,118 +289,62 @@
LOG.info("SimpleWebClient.onModuleLoad() done");
}
- private void setupUi() {
- // Set up UI
- DockLayoutPanel self = BINDER.createAndBindUi(this);
- // kune-patch
- // RootPanel.get("app").add(self);
- initWidget(self);
- // DockLayoutPanel forcibly conflicts with sensible layout control, and
- // sticks inline styles on elements without permission. They must be
- // cleared.
- self.getElement().getStyle().clearPosition();
- splitPanel.setWidgetMinSize(searchPanel, 300);
-
- if (LogLevel.showDebug()) {
- logPanel.enable();
- } else {
- logPanel.removeFromParent();
- }
-
- setupSearchPanel();
- setupWavePanel();
+ public RemoteViewServiceMultiplexer getChannel() {
+ return channel;
}
- private void setupSearchPanel() {
- // On wave selection, fire an event.
- SearchPresenter.WaveSelectionHandler selectHandler =
- new SearchPresenter.WaveSelectionHandler() {
- @Override
- public void onWaveSelected(WaveId id) {
- ClientEvents.get().fireEvent(new WaveSelectionEvent(WaveRef.of(id)));
- }
- };
- Search search = SimpleSearch.create(RemoteSearchService.create(), waveStore);
- SearchPresenter.create(search, searchPanel, selectHandler);
+ public Element getLoading() {
+ return loading;
}
- private void setupWavePanel() {
- // Hide the frame until waves start getting opened.
- UIObject.setVisible(waveFrame.getElement(), false);
-
- // Handles opening waves.
- ClientEvents.get().addWaveSelectionEventHandler(new WaveSelectionEventHandler() {
- @Override
- public void onSelection(WaveRef waveRef) {
- openWave(waveRef, false);
- }
- });
+ public ProfileManager getProfiles() {
+ return profiles;
}
- private void setupConnectionIndicator() {
- ClientEvents.get().addNetworkStatusEventHandler(new NetworkStatusEventHandler() {
- @Override
- public void onNetworkStatus(NetworkStatusEvent event) {
- Element element = Document.get().getElementById("netstatus");
- if (element != null) {
- switch (event.getStatus()) {
- case CONNECTED:
- case RECONNECTED:
- element.setInnerText("Online");
- element.setClassName("online");
- break;
- case DISCONNECTED:
- element.setInnerText("Offline");
- element.setClassName("offline");
- break;
- case RECONNECTING:
- element.setInnerText("Connecting...");
- element.setClassName("connecting");
- break;
- }
- }
- }
- });
+ public ImplPanel getWaveHolder() {
+ return waveHolder;
}
-
+public WaveWebSocketClient getWebSocket() {
+ return websocket;
+}
/**
- * Returns <code>ws://yourhost[:port]/</code>.
*/
- // XXX check formatting wrt GPE
- public native static String getWebSocketBaseUrl(String moduleBase) /*-{
- return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";
- }-*/;
-
- public native static boolean useSocketIO() /*-{
- return !!$wnd.__useSocketIO
- }-*/;
-
- /**
- */
private void loginToServer() {
assert loggedInUser != null;
channel = new RemoteViewServiceMultiplexer(websocket, loggedInUser.getAddress());
}
+ public void clear() {
+ if (wave != null) {
+ wave.destroy();
+ wave = null;
+ }
+}
/**
* Shows a wave in a wave panel.
*
* @param waveRef wave id to open
* @param isNewWave whether the wave is being created by this client session.
*/
- private void openWave(WaveRef waveRef, boolean isNewWave) {
+ private void openWave(final WaveRef waveRef, final boolean isNewWave) {
LOG.info("WebClient.openWave()");
+ WaveClientClearEvent.fire(eventBus);
if (wave != null) {
wave.destroy();
wave = null;
}
-
+ if (waveHolder.isAttached()) {
+ waveHolder.removeFromParent();
+ }
+ waveFrame.remove(waveHolder);
+ waveFrame.clear();
+ waveFrame.add(waveHolder);
// Release the display:none.
UIObject.setVisible(waveFrame.getElement(), true);
waveHolder.getElement().appendChild(loading);
- Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
- StagesProvider wave = new StagesProvider(
+ final Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
+ final StagesProvider wave = new StagesProvider(
holder, waveHolder, waveRef, channel, idGenerator, profiles, waveStore, isNewWave);
this.wave = wave;
wave.load(new Command() {
@@ -305,11 +353,11 @@
loading.removeFromParent();
}
});
- String encodedToken = History.getToken();
+ final String encodedToken = History.getToken();
// NotifyUser.info("Open Wave: " + encodedToken + " waveRef: " + waveRef.getWaveId(), true);
// Kune patch
if (encodedToken != null && !encodedToken.isEmpty() && !encodedToken.equals(SiteTokens.WAVEINBOX)) {
- WaveRef fromWaveRef = HistorySupport.waveRefFromHistoryToken(encodedToken);
+ final WaveRef fromWaveRef = HistorySupport.waveRefFromHistoryToken(encodedToken);
if (waveRef == null) {
LOG.info("History token contains invalid path: " + encodedToken);
return;
@@ -321,113 +369,85 @@
return;
}
}
- String tokenFromWaveref = HistorySupport.historyTokenFromWaveref(waveRef);
+ final String tokenFromWaveref = HistorySupport.historyTokenFromWaveref(waveRef);
SpaceConfEvent.fire(eventBus, Space.userSpace, tokenFromWaveref);
History.newItem(tokenFromWaveref, false);
}
- /**
- * An exception handler that reports exceptions using a <em>shiny banner</em>
- * (an alert placed on the top of the screen). Once the stack trace is
- * prepared, it is revealed in the banner via a link.
- */
- static class ErrorHandler implements UncaughtExceptionHandler {
- /** Next handler in the handler chain. */
- private final UncaughtExceptionHandler next;
-
- /**
- * Indicates whether an error has already been reported (at most one error
- * is ever reported by this handler).
- */
- private boolean hasFired;
-
- private ErrorHandler(UncaughtExceptionHandler next) {
- this.next = next;
- }
-
- public static void install() {
- GWT.setUncaughtExceptionHandler(new ErrorHandler(GWT.getUncaughtExceptionHandler()));
- }
-
- @Override
- public void onUncaughtException(Throwable e) {
- if (!hasFired) {
- hasFired = true;
- // final ErrorIndicatorPresenter error =
- // ErrorIndicatorPresenter.create(RootPanel.get("banner"));
- getStackTraceAsync(e, new Accessor<SafeHtml>() {
- @Override
- public void use(SafeHtml stack) {
- NotifyUser.error("Oops! Something has gone wrong. Please contact the site admins with <em>more details</em>");
- // error.addDetail(stack, null);
- String message = stack.asString().replace("<br>", "\n");
- REMOTE_LOG.severe(message);
- NotifyUser.logError(message);
+ private void setupConnectionIndicator() {
+ ClientEvents.get().addNetworkStatusEventHandler(new NetworkStatusEventHandler() {
+ @Override
+ public void onNetworkStatus(final NetworkStatusEvent event) {
+ final Element element = Document.get().getElementById("netstatus");
+ if (element != null) {
+ switch (event.getStatus()) {
+ case CONNECTED:
+ case RECONNECTED:
+ element.setInnerText("Online");
+ element.setClassName("online");
+ break;
+ case DISCONNECTED:
+ element.setInnerText("Offline");
+ element.setClassName("offline");
+ break;
+ case RECONNECTING:
+ element.setInnerText("Connecting...");
+ element.setClassName("connecting");
+ break;
}
- });
+ }
}
+ });
+ }
- if (next != null) {
- next.onUncaughtException(e);
- }
- }
-
- private void getStackTraceAsync(final Throwable t, final Accessor<SafeHtml> whenReady) {
- // TODO: Request stack-trace de-obfuscation. For now, just use the
- // javascript stack trace.
- //
- // Use minimal services here, in order to avoid the chance that reporting
- // the error produces more errors. In particular, do not use WIAB's
- // scheduler to run this command.
- // Also, this code could potentially be put behind a runAsync boundary, to
- // save whatever dependencies it uses from the initial download.
- new Timer() {
- @Override
- public void run() {
- SafeHtmlBuilder stack = new SafeHtmlBuilder();
-
- Throwable error = t;
- while (error != null) {
- String token = String.valueOf((new Date()).getTime());
- stack.appendHtmlConstant("Token: " + token + "<br> ");
- stack.appendEscaped(String.valueOf(error.getMessage())).appendHtmlConstant("<br>");
- for (StackTraceElement elt : error.getStackTrace()) {
- stack.appendHtmlConstant(" ")
- .appendEscaped(maybe(elt.getClassName(), "??")).appendHtmlConstant(".") //
- .appendEscaped(maybe(elt.getMethodName(), "??")).appendHtmlConstant(" (") //
- .appendEscaped(maybe(elt.getFileName(), "??")).appendHtmlConstant(":") //
- .appendEscaped(maybe(elt.getLineNumber(), "??")).appendHtmlConstant(")") //
- .appendHtmlConstant("<br>");
- }
- error = error.getCause();
- if (error != null) {
- stack.appendHtmlConstant("Caused by: ");
- }
+ private void setupSearchPanel() {
+ // On wave selection, fire an event.
+ final SearchPresenter.WaveSelectionHandler selectHandler =
+ new SearchPresenter.WaveSelectionHandler() {
+ @Override
+ public void onWaveSelected(final WaveId id) {
+ ClientEvents.get().fireEvent(new WaveSelectionEvent(WaveRef.of(id)));
}
+ };
+ final Search search = SimpleSearch.create(RemoteSearchService.create(), waveStore);
+ SearchPresenter.create(search, searchPanel, selectHandler);
+ }
- whenReady.use(stack.toSafeHtml());
- }
- }.schedule(1);
- }
+ private void setupUi() {
+ // Set up UI
+ final DockLayoutPanel self = BINDER.createAndBindUi(this);
+ // kune-patch
+ // RootPanel.get("app").add(self);
+ initWidget(self);
+ waveHolder = new ImplPanel("");
+ waveHolder.addStyleName("k-waveHolder");
+ waveFrame.add(waveHolder);
+ // DockLayoutPanel forcibly conflicts with sensible layout control, and
+ // sticks inline styles on elements without permission. They must be
+ // cleared.
+ self.getElement().getStyle().clearPosition();
+ splitPanel.setWidgetMinSize(searchPanel, 300);
- private static String maybe(String value, String otherwise) {
- return value != null ? value : otherwise;
+ if (LogLevel.showDebug()) {
+ logPanel.enable();
+ } else {
+ logPanel.removeFromParent();
}
- private static String maybe(int value, String otherwise) {
- return value != -1 ? String.valueOf(value) : otherwise;
- }
+ setupSearchPanel();
+ setupWavePanel();
}
- public WaveWebSocketClient getWebSocket() {
- return websocket;
- }
+ private void setupWavePanel() {
+ // Hide the frame until waves start getting opened.
+ UIObject.setVisible(waveFrame.getElement(), false);
- public RemoteViewServiceMultiplexer getChannel() {
- return channel;
+ // Handles opening waves.
+ ClientEvents.get().addWaveSelectionEventHandler(new WaveSelectionEventHandler() {
+ @Override
+ public void onSelection(final WaveRef waveRef) {
+ openWave(waveRef, false);
+ }
+ });
}
-
- public ProfileManager getProfiles() {
- return profiles;
- }
}
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml 2011-05-06 02:36:59 UTC (rev 1352)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.ui.xml 2011-05-06 12:42:51 UTC (rev 1353)
@@ -1,13 +1,10 @@
-<ui:UiBinder
- xmlns:ui="urn:ui:com.google.gwt.uibinder"
- xmlns:g='urn:import:com.google.gwt.user.client.ui'
- xmlns:d='urn:import:org.waveprotocol.box.webclient.client'
- xmlns:s='urn:import:org.waveprotocol.box.webclient.search'
- xmlns:f='urn:import:org.waveprotocol.box.webclient.widget.frame'
- xmlns:w='urn:import:org.waveprotocol.wave.client.widget.common'>
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g='urn:import:com.google.gwt.user.client.ui' xmlns:d='urn:import:org.waveprotocol.box.webclient.client'
+ xmlns:s='urn:import:org.waveprotocol.box.webclient.search' xmlns:f='urn:import:org.waveprotocol.box.webclient.widget.frame'
+ xmlns:w='urn:import:org.waveprotocol.wave.client.widget.common'>
<ui:style type="cc.kune.wave.client.WebClient.Style">
- @def rootBackground #f0f0ff;
- @def gap 10px;
+ @def rootBackground #f4e3d7;
+ @def gap 5px;
.root {
background: rootBackground;
position: absolute;
@@ -15,6 +12,9 @@
left: 0;
right: 0;
bottom: 0;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
}
.root2 {
@@ -22,19 +22,20 @@
}
.splitPanel {
+
}
@external gwt-SplitLayoutPanel-HDragger;
@external gwt-SplitLayoutPanel-VDragger;
- .splitPanel .gwt-SplitLayoutPanel-HDragger,.splitPanel .gwt-SplitLayoutPanel-VDragger {
+ .splitPanel .gwt-SplitLayoutPanel-HDragger,.splitPanel .gwt-SplitLayoutPanel-VDragger
+ {
background-color: rootBackground;
}
- .searchPanel {
- /*
- * GWT's drag panel separators are already huge, so no margin needed on
- * sides that have drag panels.
- */
+ .searchPanel { /*
+ * GWT's drag panel separators are already huge, so no margin needed on
+ * sides that have drag panels.
+ */
margin: gap 0 0 gap;
}
@@ -45,11 +46,10 @@
margin: 0 gap gap gap;
}
- .wavePanel {
- /*
- * GWT's drag panel separators are already huge, so no margin needed on
- * sides that have drag panels.
- */
+ .wavePanel { /*
+ * GWT's drag panel separators are already huge, so no margin needed on
+ * sides that have drag panels.
+ */
margin: gap 0 0 0;
}
@@ -63,16 +63,21 @@
</ui:style>
<g:DockLayoutPanel unit="PX" styleName="{style.root}">
<g:center>
- <g:SplitLayoutPanel ui:field="splitPanel" stylePrimaryName="{style.splitPanel}">
+ <g:SplitLayoutPanel ui:field="splitPanel"
+ stylePrimaryName="{style.splitPanel}">
<g:south size="200">
- <d:DebugMessagePanel ui:field="logPanel" addStyleNames="{style.debugPanel}" />
+ <d:DebugMessagePanel ui:field="logPanel"
+ addStyleNames="{style.debugPanel}" />
</g:south>
<g:west size="400">
- <s:SearchPanelWidget ui:field="searchPanel" addStyleNames="{style.searchPanel}"/>
+ <s:SearchPanelWidget ui:field="searchPanel"
+ addStyleNames="{style.searchPanel}" />
</g:west>
<g:center>
- <f:FramedPanel ui:field="waveFrame" addStyleNames="{style.wavePanel}">
- <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}"/>
+ <f:FramedPanel ui:field="waveFrame"
+ addStyleNames="{style.wavePanel}">
+ <!-- <w:ImplPanel ui:field="waveHolder"
+ addStyleNames="{style.waveHolder}" /> -->
</f:FramedPanel>
</g:center>
</g:SplitLayoutPanel>
1
0
Author: vjrj_
Date: 2011-05-06 04:36:59 +0200 (Fri, 06 May 2011)
New Revision: 1352
Added:
trunk/src/main/java/cc/kune/wiki/
trunk/src/main/java/cc/kune/wiki/KuneWiki.gwt.xml
trunk/src/main/java/cc/kune/wiki/client/
trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java
trunk/src/main/java/cc/kune/wiki/client/WikiGinjector.java
trunk/src/main/java/cc/kune/wiki/client/WikiParts.java
trunk/src/main/java/cc/kune/wiki/client/actions/
trunk/src/main/java/cc/kune/wiki/client/actions/DelFolderMenuItem.java
trunk/src/main/java/cc/kune/wiki/client/actions/DelWikiMenuItem.java
trunk/src/main/java/cc/kune/wiki/client/actions/GoParentFolderBtn.java
trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java
trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiBtn.java
trunk/src/main/java/cc/kune/wiki/client/actions/OpenWikiMenuItem.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
trunk/src/main/java/cc/kune/wiki/server/
trunk/src/main/java/cc/kune/wiki/shared/
trunk/src/main/java/cc/kune/wiki/shared/WikiConstants.java
trunk/src/test/java/cc/kune/wiki/
trunk/src/test/java/cc/kune/wiki/server/
Removed:
trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml
trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java
trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientTool.java
trunk/src/main/java/org/ourproject/kune/blogs/client/BlogsMessages.java
trunk/src/main/java/org/ourproject/kune/blogs/client/cnt/
trunk/src/main/java/org/ourproject/kune/blogs/client/ctx/
trunk/src/main/java/org/ourproject/kune/blogs/public/
trunk/src/main/java/org/ourproject/kune/wiki/server/
trunk/src/test/java/org/ourproject/kune/wiki/server/
Modified:
trunk/src/main/java/cc/kune/Kune.gwt.xml
trunk/src/main/java/cc/kune/blogs/client/actions/NewBlogBtn.java
trunk/src/main/java/cc/kune/blogs/client/actions/NewPostBtn.java
trunk/src/main/java/cc/kune/client/KuneEntryPoint.java
trunk/src/main/java/cc/kune/client/KuneGinjector.java
trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
trunk/src/main/java/cc/kune/docs/client/actions/NewDocBtn.java
trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java
trunk/src/main/java/cc/kune/docs/shared/DocsConstants.java
trunk/src/main/java/cc/kune/domain/Content.java
trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java
trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java
trunk/src/main/java/cc/kune/wiki/server/WikiServerModule.java
trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java
trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientTool.java
trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java
trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceAddTest.java
trunk/src/test/java/cc/kune/wiki/server/WikiServerToolTest.java
Log:
Wiki tool
Modified: trunk/src/main/java/cc/kune/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/Kune.gwt.xml 2011-05-06 02:36:59 UTC (rev 1352)
@@ -8,6 +8,7 @@
<inherits name="cc.kune.chat.KuneChat" />
<inherits name="cc.kune.docs.KuneDocs" />
<inherits name="cc.kune.blogs.KuneBlogs" />
+ <inherits name="cc.kune.wiki.KuneWiki" />
<inherits name="cc.kune.pspace.PSpace" />
<inherits name="com.calclab.suco.Suco" />
<inherits name="org.adamtacy.GWTEffects"></inherits>
@@ -34,7 +35,7 @@
<!-- NOTE: this only compiles for chromium/safari ============= -->
<!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
<!-- <set-property name="user.agent" value="gecko1_8" /> -->
- <set-property name="user.agent" value="safari,gecko1_8" />
+<!-- <set-property name="user.agent" value="safari,gecko1_8" /> -->
<!-- gwt-platform ============================================= -->
<inherits name='com.gwtplatform.mvp.Mvp' />
<define-configuration-property name="gin.ginjector"
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/NewBlogBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/NewBlogBtn.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/NewBlogBtn.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -9,10 +9,11 @@
public class NewBlogBtn extends NewContainerBtn {
- @Inject
- public NewBlogBtn(final I18nTranslationService i18n, final NewContainerAction action, final NavResources res) {
- super(i18n, action, res, i18n.t("New blog"), i18n.t("Create a new blog"), i18n.t("New blog"),
- BlogsConstants.TYPE_BLOG);
- }
+ @Inject
+ public NewBlogBtn(final I18nTranslationService i18n, final NewContainerAction action,
+ final NavResources res) {
+ super(i18n, action, res.blogAdd(), i18n.t("New blog"), i18n.t("Create a new blog"),
+ i18n.t("New blog"), BlogsConstants.TYPE_BLOG);
+ }
}
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/NewPostBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/NewPostBtn.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/NewPostBtn.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -10,11 +10,11 @@
public class NewPostBtn extends NewContentBtn {
- @Inject
- public NewPostBtn(final I18nTranslationService i18n, final NewContentAction action, final NavResources res,
- final GlobalShortcutRegister shorcutReg) {
- super(i18n, action, res, shorcutReg, i18n.t("New post"), i18n.t("Create a new blog post"), i18n.t("New post"),
- BlogsConstants.TYPE_POST);
- }
+ @Inject
+ public NewPostBtn(final I18nTranslationService i18n, final NewContentAction action,
+ final NavResources res, final GlobalShortcutRegister shorcutReg) {
+ super(i18n, action, res.blogAdd(), shorcutReg, i18n.t("New post"), i18n.t("Create a new blog post"),
+ i18n.t("New post"), BlogsConstants.TYPE_POST);
+ }
}
Modified: trunk/src/main/java/cc/kune/client/KuneEntryPoint.java
===================================================================
--- trunk/src/main/java/cc/kune/client/KuneEntryPoint.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/client/KuneEntryPoint.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -35,55 +35,56 @@
*/
public class KuneEntryPoint implements EntryPoint {
- public final KuneGinjector ginjector = GWT.create(KuneGinjector.class);
+ public final KuneGinjector ginjector = GWT.create(KuneGinjector.class);
- /*
- * (non-Javadoc)
- *
- * @see com.google.gwt.core.client.EntryPoint#onModuleLoad()
- */
- @Override
- public void onModuleLoad() {
- GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
- @Override
- public void onUncaughtException(final Throwable e) {
- Log.error("Error in 'onModuleLoad()' method", e);
- e.printStackTrace();
- }
- });
- Scheduler.get().scheduleDeferred(new ScheduledCommand() {
- @Override
- public void execute() {
- onModuleLoadCont();
- }
- });
- }
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.google.gwt.core.client.EntryPoint#onModuleLoad()
+ */
+ @Override
+ public void onModuleLoad() {
+ GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
+ @Override
+ public void onUncaughtException(final Throwable e) {
+ Log.error("Error in 'onModuleLoad()' method", e);
+ e.printStackTrace();
+ }
+ });
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ onModuleLoadCont();
+ }
+ });
+ }
- /**
- * On module load cont.
- */
- public void onModuleLoadCont() {
- DelayedBindRegistry.bind(ginjector);
- ginjector.getSpinerPresenter();
- ginjector.getGlobalShortcutRegister().enable();
- AsyncCallbackSimple.init(ginjector.getErrorHandler());
- ginjector.getEventLogger();
- NotifyUser.init(ginjector.getEventBus(), ginjector.getI18n());
- ginjector.getCorePresenter().get().forceReveal();
- ginjector.getOnAppStartFactory();
- ginjector.getStateManager();
- ginjector.getGwtGuiProvider();
- ginjector.getUserNotifierPresenter();
- ginjector.getSpinerPresenter();
- ginjector.getGroupMembersPresenter();
- ginjector.getDocsParts();
- ginjector.getBlogsParts();
- ginjector.getSiteLogoPresenter();
- ginjector.getSpacesTabPresenter();
- ginjector.getChatClient();
- ginjector.getCoreParts();
- ginjector.getGSpaceParts();
- ginjector.getPSpaceParts();
- ginjector.getContentViewerSelector().init();
- }
+ /**
+ * On module load cont.
+ */
+ public void onModuleLoadCont() {
+ DelayedBindRegistry.bind(ginjector);
+ ginjector.getSpinerPresenter();
+ ginjector.getGlobalShortcutRegister().enable();
+ AsyncCallbackSimple.init(ginjector.getErrorHandler());
+ ginjector.getEventLogger();
+ NotifyUser.init(ginjector.getEventBus(), ginjector.getI18n());
+ ginjector.getCorePresenter().get().forceReveal();
+ ginjector.getOnAppStartFactory();
+ ginjector.getStateManager();
+ ginjector.getGwtGuiProvider();
+ ginjector.getUserNotifierPresenter();
+ ginjector.getSpinerPresenter();
+ ginjector.getGroupMembersPresenter();
+ ginjector.getDocsParts();
+ ginjector.getBlogsParts();
+ ginjector.getWikiParts();
+ ginjector.getSiteLogoPresenter();
+ ginjector.getSpacesTabPresenter();
+ ginjector.getChatClient();
+ ginjector.getCoreParts();
+ ginjector.getGSpaceParts();
+ ginjector.getPSpaceParts();
+ ginjector.getContentViewerSelector().init();
+ }
}
Modified: trunk/src/main/java/cc/kune/client/KuneGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/client/KuneGinjector.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -59,6 +59,8 @@
import cc.kune.pspace.client.PSpacePresenter;
import cc.kune.wave.client.WaveGinModule;
import cc.kune.wave.client.WaveParts;
+import cc.kune.wiki.client.WikiGinModule;
+import cc.kune.wiki.client.WikiGinjector;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.inject.client.AsyncProvider;
@@ -68,77 +70,79 @@
import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;
@GinModules({ KuneGinModule.class, CoreGinModule.class, ChatGinModule.class, WaveGinModule.class,
- PSpaceGinModule.class, GSpaceGinModule.class, DocsGinModule.class, BlogsGinModule.class })
-public interface KuneGinjector extends Ginjector, GSpaceGinjector, DocsGinjector, BlogsGinjector {
+ PSpaceGinModule.class, GSpaceGinModule.class, DocsGinModule.class, BlogsGinModule.class,
+ WikiGinModule.class })
+public interface KuneGinjector extends Ginjector, GSpaceGinjector, DocsGinjector, BlogsGinjector,
+ WikiGinjector {
- /*
- * You have to add here all the GWTPresenters (as Provider or AsyncProvider)
- * see the GWTPlatform doc
- */
+ /*
+ * You have to add here all the GWTPresenters (as Provider or AsyncProvider)
+ * see the GWTPlatform doc
+ */
- AsyncProvider<UserSNPresenter> getBuddiesAndParticipationPresenter();
+ AsyncProvider<UserSNPresenter> getBuddiesAndParticipationPresenter();
- ChatClient getChatClient();
+ ChatClient getChatClient();
- ChatParts getChatParts();
+ ChatParts getChatParts();
- AsyncProvider<CookiesManager> getCookiesManager();
+ AsyncProvider<CookiesManager> getCookiesManager();
- CoreParts getCoreParts();
+ CoreParts getCoreParts();
- Provider<CorePresenter> getCorePresenter();
+ Provider<CorePresenter> getCorePresenter();
- AsyncProvider<EntityHeaderPresenter> getEntityHeaderPresenter();
+ AsyncProvider<EntityHeaderPresenter> getEntityHeaderPresenter();
- ErrorHandler getErrorHandler();
+ ErrorHandler getErrorHandler();
- EventBus getEventBus();
+ EventBus getEventBus();
- EventBusWithLogging getEventLogger();
+ EventBusWithLogging getEventLogger();
- GlobalShortcutRegister getGlobalShortcutRegister();
+ GlobalShortcutRegister getGlobalShortcutRegister();
- AsyncProvider<GroupSNPresenter> getGroupMembersPresenter();
+ AsyncProvider<GroupSNPresenter> getGroupMembersPresenter();
- GuiProvider getGuiProvider();
+ GuiProvider getGuiProvider();
- GwtGuiProvider getGwtGuiProvider();
+ GwtGuiProvider getGwtGuiProvider();
- GxtGuiProvider getGxtGuiProvider();
+ GxtGuiProvider getGxtGuiProvider();
- I18nTranslationService getI18n();
+ I18nTranslationService getI18n();
- AsyncProvider<NewGroupPresenter> getNewGroupPresenter();
+ AsyncProvider<NewGroupPresenter> getNewGroupPresenter();
- OnAppStartFactory getOnAppStartFactory();
+ OnAppStartFactory getOnAppStartFactory();
- ProxyFailureHandler getProxyFailureHandler();
+ ProxyFailureHandler getProxyFailureHandler();
- PSpaceParts getPSpaceParts();
+ PSpaceParts getPSpaceParts();
- AsyncProvider<PSpacePresenter> getPSpacePresenter();
+ AsyncProvider<PSpacePresenter> getPSpacePresenter();
- AsyncProvider<RegisterPresenter> getRegisterPresenter();
+ AsyncProvider<RegisterPresenter> getRegisterPresenter();
- AsyncProvider<SignInPresenter> getSignInPresenter();
+ AsyncProvider<SignInPresenter> getSignInPresenter();
- AsyncProvider<SitebarActionsPresenter> getSitebarActionsPresenter();
+ AsyncProvider<SitebarActionsPresenter> getSitebarActionsPresenter();
- AsyncProvider<SiteLogoPresenter> getSiteLogoPresenter();
+ AsyncProvider<SiteLogoPresenter> getSiteLogoPresenter();
- SiteTokenListeners getSiteTokenListeners();
+ SiteTokenListeners getSiteTokenListeners();
- AsyncProvider<SpaceSelectorPresenter> getSpacesTabPresenter();
+ AsyncProvider<SpaceSelectorPresenter> getSpacesTabPresenter();
- AsyncProvider<SpinerPresenter> getSpinerPresenter();
+ AsyncProvider<SpinerPresenter> getSpinerPresenter();
- StateManager getStateManager();
+ StateManager getStateManager();
- TokenMatcher getTokenMatcher();
+ TokenMatcher getTokenMatcher();
- AsyncProvider<UserConfirmPresenter> getUserConfirmPresenter();
+ AsyncProvider<UserConfirmPresenter> getUserConfirmPresenter();
- AsyncProvider<UserNotifierPresenter> getUserNotifierPresenter();
+ AsyncProvider<UserNotifierPresenter> getUserNotifierPresenter();
- WaveParts getWaveParts();
+ WaveParts getWaveParts();
}
Modified: trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -48,6 +48,7 @@
import cc.kune.core.server.rest.TestJSONService;
import cc.kune.core.server.rest.UserJSONService;
import cc.kune.docs.server.DocumentServerModule;
+import cc.kune.wiki.server.WikiServerModule;
import com.google.inject.AbstractModule;
import com.google.inject.Module;
@@ -59,93 +60,93 @@
import com.google.inject.servlet.SessionScoped;
public class KuneRackModule implements RackModule {
- public static final Log LOG = LogFactory.getLog(KuneRackModule.class);
- private final Module configModule;
+ public static final Log LOG = LogFactory.getLog(KuneRackModule.class);
+ private final Module configModule;
- public KuneRackModule() {
- this("development", "kune.properties", null);
- }
+ public KuneRackModule() {
+ this("development", "kune.properties", null);
+ }
- public KuneRackModule(final String jpaUnit, final String propertiesFileName, final Scope sessionScope) {
+ public KuneRackModule(final String jpaUnit, final String propertiesFileName, final Scope sessionScope) {
- configModule = new AbstractModule() {
- @Override
- public void configure() {
- install(FinderRegistry.init(new JpaPersistModule(jpaUnit)));
- bindInterceptor(Matchers.any(), new NotInObject(), new LoggerMethodInterceptor());
- bindConstant().annotatedWith(PropertiesFileName.class).to(propertiesFileName);
- if (sessionScope != null) {
- bindScope(SessionScoped.class, sessionScope);
- }
- }
- };
- }
+ configModule = new AbstractModule() {
+ @Override
+ public void configure() {
+ install(FinderRegistry.init(new JpaPersistModule(jpaUnit)));
+ bindInterceptor(Matchers.any(), new NotInObject(), new LoggerMethodInterceptor());
+ bindConstant().annotatedWith(PropertiesFileName.class).to(propertiesFileName);
+ if (sessionScope != null) {
+ bindScope(SessionScoped.class, sessionScope);
+ }
+ }
+ };
+ }
- @Override
- @SuppressWarnings("unchecked")
- public void configure(final RackBuilder builder) {
- installGuiceModules(builder);
+ @Override
+ @SuppressWarnings("unchecked")
+ public void configure(final RackBuilder builder) {
+ installGuiceModules(builder);
- builder.add(KuneContainerListener.class);
+ builder.add(KuneContainerListener.class);
- builder.exclude("/http-bind.*");
- builder.exclude("/public/.*");
- builder.exclude("/images/.*");
- builder.exclude("/stylesheets/.*");
- builder.exclude("/javascripts/.*");
- builder.exclude("/templates/.*");
+ builder.exclude("/http-bind.*");
+ builder.exclude("/public/.*");
+ builder.exclude("/images/.*");
+ builder.exclude("/stylesheets/.*");
+ builder.exclude("/javascripts/.*");
+ builder.exclude("/templates/.*");
- /* Wave with context '/' */
- builder.exclude("/");
- builder.exclude("/attachment/.*");
- builder.exclude("/auth/signin");
- builder.exclude("/auth/signout");
- builder.exclude("/auth/register");
- builder.exclude("/fetch/.*");
- builder.exclude("/robot/dataapi");
- builder.exclude("/robot/dataapi/oauth/.*");
- builder.exclude("/robot/dataapi/rpc");
- builder.exclude("/robot/register/.*");
- builder.exclude("/robot/rpc");
- builder.exclude("/gadgets");
- builder.exclude("/gadgets/.*");
- builder.exclude("/socket.io/*");
- builder.exclude("/socket.io/.*]");
- builder.exclude("/socket");
- builder.exclude("/static/.*");
- builder.exclude("/webclient/.*");
+ /* Wave with context '/' */
+ builder.exclude("/");
+ builder.exclude("/attachment/.*");
+ builder.exclude("/auth/signin");
+ builder.exclude("/auth/signout");
+ builder.exclude("/auth/register");
+ builder.exclude("/fetch/.*");
+ builder.exclude("/robot/dataapi");
+ builder.exclude("/robot/dataapi/oauth/.*");
+ builder.exclude("/robot/dataapi/rpc");
+ builder.exclude("/robot/register/.*");
+ builder.exclude("/robot/rpc");
+ builder.exclude("/gadgets");
+ builder.exclude("/gadgets/.*");
+ builder.exclude("/socket.io/*");
+ builder.exclude("/socket.io/.*]");
+ builder.exclude("/socket");
+ builder.exclude("/static/.*");
+ builder.exclude("/webclient/.*");
- builder.at(".*").install(new LogFilter());
- builder.at(".*").install(new GuiceFilter());
+ builder.at(".*").install(new LogFilter());
+ builder.at(".*").install(new GuiceFilter());
- // NOTE: Commented this while testing Wave
- // builder.at("^/$").install(new RedirectFilter("/ws/"));
- builder.at("^/ws").install(new RedirectFilter("/ws/"));
+ // NOTE: Commented this while testing Wave
+ // builder.at("^/$").install(new RedirectFilter("/ws/"));
+ builder.at("^/ws").install(new RedirectFilter("/ws/"));
- builder.at("^/ws/$").install(new ListenerFilter(KuneApplicationListener.class),
- new ForwardFilter("/ws/ws.html"));
+ builder.at("^/ws/$").install(new ListenerFilter(KuneApplicationListener.class),
+ new ForwardFilter("/ws/ws.html"));
- builder.installGWTServices("^/ws/", SiteService.class, GroupService.class, ContentService.class,
- UserService.class, SocialNetworkService.class, I18nService.class);
- builder.installRESTServices("^/ws/json/", TestJSONService.class, GroupJSONService.class, UserJSONService.class,
- I18nTranslationJSONService.class, ContentJSONService.class);
- builder.installServlet("^/ws/servlets/", FileUploadManager.class, FileDownloadManager.class,
- EntityLogoUploadManager.class, EntityLogoDownloadManager.class);
+ builder.installGWTServices("^/ws/", SiteService.class, GroupService.class, ContentService.class,
+ UserService.class, SocialNetworkService.class, I18nService.class);
+ builder.installRESTServices("^/ws/json/", TestJSONService.class, GroupJSONService.class,
+ UserJSONService.class, I18nTranslationJSONService.class, ContentJSONService.class);
+ builder.installServlet("^/ws/servlets/", FileUploadManager.class, FileDownloadManager.class,
+ EntityLogoUploadManager.class, EntityLogoDownloadManager.class);
- builder.at("^/ws/(.*)$").install(new ForwardFilter("^/ws/(.*)$", "/ws/{0}"));
- }
+ builder.at("^/ws/(.*)$").install(new ForwardFilter("^/ws/(.*)$", "/ws/{0}"));
+ }
- private void installGuiceModules(final RackBuilder builder) {
- // https://code.google.com/p/google-guice/wiki/ServletModule
- builder.use(new ServletModule());
- builder.use(new PlatformServerModule());
- builder.use(new DocumentServerModule());
- builder.use(new BlogServerModule());
- // builder.use(new WikiServerModule());
- // builder.use(new ChatServerModule());
- // builder.use(new GalleryServerModule());
- builder.use(new RESTServicesModule());
- builder.use(configModule);
- }
+ private void installGuiceModules(final RackBuilder builder) {
+ // https://code.google.com/p/google-guice/wiki/ServletModule
+ builder.use(new ServletModule());
+ builder.use(new PlatformServerModule());
+ builder.use(new DocumentServerModule());
+ builder.use(new BlogServerModule());
+ builder.use(new WikiServerModule());
+ // builder.use(new ChatServerModule());
+ // builder.use(new GalleryServerModule());
+ builder.use(new RESTServicesModule());
+ builder.use(configModule);
+ }
}
Modified: trunk/src/main/java/cc/kune/docs/client/actions/NewDocBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/NewDocBtn.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/docs/client/actions/NewDocBtn.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -10,12 +10,13 @@
public class NewDocBtn extends NewContentBtn {
- @Inject
- public NewDocBtn(final I18nTranslationService i18n, final NewContentAction action, final NavResources res,
- final GlobalShortcutRegister shorcutReg) {
- super(i18n, action, res, shorcutReg, i18n.t("New document"), i18n.t("Create a New Document here. "
- + "This document will be a new 'Page' in the public web if you publish it"), i18n.t("New document"),
- DocsConstants.TYPE_DOCUMENT);
- }
+ @Inject
+ public NewDocBtn(final I18nTranslationService i18n, final NewContentAction action,
+ final NavResources res, final GlobalShortcutRegister shorcutReg) {
+ super(i18n, action, res.pageAdd(), shorcutReg, i18n.t("New document"),
+ i18n.t("Create a New Document here. "
+ + "This document will be a new 'Page' in the public web if you publish it"),
+ i18n.t("New document"), DocsConstants.TYPE_DOCUMENT);
+ }
}
Modified: trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -9,11 +9,12 @@
public class NewFolderBtn extends NewContainerBtn {
- @Inject
- public NewFolderBtn(final I18nTranslationService i18n, final NewContainerAction action, final NavResources res) {
- super(i18n, action, res, i18n.t("New folder"),
- i18n.t("Create a new folder here. A folder will be a 'section' in the public web"),
- i18n.t("New folder"), DocsConstants.TYPE_FOLDER);
- }
+ @Inject
+ public NewFolderBtn(final I18nTranslationService i18n, final NewContainerAction action,
+ final NavResources res) {
+ super(i18n, action, res.folderAdd(), i18n.t("New folder"),
+ i18n.t("Create a new folder here. A folder will be a 'section' in the public web"),
+ i18n.t("New folder"), DocsConstants.TYPE_FOLDER);
+ }
}
Modified: trunk/src/main/java/cc/kune/docs/shared/DocsConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/shared/DocsConstants.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/docs/shared/DocsConstants.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -4,17 +4,13 @@
public final class DocsConstants {
- public static final String NAME = "docs";
- public static final String ROOT_NAME = "documents";
- public static final String TYPE_DOCUMENT = NAME + "." + "doc";
- public static final String TYPE_FOLDER = NAME + "." + "folder";
- public static final String TYPE_ROOT = NAME + "." + "root";
- public static final String TYPE_UPLOADEDFILE = NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
+ public static final String NAME = "docs";
+ public static final String ROOT_NAME = "documents";
+ public static final String TYPE_DOCUMENT = NAME + "." + "doc";
+ public static final String TYPE_FOLDER = NAME + "." + "folder";
+ public static final String TYPE_ROOT = NAME + "." + "root";
+ public static final String TYPE_UPLOADEDFILE = NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
- // @Deprecated
- // public static final String TYPE_WAVE = NAME + "." +
- // ToolConstants.WAVE_SUFFIX;
-
- private DocsConstants() {
- }
+ private DocsConstants() {
+ }
}
Modified: trunk/src/main/java/cc/kune/domain/Content.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Content.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/domain/Content.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -57,6 +57,7 @@
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.docs.shared.DocsConstants;
import cc.kune.domain.utils.HasStateToken;
+import cc.kune.wiki.shared.WikiConstants;
@Entity
@Table(name = "contents")
@@ -259,7 +260,8 @@
@Transient
public boolean isWave() {
- return (typeId.equals(DocsConstants.TYPE_DOCUMENT)) || (typeId.equals(BlogsConstants.TYPE_POST));
+ return (typeId.equals(DocsConstants.TYPE_DOCUMENT)) || typeId.equals(WikiConstants.TYPE_WIKIPAGE)
+ || (typeId.equals(BlogsConstants.TYPE_POST));
}
public void removeAuthor(final User user) {
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -4,7 +4,6 @@
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
import cc.kune.common.client.notify.NotifyUser;
import cc.kune.core.client.actions.RolAction;
-import cc.kune.core.client.resources.nav.NavResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.rpcservices.ContentServiceAsync;
import cc.kune.core.client.state.ContentCache;
@@ -15,6 +14,7 @@
import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import com.google.gwt.resources.client.ImageResource;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -63,12 +63,12 @@
private static final String NEW_NAME = "ctnernewname";
public NewContainerBtn(final I18nTranslationService i18n, final NewContainerAction action,
- final NavResources res, final String title, final String tooltip, final String newName,
+ final ImageResource icon, final String title, final String tooltip, final String newName,
final String id) {
super(action);
// The name given to this new content
action.putValue(NEW_NAME, newName);
action.putValue(ID, id);
- this.withText(title).withToolTip(tooltip).withIcon(res.folderAdd()).withStyles("k-def-docbtn, k-fr");
+ this.withText(title).withToolTip(tooltip).withIcon(icon).withStyles("k-def-docbtn, k-fr");
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -7,7 +7,6 @@
import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
import cc.kune.core.client.actions.RolAction;
-import cc.kune.core.client.resources.nav.NavResources;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.rpcservices.ContentServiceAsync;
import cc.kune.core.client.state.ContentCache;
@@ -18,6 +17,7 @@
import cc.kune.core.shared.dto.StateContentDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import com.google.gwt.resources.client.ImageResource;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -64,7 +64,7 @@
private static final String NEW_NAME = "ctnnewname";
public NewContentBtn(final I18nTranslationService i18n, final NewContentAction action,
- final NavResources res, final GlobalShortcutRegister shorcutReg, final String title,
+ final ImageResource icon, final GlobalShortcutRegister shorcutReg, final String title,
final String tooltip, final String newName, final String id) {
super(action);
// The name given to this new content
@@ -72,7 +72,7 @@
action.putValue(ID, id);
final KeyStroke shortcut = Shortcut.getShortcut(false, true, false, false, Character.valueOf('N'));
shorcutReg.put(shortcut, action);
- this.withText(title).withToolTip(tooltip).withIcon(res.pageAdd()).withShortcut(shortcut).withStyles(
+ this.withText(title).withToolTip(tooltip).withIcon(icon).withShortcut(shortcut).withStyles(
"k-def-docbtn, k-fr");
}
Added: trunk/src/main/java/cc/kune/wiki/KuneWiki.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/wiki/KuneWiki.gwt.xml (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/KuneWiki.gwt.xml 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,6 @@
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
+<module>
+ <inherits name="cc.kune.core.KuneCore" />
+ <source path="client" />
+ <source path="shared" />
+</module>
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/wiki/KuneWiki.gwt.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,70 @@
+/*
+ *
+ * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.wiki.client;
+
+import static cc.kune.wiki.shared.WikiConstants.NAME;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_FOLDER;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_ROOT;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_UPLOADEDFILE;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_WIKIPAGE;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.gspace.client.tool.old.FoldableAbstractClientTool;
+import cc.kune.gspace.client.tool.selector.ToolSelector;
+
+import com.google.inject.Inject;
+
+public class WikiClientTool extends FoldableAbstractClientTool {
+
+ private final NavResources navResources;
+
+ @Inject
+ public WikiClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector,
+ final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources) {
+ super(NAME, i18n.t("wiki"), toolSelector, cntCapRegistry);
+ this.navResources = navResources;
+
+ // registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
+ registerAuthorableTypes(TYPE_WIKIPAGE, TYPE_UPLOADEDFILE);
+ registerDragableTypes(TYPE_WIKIPAGE, TYPE_FOLDER, TYPE_UPLOADEDFILE);
+ registerDropableTypes(TYPE_ROOT, TYPE_FOLDER);
+ // registerPublishModerableTypes();
+ registerRateableTypes(TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
+ registerRenamableTypes(TYPE_FOLDER, TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
+ registerTageableTypes(TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
+ registerTranslatableTypes(TYPE_FOLDER, TYPE_WIKIPAGE);
+
+ registerIcons();
+ }
+
+ @Override
+ public String getName() {
+ return NAME;
+ }
+
+ private void registerIcons() {
+ registerContentTypeIcon(TYPE_FOLDER, navResources.folder());
+ registerContentTypeIcon(TYPE_ROOT, navResources.folder());
+ registerContentTypeIcon(TYPE_WIKIPAGE, navResources.wikipage());
+ registerUploadTypesAndMimes(TYPE_UPLOADEDFILE);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/WikiClientTool.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,16 @@
+package cc.kune.wiki.client;
+
+import cc.kune.wiki.client.actions.WikiClientActions;
+
+import com.google.inject.Singleton;
+import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
+
+public class WikiGinModule extends AbstractPresenterModule {
+
+ @Override
+ protected void configure() {
+ bind(WikiClientTool.class).in(Singleton.class);
+ bind(WikiClientActions.class).in(Singleton.class);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/WikiGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/WikiGinjector.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/WikiGinjector.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,9 @@
+package cc.kune.wiki.client;
+
+import com.google.gwt.inject.client.Ginjector;
+
+public interface WikiGinjector extends Ginjector {
+
+ WikiParts getWikiParts();
+
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/WikiGinjector.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/WikiParts.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/WikiParts.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/WikiParts.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,23 @@
+package cc.kune.wiki.client;
+
+import cc.kune.core.client.state.Session;
+import cc.kune.gspace.client.tool.ContentViewerSelector;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
+import cc.kune.gspace.client.viewers.FolderViewerPresenter;
+import cc.kune.wiki.client.actions.WikiClientActions;
+import cc.kune.wiki.shared.WikiConstants;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class WikiParts {
+
+ @Inject
+ public WikiParts(final Session session, final Provider<WikiClientTool> clientTool,
+ final ContentViewerSelector viewerSelector, final WikiClientActions wikiActions,
+ final ContentViewerPresenter contentViewer, final FolderViewerPresenter folderViewer) {
+ clientTool.get();
+ viewerSelector.register(contentViewer, true, WikiConstants.TYPE_WIKIPAGE);
+ viewerSelector.register(folderViewer, true, WikiConstants.TYPE_ROOT, WikiConstants.TYPE_FOLDER);
+ }
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/wiki/client/WikiParts.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/actions/DelFolderMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/DelFolderMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/DelFolderMenuItem.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,16 @@
+package cc.kune.wiki.client.actions;
+
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.actions.DelContainerMenuItem;
+
+import com.google.inject.Inject;
+
+public class DelFolderMenuItem extends DelContainerMenuItem {
+
+ @Inject
+ public DelFolderMenuItem(final I18nTranslationService i18n, final DelContainerAction action, final CoreResources res) {
+ super(i18n, action, res);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/actions/DelFolderMenuItem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/actions/DelWikiMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/DelWikiMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/DelWikiMenuItem.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,15 @@
+package cc.kune.wiki.client.actions;
+
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.actions.DelContentMenuItem;
+
+import com.google.inject.Inject;
+
+public class DelWikiMenuItem extends DelContentMenuItem {
+
+ @Inject
+ public DelWikiMenuItem(final I18nTranslationService i18n, final DelContentAction action, final CoreResources res) {
+ super(i18n, action, res);
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/actions/DelWikiMenuItem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/actions/GoParentFolderBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/GoParentFolderBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/GoParentFolderBtn.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,16 @@
+package cc.kune.wiki.client.actions;
+
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.actions.GoParentContainerBtn;
+
+import com.google.inject.Inject;
+
+public class GoParentFolderBtn extends GoParentContainerBtn {
+
+ @Inject
+ public GoParentFolderBtn(final I18nTranslationService i18n, final GoParentContainerAction action, final CoreResources res) {
+ super(i18n, action, res);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/actions/GoParentFolderBtn.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,20 @@
+package cc.kune.wiki.client.actions;
+
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.actions.NewContainerBtn;
+import cc.kune.wiki.shared.WikiConstants;
+
+import com.google.inject.Inject;
+
+public class NewFolderBtn extends NewContainerBtn {
+
+ @Inject
+ public NewFolderBtn(final I18nTranslationService i18n, final NewContainerAction action,
+ final NavResources res) {
+ super(i18n, action, res.wikiAdd(), i18n.t("New folder"),
+ i18n.t("Create a new folder here. A folder will be a 'section' in the public web"),
+ i18n.t("New folder"), WikiConstants.TYPE_FOLDER);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiBtn.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,22 @@
+package cc.kune.wiki.client.actions;
+
+import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.actions.NewContentBtn;
+import cc.kune.wiki.shared.WikiConstants;
+
+import com.google.inject.Inject;
+
+public class NewWikiBtn extends NewContentBtn {
+
+ @Inject
+ public NewWikiBtn(final I18nTranslationService i18n, final NewContentAction action,
+ final NavResources res, final GlobalShortcutRegister shorcutReg) {
+ super(i18n, action, res.wikipageAdd(), shorcutReg, i18n.t("New wikipage"),
+ i18n.t("Create a New Wikipage here. "
+ + "This document will be a new 'Page' in the public web if you publish it"),
+ i18n.t("New wikipage"), WikiConstants.TYPE_WIKIPAGE);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiBtn.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/actions/OpenWikiMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/OpenWikiMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/OpenWikiMenuItem.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,16 @@
+package cc.kune.wiki.client.actions;
+
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.actions.OpenContentMenuItem;
+
+import com.google.inject.Inject;
+
+public class OpenWikiMenuItem extends OpenContentMenuItem {
+
+ @Inject
+ public OpenWikiMenuItem(final I18nTranslationService i18n, final OpenContentAction action, final NavResources res) {
+ super(i18n, action, res);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/actions/OpenWikiMenuItem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,77 @@
+/*
+ *
+ * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package cc.kune.wiki.client.actions;
+
+import static cc.kune.wiki.shared.WikiConstants.TYPE_FOLDER;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_ROOT;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_UPLOADEDFILE;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_WIKIPAGE;
+import cc.kune.core.client.actions.ActionRegistryByType;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.docs.client.actions.DelFolderMenuItem;
+import cc.kune.docs.client.actions.NewFolderBtn;
+import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
+import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
+import cc.kune.gspace.client.actions.ParticipateInContentBtn;
+import cc.kune.gspace.client.actions.RefreshContentMenuItem;
+import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class WikiClientActions extends AbstractFoldableToolActions {
+ final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_WIKIPAGE, TYPE_UPLOADEDFILE };
+ final String[] containers = { TYPE_ROOT, TYPE_FOLDER };
+ final String[] containersNoRoot = { TYPE_FOLDER };
+ final String[] contents = { TYPE_WIKIPAGE, TYPE_UPLOADEDFILE };
+
+ @Inject
+ public WikiClientActions(final I18nUITranslationService i18n, final Session session,
+ final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
+ final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewWikiBtn> newWikiBtn,
+ final Provider<NewFolderBtn> newFolderBtn, final Provider<OpenWikiMenuItem> openContentMenuItem,
+ final Provider<DelWikiMenuItem> delContentMenuItem,
+ final Provider<ContentViewerOptionsMenu> optionsMenuContent,
+ final Provider<ParticipateInContentBtn> participateBtn,
+ final Provider<DelFolderMenuItem> delFolderMenuItem,
+ final Provider<RefreshContentMenuItem> refresh, final Provider<SetAsHomePageMenuItem> setAsHomePage) {
+ super(session, stateManager, i18n, registry);
+ actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.VIEW, refresh, all);
+ actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.VIEW, newWikiBtn, containers);
+ actionsRegistry.addAction(ActionGroups.VIEW, participateBtn, contents);
+ actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, containers);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, delFolderMenuItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, setAsHomePage, contents);
+ }
+
+ @Override
+ protected void createPostSessionInitActions() {
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/src/main/java/cc/kune/wiki/server (from rev 1339, trunk/src/main/java/org/ourproject/kune/wiki/server)
Modified: trunk/src/main/java/cc/kune/wiki/server/WikiServerModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/server/WikiServerModule.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/wiki/server/WikiServerModule.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -17,7 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.wiki.server;
+package cc.kune.wiki.server;
import com.google.inject.Binder;
import com.google.inject.Module;
Modified: trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/server/WikiServerTool.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -17,8 +17,15 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.wiki.server;
+package cc.kune.wiki.server;
+import static cc.kune.wiki.shared.WikiConstants.NAME;
+import static cc.kune.wiki.shared.WikiConstants.ROOT_NAME;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_FOLDER;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_ROOT;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_UPLOADEDFILE;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_WIKIPAGE;
+
import java.util.Date;
import cc.kune.core.client.errors.ContainerNotPermittedException;
@@ -29,7 +36,6 @@
import cc.kune.core.server.tool.ServerTool;
import cc.kune.core.server.tool.ServerToolRegistry;
import cc.kune.core.server.tool.ServerToolTarget;
-import cc.kune.core.shared.ToolConstants;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.domain.GroupListMode;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -43,123 +49,119 @@
import com.google.inject.Inject;
public class WikiServerTool implements ServerTool {
- public static final String NAME = "wiki";
- public static final String ROOT_NAME = "wiki";
- public static final String TYPE_FOLDER = NAME + "." + "folder";
- public static final String TYPE_ROOT = NAME + "." + "root";
- public static final String TYPE_UPLOADEDFILE = NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
- public static final String TYPE_WIKIPAGE = NAME + "." + "wikipage";
+ private final ToolConfigurationManager configurationManager;
+ private final ContainerManager containerManager;
+ private final ContentManager contentManager;
+ private final I18nTranslationService i18n;
- private final ToolConfigurationManager configurationManager;
- private final ContainerManager containerManager;
- private final ContentManager contentManager;
- private final I18nTranslationService i18n;
+ @Inject
+ public WikiServerTool(final ContentManager contentManager, final ContainerManager containerManager,
+ final ToolConfigurationManager configurationManager,
+ final I18nTranslationService translationService) {
+ this.contentManager = contentManager;
+ this.containerManager = containerManager;
+ this.configurationManager = configurationManager;
+ this.i18n = translationService;
+ }
- @Inject
- public WikiServerTool(final ContentManager contentManager, final ContainerManager containerManager,
- final ToolConfigurationManager configurationManager, final I18nTranslationService translationService) {
- this.contentManager = contentManager;
- this.containerManager = containerManager;
- this.configurationManager = configurationManager;
- this.i18n = translationService;
+ void checkContainerTypeId(final String parentTypeId, final String typeId) {
+ if (typeId.equals(TYPE_FOLDER)) {
+ // ok valid container
+ if ((typeId.equals(TYPE_FOLDER) && (parentTypeId.equals(TYPE_ROOT) || parentTypeId.equals(TYPE_FOLDER)))) {
+ // ok
+ } else {
+ throw new ContainerNotPermittedException();
+ }
+ } else {
+ throw new ContainerNotPermittedException();
}
+ }
- void checkContainerTypeId(final String parentTypeId, final String typeId) {
- if (typeId.equals(TYPE_FOLDER)) {
- // ok valid container
- if ((typeId.equals(TYPE_FOLDER) && (parentTypeId.equals(TYPE_ROOT) || parentTypeId.equals(TYPE_FOLDER)))) {
- // ok
- } else {
- throw new ContainerNotPermittedException();
- }
- } else {
- throw new ContainerNotPermittedException();
- }
+ void checkContentTypeId(final String parentTypeId, final String typeId) {
+ if (typeId.equals(TYPE_WIKIPAGE) || typeId.equals(TYPE_UPLOADEDFILE)) {
+ // ok valid content
+ final boolean parentIsFolderOrRoot = parentTypeId.equals(TYPE_ROOT)
+ || parentTypeId.equals(TYPE_FOLDER);
+ if ((typeId.equals(TYPE_UPLOADEDFILE) && parentIsFolderOrRoot)
+ || (typeId.equals(TYPE_WIKIPAGE) && parentIsFolderOrRoot)) {
+ // ok
+ } else {
+ throw new ContentNotPermittedException();
+ }
+ } else {
+ throw new ContentNotPermittedException();
}
+ }
- void checkContentTypeId(final String parentTypeId, final String typeId) {
- if (typeId.equals(TYPE_WIKIPAGE) || typeId.equals(TYPE_UPLOADEDFILE)) {
- // ok valid content
- final boolean parentIsFolderOrRoot = parentTypeId.equals(TYPE_ROOT) || parentTypeId.equals(TYPE_FOLDER);
- if ((typeId.equals(TYPE_UPLOADEDFILE) && parentIsFolderOrRoot)
- || (typeId.equals(TYPE_WIKIPAGE) && parentIsFolderOrRoot)) {
- // ok
- } else {
- throw new ContentNotPermittedException();
- }
- } else {
- throw new ContentNotPermittedException();
- }
- }
+ @Override
+ public void checkTypesBeforeContainerCreation(final String parentTypeId, final String typeId) {
+ checkContainerTypeId(parentTypeId, typeId);
+ }
- @Override
- public void checkTypesBeforeContainerCreation(final String parentTypeId, final String typeId) {
- checkContainerTypeId(parentTypeId, typeId);
- }
+ @Override
+ public void checkTypesBeforeContentCreation(final String parentTypeId, final String typeId) {
+ checkContentTypeId(parentTypeId, typeId);
+ }
- @Override
- public void checkTypesBeforeContentCreation(final String parentTypeId, final String typeId) {
- checkContentTypeId(parentTypeId, typeId);
- }
+ @Override
+ public String getName() {
+ return NAME;
+ }
- @Override
- public String getName() {
- return NAME;
- }
+ @Override
+ public String getRootName() {
+ return ROOT_NAME;
+ }
- @Override
- public String getRootName() {
- return ROOT_NAME;
- }
+ @Override
+ public ServerToolTarget getTarget() {
+ return ServerToolTarget.forBoth;
+ }
- @Override
- public ServerToolTarget getTarget() {
- return ServerToolTarget.forBoth;
- }
+ @Override
+ public Group initGroup(final User user, final Group group, final Object... otherVars) {
+ final ToolConfiguration config = new ToolConfiguration();
+ final Container rootFolder = containerManager.createRootFolder(group, NAME, ROOT_NAME, TYPE_ROOT);
+ setContainerWikiAcl(rootFolder);
+ config.setRoot(rootFolder);
+ group.setToolConfig(NAME, config);
+ configurationManager.persist(config);
+ final Content content = contentManager.createContent(i18n.t("Wiki page sample"),
+ i18n.t("This is only a wiki page sample. You can edit or rename it, but also any other user."),
+ user, rootFolder, TYPE_WIKIPAGE);
+ content.addAuthor(user);
+ content.setLanguage(user.getLanguage());
+ content.setTypeId(TYPE_WIKIPAGE);
+ content.setStatus(ContentStatus.publishedOnline);
- @Override
- public Group initGroup(final User user, final Group group, final Object... otherVars) {
- final ToolConfiguration config = new ToolConfiguration();
- final Container rootFolder = containerManager.createRootFolder(group, NAME, ROOT_NAME, TYPE_ROOT);
- setContainerWikiAcl(rootFolder);
- config.setRoot(rootFolder);
- group.setToolConfig(NAME, config);
- configurationManager.persist(config);
- final Content descriptor = contentManager.createContent(i18n.t("Wiki page sample"), "", user, rootFolder,
- WikiServerTool.TYPE_WIKIPAGE);
- descriptor.addAuthor(user);
- descriptor.setLanguage(user.getLanguage());
- descriptor.setTypeId(TYPE_WIKIPAGE);
- descriptor.setStatus(ContentStatus.publishedOnline);
- contentManager.save(user, descriptor,
- i18n.t("This is only a wiki page sample. You can edit or rename it, as any other user."));
- return group;
- }
+ contentManager.save(user, content);
+ return group;
+ }
- @Override
- public void onCreateContainer(final Container container, final Container parent) {
- setContainerWikiAcl(container);
- }
+ @Override
+ public void onCreateContainer(final Container container, final Container parent) {
+ setContainerWikiAcl(container);
+ }
- @Override
- public void onCreateContent(final Content content, final Container parent) {
- content.setStatus(ContentStatus.publishedOnline);
- content.setPublishedOn(new Date());
- }
+ @Override
+ public void onCreateContent(final Content content, final Container parent) {
+ content.setStatus(ContentStatus.publishedOnline);
+ content.setPublishedOn(new Date());
+ }
- @Override
- @Inject
- public void register(final ServerToolRegistry registry) {
- registry.register(this);
- }
+ @Override
+ @Inject
+ public void register(final ServerToolRegistry registry) {
+ registry.register(this);
+ }
- private void setContainerWikiAcl(final Container container) {
- final AccessLists wikiAcl = new AccessLists();
- wikiAcl.getAdmins().setMode(GroupListMode.NORMAL);
- wikiAcl.getAdmins().add(container.getOwner());
- wikiAcl.getEditors().setMode(GroupListMode.EVERYONE);
- wikiAcl.getViewers().setMode(GroupListMode.EVERYONE);
- containerManager.setAccessList(container, wikiAcl);
- }
+ private void setContainerWikiAcl(final Container container) {
+ final AccessLists wikiAcl = new AccessLists();
+ wikiAcl.getAdmins().setMode(GroupListMode.NORMAL);
+ wikiAcl.getAdmins().add(container.getOwner());
+ wikiAcl.getEditors().setMode(GroupListMode.EVERYONE);
+ wikiAcl.getViewers().setMode(GroupListMode.EVERYONE);
+ containerManager.setAccessList(container, wikiAcl);
+ }
}
Added: trunk/src/main/java/cc/kune/wiki/shared/WikiConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/shared/WikiConstants.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/shared/WikiConstants.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -0,0 +1,16 @@
+package cc.kune.wiki.shared;
+
+import cc.kune.core.shared.ToolConstants;
+
+public final class WikiConstants {
+
+ public static final String NAME = "wiki";
+ public static final String ROOT_NAME = "wiki";
+ public static final String TYPE_FOLDER = NAME + "." + "folder";
+ public static final String TYPE_ROOT = NAME + "." + "root";
+ public static final String TYPE_UPLOADEDFILE = NAME + "." + ToolConstants.UPLOADEDFILE_SUFFIX;
+ public static final String TYPE_WIKIPAGE = NAME + "." + "wikipage";
+
+ private WikiConstants() {
+ }
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/wiki/shared/WikiConstants.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml 2011-05-06 02:36:59 UTC (rev 1352)
@@ -1,7 +0,0 @@
-<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/…">
-<module>
- <inherits name="cc.kune.core.Core" />
- <inherits name='org.ourproject.kune.platf.KunePlatform' />
- <inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
- <source path="client" />
-</module>
\ No newline at end of file
Deleted: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -1,112 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.blogs.client;
-
-import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_BLOG;
-import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_POST;
-import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_ROOT;
-import static org.ourproject.kune.blogs.client.BlogClientTool.TYPE_UPLOADEDFILE;
-
-import org.ourproject.kune.blogs.client.cnt.BlogViewer;
-import org.ourproject.kune.workspace.client.OldAbstractFoldableContentActions;
-import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.cxt.ContextActionRegistry;
-import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
-import org.ourproject.kune.workspace.client.editor.ContentEditor;
-import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import org.ourproject.kune.workspace.client.upload.FileUploader;
-
-import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.cnt.ContentActionRegistry;
-import cc.kune.core.client.errors.ErrorHandler;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.ContentServiceAsync;
-import cc.kune.core.client.rpcservices.GroupServiceAsync;
-import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.gspace.client.style.GSpaceBackManager;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class BlogClientActions extends OldAbstractFoldableContentActions {
- public BlogClientActions(final I18nUITranslationService i18n, final ContextNavigator contextNavigator,
- final Session session, final StateManager stateManager, final SchedulerManager deferredCommandWrapper,
- final Provider<ContentServiceAsync> contentServiceProvider,
- final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
- final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
- final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler,
- final BlogViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider,
- final GSpaceBackManager wsBackManager) {
- super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
- contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry,
- contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider,
- documentViewer, entityLogo, wsBackManager);
- }
-
- @Override
- protected void createActions() {
- final String[] all = { TYPE_ROOT, TYPE_BLOG, TYPE_POST, TYPE_UPLOADEDFILE };
- final String[] contentsModerated = { TYPE_POST, TYPE_UPLOADEDFILE };
- final String[] containers = { TYPE_ROOT, TYPE_BLOG };
- final String[] containersNoRoot = { TYPE_BLOG };
- final String[] contents = { TYPE_POST, TYPE_UPLOADEDFILE };
-
- final String parentMenuTitle = i18n.t("Post");
- final String parentMenuTitleCtx = i18n.t("Blog");
-
- createNewContainerAction(TYPE_BLOG, "images/nav/blog_add.png", i18n.t("New blog"), parentMenuTitleCtx,
- i18n.t("New"), i18n.t("New blog"), Position.ctx, TYPE_ROOT);
- createNewContentAction(TYPE_POST, "images/nav/post_add.png", i18n.t("New post"), parentMenuTitleCtx,
- Position.ctx, TYPE_BLOG);
-
- createContentRenameAction(parentMenuTitle, i18n.t("Rename"), contents);
- createEditAction(parentMenuTitle, TYPE_POST);
- createContentModeratedActions(parentMenuTitle, contentsModerated);
- createRenameContentInCtxAction(parentMenuTitleCtx, i18n.t("Rename"), containersNoRoot);
-
- // final ActionToolbarMenuDescriptor<StateToken> setAsDefGroupCxt =
- // createSetAsDefContent(parentMenuTitleCtx);
-
- createRefreshCntAction(parentMenuTitle, contents);
- createRefreshCxtAction(parentMenuTitleCtx, containers);
-
- createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", i18n.t("Upload files (images, PDFs...)"),
- null, containersNoRoot);
-
- createSetAsDefContent(parentMenuTitle, contents);
- createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE);
-
- createGoAction(all);
- createGoHomeAction(containers);
-
- // ContentRPC Authorized must permit folders
- // contentActionRegistry.addAction(setAsDefGroupCxt, TYPE_BLOG);
-
- createDelContainerAction("Delete blog", parentMenuTitleCtx, containersNoRoot);
- createDelContentAction(parentMenuTitle, i18n.t("Delete"), contents);
- createShowDeletedItems(parentMenuTitleCtx, all);
- }
-
- @Override
- protected void createPostSessionInitActions() {
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientTool.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientTool.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientTool.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -1,64 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.blogs.client;
-
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.themes.WsThemeManager;
-import org.ourproject.kune.workspace.client.tool.OldFoldableAbstractClientTool;
-
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
-import cc.kune.gspace.client.tool.selector.ToolSelector;
-
-public class BlogClientTool extends OldFoldableAbstractClientTool {
- public static final String NAME = "blogs";
- public static final String TYPE_ROOT = NAME + "." + "root";
- public static final String TYPE_BLOG = NAME + "." + "blog";
- public static final String TYPE_POST = NAME + "." + "post";
- public static final String TYPE_UPLOADEDFILE = NAME + "." + OldFoldableAbstractClientTool.UPLOADEDFILE_SUFFIX;
-
- public BlogClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector,
- final WsThemeManager wsThemePresenter, final WorkspaceSkeleton ws,
- final ContentCapabilitiesRegistry cntCapReg) {
- super(NAME, i18n.t("blogs"), toolSelector, wsThemePresenter, ws, cntCapReg);
-
- // registerAclEditableTypes();
- registerAuthorableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
- registerDragableTypes(TYPE_UPLOADEDFILE);
- registerDropableTypes(TYPE_ROOT);
- registerPublishModerableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
- registerRateableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
- registerRenamableTypes(TYPE_BLOG, TYPE_POST, TYPE_UPLOADEDFILE);
- registerTageableTypes(TYPE_BLOG, TYPE_UPLOADEDFILE, TYPE_POST);
- // registerTranslatableTypes();
-
- registerIcons();
- }
-
- public String getName() {
- return NAME;
- }
-
- private void registerIcons() {
- registerContentTypeIcon(TYPE_BLOG, "images/nav/blog.png");
- registerContentTypeIcon(TYPE_POST, "images/nav/post.png");
- registerUploadTypesAndMimes(TYPE_UPLOADEDFILE);
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogsMessages.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogsMessages.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogsMessages.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -1,23 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.blogs.client;
-
-public interface BlogsMessages {
-}
Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientTool.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientTool.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientTool.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -28,39 +28,41 @@
import cc.kune.gspace.client.tool.selector.ToolSelector;
public class WikiClientTool extends OldFoldableAbstractClientTool {
- public static final String NAME = "wiki";
- public static final String TYPE_ROOT = NAME + "." + "root";
- public static final String TYPE_FOLDER = NAME + "." + "folder";
- public static final String TYPE_WIKIPAGE = NAME + "." + "wikipage";
- public static final String TYPE_UPLOADEDFILE = NAME + "." + OldFoldableAbstractClientTool.UPLOADEDFILE_SUFFIX;
+ public static final String NAME = "wiki";
+ public static final String TYPE_FOLDER = NAME + "." + "folder";
+ public static final String TYPE_ROOT = NAME + "." + "root";
+ public static final String TYPE_UPLOADEDFILE = NAME + "."
+ + OldFoldableAbstractClientTool.UPLOADEDFILE_SUFFIX;
+ public static final String TYPE_WIKIPAGE = NAME + "." + "wikipage";
- public WikiClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector,
- final WsThemeManager wsThemePresenter, final WorkspaceSkeleton ws,
- final ContentCapabilitiesRegistry cntCapabReg) {
- super(NAME, i18n.t("wiki"), toolSelector, wsThemePresenter, ws, cntCapabReg);
+ public WikiClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector,
+ final WsThemeManager wsThemePresenter, final WorkspaceSkeleton ws,
+ final ContentCapabilitiesRegistry cntCapabReg) {
+ super(NAME, i18n.t("wiki"), toolSelector, wsThemePresenter, ws, cntCapabReg);
- // registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
- registerAuthorableTypes(TYPE_WIKIPAGE, TYPE_UPLOADEDFILE);
- registerDragableTypes(TYPE_WIKIPAGE, TYPE_FOLDER, TYPE_UPLOADEDFILE);
- registerDropableTypes(TYPE_ROOT, TYPE_FOLDER);
- // registerPublishModerableTypes();
- registerRateableTypes(TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
- registerRenamableTypes(TYPE_FOLDER, TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
- registerTageableTypes(TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
- registerTranslatableTypes(TYPE_FOLDER, TYPE_WIKIPAGE);
+ // registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
+ registerAuthorableTypes(TYPE_WIKIPAGE, TYPE_UPLOADEDFILE);
+ registerDragableTypes(TYPE_WIKIPAGE, TYPE_FOLDER, TYPE_UPLOADEDFILE);
+ registerDropableTypes(TYPE_ROOT, TYPE_FOLDER);
+ // registerPublishModerableTypes();
+ registerRateableTypes(TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
+ registerRenamableTypes(TYPE_FOLDER, TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
+ registerTageableTypes(TYPE_UPLOADEDFILE, TYPE_WIKIPAGE);
+ registerTranslatableTypes(TYPE_FOLDER, TYPE_WIKIPAGE);
- registerIcons();
- }
+ registerIcons();
+ }
- public String getName() {
- return NAME;
- }
+ @Override
+ public String getName() {
+ return NAME;
+ }
- private void registerIcons() {
- registerContentTypeIcon(TYPE_FOLDER, "images/nav/folder.png");
- // registerContentTypeIcon(TYPE_FOLDER, "images/nav/wiki.png");
- registerContentTypeIcon(TYPE_WIKIPAGE, "images/nav/wikipage.png");
- registerUploadTypesAndMimes(TYPE_UPLOADEDFILE);
- }
+ private void registerIcons() {
+ registerContentTypeIcon(TYPE_FOLDER, "images/nav/folder.png");
+ // registerContentTypeIcon(TYPE_FOLDER, "images/nav/wiki.png");
+ registerContentTypeIcon(TYPE_WIKIPAGE, "images/nav/wikipage.png");
+ registerUploadTypesAndMimes(TYPE_UPLOADEDFILE);
+ }
}
Modified: trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -23,7 +23,6 @@
import org.apache.commons.configuration.ConfigurationException;
import org.ourproject.kune.chat.server.ChatServerModule;
-import org.ourproject.kune.wiki.server.WikiServerModule;
import org.waveprotocol.box.server.CoreSettings;
import org.waveprotocol.box.server.ServerModule;
import org.waveprotocol.box.server.persistence.PersistenceModule;
@@ -39,6 +38,7 @@
import cc.kune.core.server.properties.PropertiesFileName;
import cc.kune.docs.server.DocumentServerModule;
import cc.kune.wave.server.CustomSettingsBinder;
+import cc.kune.wiki.server.WikiServerModule;
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
Modified: trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceAddTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceAddTest.java 2011-05-06 01:29:11 UTC (rev 1351)
+++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceAddTest.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -20,6 +20,8 @@
package cc.kune.core.server.integration.content;
import static cc.kune.docs.shared.DocsConstants.TYPE_DOCUMENT;
+import static cc.kune.wiki.shared.WikiConstants.NAME;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_WIKIPAGE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -27,7 +29,6 @@
import org.junit.Before;
import org.junit.Test;
-import org.ourproject.kune.wiki.server.WikiServerTool;
import cc.kune.core.client.errors.ContentNotFoundException;
import cc.kune.core.client.errors.UserMustBeLoggedException;
@@ -43,127 +44,130 @@
public class ContentServiceAddTest extends ContentServiceIntegrationTest {
- private StateContentDTO defaultContent;
+ private StateContentDTO defaultContent;
- @Before
- public void init() throws Exception {
- new IntegrationTestHelper(this);
- }
+ @Before
+ public void init() throws Exception {
+ new IntegrationTestHelper(this);
+ }
- @Test(expected = UserMustBeLoggedException.class)
- public void noLoggedInShouldThrowIllegalAccess() throws ContentNotFoundException, Exception {
- defaultContent = getSiteDefaultContent();
- contentService.addContent(session.getHash(), defaultContent.getContainer().getStateToken(), "a name",
- TYPE_DOCUMENT);
- }
+ @Test(expected = UserMustBeLoggedException.class)
+ public void noLoggedInShouldThrowIllegalAccess() throws ContentNotFoundException, Exception {
+ defaultContent = getSiteDefaultContent();
+ contentService.addContent(session.getHash(), defaultContent.getContainer().getStateToken(),
+ "a name", TYPE_DOCUMENT);
+ }
- @Test
- public void testAddContent() throws Exception {
- doLogin();
- defaultContent = getSiteDefaultContent();
- assertEquals(1, defaultContent.getContainer().getContents().size());
- final AccessRights cntRights = defaultContent.getContentRights();
- final AccessRights ctxRights = defaultContent.getContainerRights();
- final AccessRights groupRights = defaultContent.getGroupRights();
+ @Test
+ public void testAddContent() throws Exception {
+ doLogin();
+ defaultContent = getSiteDefaultContent();
+ assertEquals(1, defaultContent.getContainer().getContents().size());
+ final AccessRights cntRights = defaultContent.getContentRights();
+ final AccessRights ctxRights = defaultContent.getContainerRights();
+ final AccessRights groupRights = defaultContent.getGroupRights();
- final String title = "New Content Title";
- final StateContentDTO added = contentService.addContent(session.getHash(),
- defaultContent.getContainer().getStateToken(), title, TYPE_DOCUMENT);
- assertNotNull(added);
- final List<ContentSimpleDTO> contents = added.getContainer().getContents();
- assertEquals(title, added.getTitle());
- assertEquals(2, contents.size());
- assertEquals(cntRights, added.getContentRights());
- assertEquals(ctxRights, added.getContainerRights());
- assertEquals(groupRights, added.getGroupRights());
- assertNotNull(added.getGroupMembers());
- assertNotNull(added.getParticipation());
- assertNotNull(added.getAccessLists());
+ final String title = "New Content Title";
+ final StateContentDTO added = contentService.addContent(session.getHash(),
+ defaultContent.getContainer().getStateToken(), title, TYPE_DOCUMENT);
+ assertNotNull(added);
+ final List<ContentSimpleDTO> contents = added.getContainer().getContents();
+ assertEquals(title, added.getTitle());
+ assertEquals(2, contents.size());
+ assertEquals(cntRights, added.getContentRights());
+ assertEquals(ctxRights, added.getContainerRights());
+ assertEquals(groupRights, added.getGroupRights());
+ assertNotNull(added.getGroupMembers());
+ assertNotNull(added.getParticipation());
+ assertNotNull(added.getAccessLists());
- final StateToken newState = added.getStateToken();
- final StateContentDTO sameAgain = (StateContentDTO) contentService.getContent(session.getHash(), newState);
- assertNotNull(sameAgain);
- assertEquals(2, sameAgain.getContainer().getContents().size());
- }
+ final StateToken newState = added.getStateToken();
+ final StateContentDTO sameAgain = (StateContentDTO) contentService.getContent(session.getHash(),
+ newState);
+ assertNotNull(sameAgain);
+ assertEquals(2, sameAgain.getContainer().getContents().size());
+ }
- @Test
- public void testAddFolder() throws Exception {
- doLogin();
- defaultContent = getSiteDefaultContent();
- final ContainerDTO parent = defaultContent.getContainer();
- final String title = "folder name";
- final StateContainerDTO newState = contentService.addFolder(session.getHash(), parent.getStateToken(), title,
- DocsConstants.TYPE_FOLDER);
- assertNotNull(newState);
- assertNotNull(newState.getGroupMembers());
- assertNotNull(newState.getParticipation());
- assertNotNull(newState.getAccessLists());
- assertNotNull(newState.getContainerRights());
- assertNotNull(newState.getGroupRights());
- assertNotNull(newState.getRootContainer().getContents().get(0).getRights());
+ @Test
+ public void testAddFolder() throws Exception {
+ doLogin();
+ defaultContent = getSiteDefaultContent();
+ final ContainerDTO parent = defaultContent.getContainer();
+ final String title = "folder name";
+ final StateContainerDTO newState = contentService.addFolder(session.getHash(),
+ parent.getStateToken(), title, DocsConstants.TYPE_FOLDER);
+ assertNotNull(newState);
+ assertNotNull(newState.getGroupMembers());
+ assertNotNull(newState.getParticipation());
+ assertNotNull(newState.getAccessLists());
+ assertNotNull(newState.getContainerRights());
+ assertNotNull(newState.getGroupRights());
+ assertNotNull(newState.getRootContainer().getContents().get(0).getRights());
- final ContainerDTO parentAgain = getSiteDefaultContent().getContainer();
- final ContainerSimpleDTO child = parentAgain.getChilds().get(0);
- assertEquals(parent.getId(), child.getParentFolderId());
+ final ContainerDTO parentAgain = getSiteDefaultContent().getContainer();
+ final ContainerSimpleDTO child = parentAgain.getChilds().get(0);
+ assertEquals(parent.getId(), child.getParentFolderId());
- assertEquals(parent.getId(), parentAgain.getId());
- assertEquals(1, parentAgain.getChilds().size());
- }
+ assertEquals(parent.getId(), parentAgain.getId());
+ assertEquals(1, parentAgain.getChilds().size());
+ }
- // @Test
- public void testAddRoom() throws Exception {
- doLogin();
- defaultContent = getSiteDefaultContent();
- final ContainerDTO parent = defaultContent.getContainer();
- final String roomName = "testroom";
- final StateContainerDTO newState = contentService.addRoom(session.getHash(), parent.getStateToken(), roomName);
- assertNotNull(newState);
- }
+ // @Test
+ public void testAddRoom() throws Exception {
+ doLogin();
+ defaultContent = getSiteDefaultContent();
+ final ContainerDTO parent = defaultContent.getContainer();
+ final String roomName = "testroom";
+ final StateContainerDTO newState = contentService.addRoom(session.getHash(), parent.getStateToken(),
+ roomName);
+ assertNotNull(newState);
+ }
- @Test
- public void testAddTwoFolders() throws Exception {
- doLogin();
- defaultContent = getSiteDefaultContent();
- final ContainerDTO parent = defaultContent.getContainer();
- final String title = "folder name";
- final StateContainerDTO newState = contentService.addFolder(session.getHash(), parent.getStateToken(), title,
- DocsConstants.TYPE_FOLDER);
- assertNotNull(newState);
+ @Test
+ public void testAddTwoFolders() throws Exception {
+ doLogin();
+ defaultContent = getSiteDefaultContent();
+ final ContainerDTO parent = defaultContent.getContainer();
+ final String title = "folder name";
+ final StateContainerDTO newState = contentService.addFolder(session.getHash(),
+ parent.getStateToken(), title, DocsConstants.TYPE_FOLDER);
+ assertNotNull(newState);
- final StateContainerDTO newState2 = contentService.addFolder(session.getHash(), parent.getStateToken(), title,
- DocsConstants.TYPE_FOLDER);
- assertNotNull(newState2);
+ final StateContainerDTO newState2 = contentService.addFolder(session.getHash(),
+ parent.getStateToken(), title, DocsConstants.TYPE_FOLDER);
+ assertNotNull(newState2);
- final ContainerDTO parentAgain = getSiteDefaultContent().getContainer();
+ final ContainerDTO parentAgain = getSiteDefaultContent().getContainer();
- assertEquals(parent.getId(), parentAgain.getId());
- assertEquals(2, parentAgain.getChilds().size());
- }
+ assertEquals(parent.getId(), parentAgain.getId());
+ assertEquals(2, parentAgain.getChilds().size());
+ }
- @Test
- public void testAddWikiContent() throws Exception {
- doLogin();
+ @Test
+ public void testAddWikiContent() throws Exception {
+ doLogin();
- final StateToken wikiToken = new StateToken(super.getDefSiteGroupName(), WikiServerTool.NAME);
- final StateContainerDTO wiki = (StateContainerDTO) contentService.getContent(session.getHash(), wikiToken);
+ final StateToken wikiToken = new StateToken(super.getDefSiteGroupName(), NAME);
+ final StateContainerDTO wiki = (StateContainerDTO) contentService.getContent(session.getHash(),
+ wikiToken);
- final String title = "New wikipage";
- final StateContentDTO added = contentService.addContent(session.getHash(), wiki.getStateToken(), title,
- WikiServerTool.TYPE_WIKIPAGE);
- assertNotNull(added);
- final ContainerDTO wikiContainer = added.getContainer();
- final List<ContentSimpleDTO> contents = wikiContainer.getContents();
- assertEquals(title, added.getTitle());
- assertEquals(2, contents.size());
- doLogout();
+ final String title = "New wikipage";
+ final StateContentDTO added = contentService.addContent(session.getHash(), wiki.getStateToken(),
+ title, TYPE_WIKIPAGE);
+ assertNotNull(added);
+ final ContainerDTO wikiContainer = added.getContainer();
+ final List<ContentSimpleDTO> contents = wikiContainer.getContents();
+ assertEquals(title, added.getTitle());
+ assertEquals(2, contents.size());
+ doLogout();
- doLoginWithDummyUser();
- contentService.save(getHash(), added.getStateToken(), "some new test");
- // assertEquals(cntRights, added.getContentRights());
- // assertEquals(ctxRights, added.getContainerRights());
- // assertEquals(groupRights, added.getGroupRights());
- // assertNotNull(added.getGroupMembers());
- // assertNotNull(added.getParticipation());
- // assertNotNull(added.getAccessLists());
- }
+ doLoginWithDummyUser();
+ contentService.save(getHash(), added.getStateToken(), "some new test");
+ // assertEquals(cntRights, added.getContentRights());
+ // assertEquals(ctxRights, added.getContainerRights());
+ // assertEquals(groupRights, added.getGroupRights());
+ // assertNotNull(added.getGroupMembers());
+ // assertNotNull(added.getParticipation());
+ // assertNotNull(added.getAccessLists());
+ }
}
Copied: trunk/src/test/java/cc/kune/wiki/server (from rev 1339, trunk/src/test/java/org/ourproject/kune/wiki/server)
Modified: trunk/src/test/java/cc/kune/wiki/server/WikiServerToolTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/wiki/server/WikiServerToolTest.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/test/java/cc/kune/wiki/server/WikiServerToolTest.java 2011-05-06 02:36:59 UTC (rev 1352)
@@ -17,37 +17,39 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-package org.ourproject.kune.wiki.server;
+package cc.kune.wiki.server;
-import static org.ourproject.kune.wiki.server.WikiServerTool.TYPE_FOLDER;
-import static org.ourproject.kune.wiki.server.WikiServerTool.TYPE_ROOT;
-import static org.ourproject.kune.wiki.server.WikiServerTool.TYPE_UPLOADEDFILE;
-import static org.ourproject.kune.wiki.server.WikiServerTool.TYPE_WIKIPAGE;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_FOLDER;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_ROOT;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_UPLOADEDFILE;
+import static cc.kune.wiki.shared.WikiConstants.TYPE_WIKIPAGE;
import org.junit.Before;
import org.junit.Test;
+import cc.kune.wiki.server.WikiServerTool;
+
public class WikiServerToolTest { // extends PersistenceTest {
- private WikiServerTool serverTool;
+ private WikiServerTool serverTool;
- @Before
- public void before() {
- serverTool = new WikiServerTool(null, null, null, null);
- }
+ @Before
+ public void before() {
+ serverTool = new WikiServerTool(null, null, null, null);
+ }
- @Test
- public void testCreateContainerInCorrectContainer() {
- serverTool.checkContainerTypeId(TYPE_ROOT, TYPE_FOLDER);
- serverTool.checkContainerTypeId(TYPE_FOLDER, TYPE_FOLDER);
- }
+ @Test
+ public void testCreateContainerInCorrectContainer() {
+ serverTool.checkContainerTypeId(TYPE_ROOT, TYPE_FOLDER);
+ serverTool.checkContainerTypeId(TYPE_FOLDER, TYPE_FOLDER);
+ }
- @Test
- public void testCreateContentInCorrectContainer() {
- serverTool.checkContentTypeId(TYPE_ROOT, TYPE_WIKIPAGE);
- serverTool.checkContentTypeId(TYPE_ROOT, TYPE_UPLOADEDFILE);
- serverTool.checkContentTypeId(TYPE_FOLDER, TYPE_WIKIPAGE);
- serverTool.checkContentTypeId(TYPE_FOLDER, TYPE_UPLOADEDFILE);
- }
+ @Test
+ public void testCreateContentInCorrectContainer() {
+ serverTool.checkContentTypeId(TYPE_ROOT, TYPE_WIKIPAGE);
+ serverTool.checkContentTypeId(TYPE_ROOT, TYPE_UPLOADEDFILE);
+ serverTool.checkContentTypeId(TYPE_FOLDER, TYPE_WIKIPAGE);
+ serverTool.checkContentTypeId(TYPE_FOLDER, TYPE_UPLOADEDFILE);
+ }
}
\ No newline at end of file
1
0
r1351 - in trunk/src/main/java/cc/kune: core/client/sn gspace/client gspace/client/resources
by Vicente J. Ruiz Jurado 06 May '11
by Vicente J. Ruiz Jurado 06 May '11
06 May '11
Author: vjrj_
Date: 2011-05-06 03:29:11 +0200 (Fri, 06 May 2011)
New Revision: 1351
Modified:
trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceArmor.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml
trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
Log:
Tools up!
Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2011-05-06 01:13:41 UTC (rev 1350)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2011-05-06 01:29:11 UTC (rev 1351)
@@ -90,7 +90,6 @@
private void setVisibleImpl(final boolean visible) {
mainPanel.setVisible(visible);
- armor.recalculeNorthWidth();
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceArmor.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceArmor.java 2011-05-06 01:13:41 UTC (rev 1350)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceArmor.java 2011-05-06 01:29:11 UTC (rev 1351)
@@ -56,8 +56,6 @@
ForIsWidget getUserSpace();
- void recalculeNorthWidth();
-
void selectGroupSpace();
void selectHomeSpace();
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java 2011-05-06 01:13:41 UTC (rev 1350)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java 2011-05-06 01:29:11 UTC (rev 1351)
@@ -63,6 +63,8 @@
@UiField
VerticalPanel entityToolsCenter;
@UiField
+ FlowPanel entityToolsContainer;
+ @UiField
FlowPanel entityToolsNorth;
@UiField
VerticalPanel entityToolsSouth;
@@ -96,8 +98,8 @@
homeSpace.add(RootPanel.get("k-home-wrapper"));
DOM.setStyleAttribute((Element) groupSpace.getWidgetContainerElement(splitEast), "overflow",
"visible");
- DOM.setStyleAttribute((Element) splitEast.getWidgetContainerElement(entityToolsCenter), "overflow",
- "visible");
+ DOM.setStyleAttribute((Element) splitEast.getWidgetContainerElement(entityToolsContainer),
+ "overflow", "visible");
footerToolbar = toolbarProv.get();
headerToolbar = toolbarProv.get();
subheaderToolbar = toolbarProv.get();
@@ -183,21 +185,6 @@
}
@Override
- public void recalculeNorthWidth() {
- // NotifyUser.info(entityToolsNorth.getElement().getOffsetHeight() + "");
- // final int size = entityToolsNorth.getElement().getOffsetHeight() + 100;
- // ((Element)
- // splitEast.getWidgetContainerElement(entityToolsNorth)).getStyle().setHeight(size,
- // Unit.PX);
- // ((Element)
- // splitEast.getWidgetContainerElement(entityToolsCenter)).setPropertyString("top",
- // size
- // + "px");
- // ((Element)
- // splitEast.getWidgetContainerElement(entityToolsCenter)).getStyle().setHeight(size,Unit.PX);
- }
-
- @Override
public void selectGroupSpace() {
tabs.selectTab(groupSpace);
}
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml 2011-05-06 01:13:41 UTC (rev 1350)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml 2011-05-06 01:29:11 UTC (rev 1351)
@@ -90,14 +90,14 @@
<g:west size="200.0">
<g:DockLayoutPanel unit="PX"
styleName="{res.style.entityTools}" ui:field="splitEast">
- <g:north size="305">
+ <g:center>
+ <g:FlowPanel ui:field="entityToolsContainer">
<g:FlowPanel width="100%" ui:field="entityToolsNorth"
styleName="{res.style.entityToolsNorth}"></g:FlowPanel>
- </g:north>
- <g:center>
<g:VerticalPanel width="100%"
ui:field="entityToolsCenter" styleName="{res.style.entityToolsCenter}">
</g:VerticalPanel>
+ </g:FlowPanel>
</g:center>
<g:south size="98">
<g:VerticalPanel width="100%"
Modified: trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-06 01:13:41 UTC (rev 1350)
+++ trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-06 01:29:11 UTC (rev 1351)
@@ -181,6 +181,7 @@
.entityToolsCenter { /* margin: 10px; */
overflow: visible !important;
+ margin-top: 10px;
}
.entityToolsCenter span {
1
0
r1350 - in trunk: script src/main/java/cc/kune/core/client/sn src/main/java/cc/kune/gspace/client src/main/java/cc/kune/gspace/client/resources src/main/java/cc/kune/gspace/public src/main/java/cc/kune/gspace/public/images
by Vicente J. Ruiz Jurado 06 May '11
by Vicente J. Ruiz Jurado 06 May '11
06 May '11
Author: vjrj_
Date: 2011-05-06 03:13:41 +0200 (Fri, 06 May 2011)
New Revision: 1350
Added:
trunk/src/main/java/cc/kune/gspace/public/images/
trunk/src/main/java/cc/kune/gspace/public/images/styles/
Removed:
trunk/src/main/java/cc/kune/gspace/public/styles/
Modified:
trunk/script/mvn-vars.sh
trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceArmor.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml
trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
Log:
Armor changes
Modified: trunk/script/mvn-vars.sh
===================================================================
--- trunk/script/mvn-vars.sh 2011-05-05 23:52:34 UTC (rev 1349)
+++ trunk/script/mvn-vars.sh 2011-05-06 01:13:41 UTC (rev 1350)
@@ -1,3 +1,3 @@
-if [[ $M2_REPO -eq "" ]] ; then
+if [[ -n $M2_REPO ]] ; then
M2_REPO=~/.m2/repository
fi
Modified: trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2011-05-05 23:52:34 UTC (rev 1349)
+++ trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2011-05-06 01:13:41 UTC (rev 1350)
@@ -28,120 +28,123 @@
public class AbstractSNPanel extends ViewImpl {
- interface AbstractSNPanelUiBinder extends UiBinder<Widget, AbstractSNPanel> {
- }
+ interface AbstractSNPanelUiBinder extends UiBinder<Widget, AbstractSNPanel> {
+ }
- private final static int AVATARLABELMAXSIZE = 4;
- private final static int AVATARSIZE = 22;
- private final static String CATEG_HEIGHT = "80px";
- private static AbstractSNPanelUiBinder uiBinder = GWT.create(AbstractSNPanelUiBinder.class);
+ private final static int AVATARLABELMAXSIZE = 4;
+ private final static int AVATARSIZE = 22;
+ private final static String CATEG_HEIGHT = "80px";
+ private static AbstractSNPanelUiBinder uiBinder = GWT.create(AbstractSNPanelUiBinder.class);
- protected final ActionSimplePanel actions;
- ActionFlowPanel bottomActionsToolbar;
- @UiField
- FlowPanel bottomPanel;
- @UiField
- FlowPanel categoriesFlow;
- @UiField
- DeckPanel deck;
- @UiField
- Label firstCategoryCount;
- @UiField
- FlowPanel firstCategoryFlow;
- @UiField
- Label firstCategoryLabel;
- @UiField
- DockLayoutPanel firstCategoryPanel;
- @UiField
- Label firstDeckLabel;
- @UiField
- FlowPanel mainPanel;
- @UiField
- Label mainTitle;
- @UiField
- Label sndCategoryCount;
- @UiField
- FlowPanel sndCategoryFlow;
- @UiField
- Label sndCategoryLabel;
- @UiField
- DockLayoutPanel sndCategoryPanel;
- @UiField
- ScrollPanel sndCategoryScroll;
- @UiField
- Label sndDeckLabel;
- @UiField
- Label trdCategoryCount;
- @UiField
- FlowPanel trdCategoryFlow;
- @UiField
- Label trdCategoryLabel;
- @UiField
- DockLayoutPanel trdCategoryPanel;
- @UiField
- ScrollPanel trdCategoryScroll;
- protected final Widget widget;
+ protected final ActionSimplePanel actions;
+ protected final GSpaceArmor armor;
+ ActionFlowPanel bottomActionsToolbar;
+ @UiField
+ FlowPanel bottomPanel;
+ @UiField
+ FlowPanel categoriesFlow;
+ @UiField
+ DeckPanel deck;
+ @UiField
+ Label firstCategoryCount;
+ @UiField
+ FlowPanel firstCategoryFlow;
+ @UiField
+ Label firstCategoryLabel;
+ @UiField
+ DockLayoutPanel firstCategoryPanel;
+ @UiField
+ Label firstDeckLabel;
+ @UiField
+ FlowPanel mainPanel;
+ @UiField
+ Label mainTitle;
+ @UiField
+ Label sndCategoryCount;
+ @UiField
+ FlowPanel sndCategoryFlow;
+ @UiField
+ Label sndCategoryLabel;
+ @UiField
+ DockLayoutPanel sndCategoryPanel;
+ @UiField
+ ScrollPanel sndCategoryScroll;
+ @UiField
+ Label sndDeckLabel;
+ @UiField
+ Label trdCategoryCount;
+ @UiField
+ FlowPanel trdCategoryFlow;
+ @UiField
+ Label trdCategoryLabel;
+ @UiField
+ DockLayoutPanel trdCategoryPanel;
+ @UiField
+ ScrollPanel trdCategoryScroll;
+ protected final Widget widget;
- public AbstractSNPanel(final I18nTranslationService i18n, final GuiProvider guiProvider, final GSpaceArmor armor) {
- widget = uiBinder.createAndBindUi(this);
- actions = new ActionSimplePanel(guiProvider);
- }
+ public AbstractSNPanel(final I18nTranslationService i18n, final GuiProvider guiProvider,
+ final GSpaceArmor armor) {
+ this.armor = armor;
+ widget = uiBinder.createAndBindUi(this);
+ actions = new ActionSimplePanel(guiProvider);
+ }
- @Override
- public Widget asWidget() {
- return widget;
- }
+ @Override
+ public Widget asWidget() {
+ return widget;
+ }
- public void clear() {
- trdCategoryFlow.clear();
- firstCategoryFlow.clear();
- sndCategoryFlow.clear();
- actions.clear();
- }
+ public void clear() {
+ trdCategoryFlow.clear();
+ firstCategoryFlow.clear();
+ sndCategoryFlow.clear();
+ actions.clear();
+ }
- public BasicThumb createThumb(final String text, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menuitems) {
- final BasicThumb thumb = new BasicThumb(avatarUrl, AVATARSIZE, text, AVATARLABELMAXSIZE, false);
- final MenuDescriptor menu = new MenuDescriptor();
- menu.setStandalone(true);
- menu.putValue(AbstractGxtMenuGui.MENU_POSITION, AbstractGxtMenuGui.MenuPosition.bl);
- for (final GuiActionDescrip item : menuitems) {
- item.setParent(menu);
- }
- final ClickHandler clickHand = new ClickHandler() {
- @Override
- public void onClick(final ClickEvent event) {
- menu.show(thumb);
- }
- };
- thumb.addClickHandler(clickHand);
- actions.add(menu);
- actions.add(menuitems);
- thumb.setTooltip(tooltipTitle, tooltip);
- thumb.setLabelVisible(false);
- return thumb;
+ public BasicThumb createThumb(final String text, final String avatarUrl, final String tooltip,
+ final String tooltipTitle, final GuiActionDescCollection menuitems) {
+ final BasicThumb thumb = new BasicThumb(avatarUrl, AVATARSIZE, text, AVATARLABELMAXSIZE, false);
+ final MenuDescriptor menu = new MenuDescriptor();
+ menu.setStandalone(true);
+ menu.putValue(AbstractGxtMenuGui.MENU_POSITION, AbstractGxtMenuGui.MenuPosition.bl);
+ for (final GuiActionDescrip item : menuitems) {
+ item.setParent(menu);
}
+ final ClickHandler clickHand = new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ menu.show(thumb);
+ }
+ };
+ thumb.addClickHandler(clickHand);
+ actions.add(menu);
+ actions.add(menuitems);
+ thumb.setTooltip(tooltipTitle, tooltip);
+ thumb.setLabelVisible(false);
+ return thumb;
+ }
- public IsActionExtensible getBottomToolbar() {
- return bottomActionsToolbar;
- }
+ public IsActionExtensible getBottomToolbar() {
+ return bottomActionsToolbar;
+ }
- public void setFirstCategoryVisible(final boolean visible) {
- firstCategoryPanel.setVisible(visible);
- firstCategoryPanel.setHeight(visible ? CATEG_HEIGHT : "0px");
- }
+ public void setFirstCategoryVisible(final boolean visible) {
+ firstCategoryPanel.setVisible(visible);
+ firstCategoryPanel.setHeight(visible ? CATEG_HEIGHT : "0px");
+ }
- public void setSndCategoryVisible(final boolean visible) {
- sndCategoryPanel.setVisible(visible);
- sndCategoryPanel.setHeight(visible ? CATEG_HEIGHT : "0px");
- }
+ public void setSndCategoryVisible(final boolean visible) {
+ sndCategoryPanel.setVisible(visible);
+ sndCategoryPanel.setHeight(visible ? CATEG_HEIGHT : "0px");
+ }
- protected void setTooltip(final Widget widget, final String title) {
- Tooltip.to(widget, title);
- }
+ protected void setTooltip(final Widget widget, final String title) {
+ Tooltip.to(widget, title);
+ }
- public void setTrdCategoryVisible(final boolean visible) {
- trdCategoryPanel.setVisible(visible);
- trdCategoryPanel.setHeight(visible ? CATEG_HEIGHT : "0px");
- }
+ public void setTrdCategoryVisible(final boolean visible) {
+ trdCategoryPanel.setVisible(visible);
+ trdCategoryPanel.setHeight(visible ? CATEG_HEIGHT : "0px");
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2011-05-05 23:52:34 UTC (rev 1349)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNPanel.java 2011-05-06 01:13:41 UTC (rev 1350)
@@ -14,95 +14,98 @@
public class GroupSNPanel extends AbstractSNPanel implements GroupSNView {
- @Inject
- public GroupSNPanel(final I18nTranslationService i18n, final GuiProvider guiProvider, final GSpaceArmor armor) {
- super(i18n, guiProvider, armor);
- setVisibleImpl(false);
- mainTitle.setText(i18n.t("Group members"));
- Tooltip.to(mainTitle, i18n.t("People and groups collaborating in this group"));
- firstCategoryLabel.setText(i18n.t("Admins"));
- setTooltip(firstCategoryLabel, i18n.t("People that can admin this group"));
- sndCategoryLabel.setText(i18n.t("Collaborators"));
- setTooltip(sndCategoryLabel, i18n.t("Other people that collaborate with this group"));
- trdCategoryLabel.setText(i18n.t("Pending"));
- setTooltip(trdCategoryLabel, i18n.t("People pending to be accepted in this group by the admins"));
- sndDeckLabel.setText(i18n.t("This is an orphaned project, if you are interested please request to join to work on it"));
- firstDeckLabel.setText(i18n.t("The members of this group are not public"));
- bottomActionsToolbar = new ActionFlowPanel(guiProvider);
- bottomPanel.add(bottomActionsToolbar);
- bottomActionsToolbar.setStyleName("k-sn-bottomPanel-actions");
- armor.getEntityToolsNorth().add(widget);
- deck.showWidget(2);
- }
+ @Inject
+ public GroupSNPanel(final I18nTranslationService i18n, final GuiProvider guiProvider,
+ final GSpaceArmor armor) {
+ super(i18n, guiProvider, armor);
+ setVisibleImpl(false);
+ mainTitle.setText(i18n.t("Group members"));
+ Tooltip.to(mainTitle, i18n.t("People and groups collaborating in this group"));
+ firstCategoryLabel.setText(i18n.t("Admins"));
+ setTooltip(firstCategoryLabel, i18n.t("People that can admin this group"));
+ sndCategoryLabel.setText(i18n.t("Collaborators"));
+ setTooltip(sndCategoryLabel, i18n.t("Other people that collaborate with this group"));
+ trdCategoryLabel.setText(i18n.t("Pending"));
+ setTooltip(trdCategoryLabel, i18n.t("People pending to be accepted in this group by the admins"));
+ sndDeckLabel.setText(i18n.t("This is an orphaned project, if you are interested please request to join to work on it"));
+ firstDeckLabel.setText(i18n.t("The members of this group are not public"));
+ bottomActionsToolbar = new ActionFlowPanel(guiProvider);
+ bottomPanel.add(bottomActionsToolbar);
+ bottomActionsToolbar.setStyleName("k-sn-bottomPanel-actions");
+ armor.getEntityToolsNorth().add(widget);
+ deck.showWidget(2);
+ }
- @Override
- public void addAdmin(final GroupDTO group, final String avatarUrl, final String tooltip, final String tooltipTitle,
- final GuiActionDescCollection menu) {
- final BasicThumb thumb = createThumb(group.getShortName(), avatarUrl, tooltip, tooltipTitle, menu);
- firstCategoryFlow.add(thumb);
- }
+ @Override
+ public void addAdmin(final GroupDTO group, final String avatarUrl, final String tooltip,
+ final String tooltipTitle, final GuiActionDescCollection menu) {
+ final BasicThumb thumb = createThumb(group.getShortName(), avatarUrl, tooltip, tooltipTitle, menu);
+ firstCategoryFlow.add(thumb);
+ }
- @Override
- public void addCollab(final GroupDTO group, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menu) {
- final BasicThumb thumb = createThumb(group.getShortName(), avatarUrl, tooltip, tooltipTitle, menu);
- sndCategoryFlow.add(thumb);
- }
+ @Override
+ public void addCollab(final GroupDTO group, final String avatarUrl, final String tooltip,
+ final String tooltipTitle, final GuiActionDescCollection menu) {
+ final BasicThumb thumb = createThumb(group.getShortName(), avatarUrl, tooltip, tooltipTitle, menu);
+ sndCategoryFlow.add(thumb);
+ }
- @Override
- public void addPending(final GroupDTO group, final String avatarUrl, final String tooltip,
- final String tooltipTitle, final GuiActionDescCollection menu) {
- final BasicThumb thumb = createThumb(group.getShortName(), avatarUrl, tooltip, tooltipTitle, menu);
- trdCategoryFlow.add(thumb);
- }
+ @Override
+ public void addPending(final GroupDTO group, final String avatarUrl, final String tooltip,
+ final String tooltipTitle, final GuiActionDescCollection menu) {
+ final BasicThumb thumb = createThumb(group.getShortName(), avatarUrl, tooltip, tooltipTitle, menu);
+ trdCategoryFlow.add(thumb);
+ }
- @Override
- public void setAdminsCount(final int count) {
- firstCategoryCount.setText(new StringBuffer("(").append(count).append(")").toString());
- }
+ @Override
+ public void setAdminsCount(final int count) {
+ armor.getEntityToolsNorth();
+ firstCategoryCount.setText(new StringBuffer("(").append(count).append(")").toString());
+ }
- @Override
- public void setCollabsCount(final int count) {
- sndCategoryCount.setText(new StringBuffer("(").append(count).append(")").toString());
- }
+ @Override
+ public void setCollabsCount(final int count) {
+ sndCategoryCount.setText(new StringBuffer("(").append(count).append(")").toString());
+ }
- @Override
- public void setCollabsVisible(final boolean visible) {
- super.setSndCategoryVisible(visible);
- }
+ @Override
+ public void setCollabsVisible(final boolean visible) {
+ super.setSndCategoryVisible(visible);
+ }
- @Override
- public void setPendingsCount(final int count) {
- trdCategoryCount.setText(new StringBuffer("(").append(count).append(")").toString());
- }
+ @Override
+ public void setPendingsCount(final int count) {
+ trdCategoryCount.setText(new StringBuffer("(").append(count).append(")").toString());
+ }
- @Override
- public void setPendingVisible(final boolean visible) {
- super.setTrdCategoryVisible(visible);
- }
+ @Override
+ public void setPendingVisible(final boolean visible) {
+ super.setTrdCategoryVisible(visible);
+ }
- @Override
- public void setVisible(final boolean visible) {
- setVisibleImpl(visible);
- }
+ @Override
+ public void setVisible(final boolean visible) {
+ setVisibleImpl(visible);
+ }
- private void setVisibleImpl(final boolean visible) {
- mainPanel.setVisible(visible);
- }
+ private void setVisibleImpl(final boolean visible) {
+ mainPanel.setVisible(visible);
+ armor.recalculeNorthWidth();
+ }
- @Override
- public void showMemberNotPublic() {
- deck.showWidget(0);
- }
+ @Override
+ public void showMemberNotPublic() {
+ deck.showWidget(0);
+ }
- @Override
- public void showMembers() {
- deck.showWidget(2);
- }
+ @Override
+ public void showMembers() {
+ deck.showWidget(2);
+ }
- @Override
- public void showOrphan() {
- deck.showWidget(1);
- }
+ @Override
+ public void showOrphan() {
+ deck.showWidget(1);
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceArmor.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceArmor.java 2011-05-05 23:52:34 UTC (rev 1349)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceArmor.java 2011-05-06 01:13:41 UTC (rev 1350)
@@ -26,41 +26,43 @@
public interface GSpaceArmor {
- ForIsWidget getDocContainer();
+ ForIsWidget getDocContainer();
- ForIsWidget getDocFooter();
+ ForIsWidget getDocFooter();
- ForIsWidget getDocHeader();
+ ForIsWidget getDocHeader();
- ForIsWidget getDocSubheader();
+ ForIsWidget getDocSubheader();
- ForIsWidget getEntityFooter();
+ ForIsWidget getEntityFooter();
- ForIsWidget getEntityHeader();
+ ForIsWidget getEntityHeader();
- ForIsWidget getEntityToolsCenter();
+ ForIsWidget getEntityToolsCenter();
- ForIsWidget getEntityToolsNorth();
+ ForIsWidget getEntityToolsNorth();
- ForIsWidget getEntityToolsSouth();
+ ForIsWidget getEntityToolsSouth();
- IsActionExtensible getFooterToolbar();
+ IsActionExtensible getFooterToolbar();
- IsActionExtensible getHeaderToolbar();
+ IsActionExtensible getHeaderToolbar();
- SimplePanel getPublicSpace();
+ SimplePanel getPublicSpace();
- ForIsWidget getSitebar();
+ ForIsWidget getSitebar();
- IsActionExtensible getSubheaderToolbar();
+ IsActionExtensible getSubheaderToolbar();
- ForIsWidget getUserSpace();
+ ForIsWidget getUserSpace();
- void selectGroupSpace();
+ void recalculeNorthWidth();
- void selectHomeSpace();
+ void selectGroupSpace();
- void selectPublicSpace();
+ void selectHomeSpace();
- void selectUserSpace();
+ void selectPublicSpace();
+
+ void selectUserSpace();
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java 2011-05-05 23:52:34 UTC (rev 1349)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java 2011-05-06 01:13:41 UTC (rev 1350)
@@ -23,6 +23,7 @@
import cc.kune.common.client.actions.ui.IsActionExtensible;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.dom.client.Style.Position;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.DOM;
@@ -62,7 +63,7 @@
@UiField
VerticalPanel entityToolsCenter;
@UiField
- VerticalPanel entityToolsNorth;
+ FlowPanel entityToolsNorth;
@UiField
VerticalPanel entityToolsSouth;
private final ActionFlowPanel footerToolbar;
@@ -103,6 +104,7 @@
getDocHeader().add(headerToolbar);
getDocSubheader().add(subheaderToolbar);
getDocFooter().add(footerToolbar);
+ entityToolsNorth.getElement().getStyle().setPosition(Position.RELATIVE);
}
@Override
@@ -181,6 +183,21 @@
}
@Override
+ public void recalculeNorthWidth() {
+ // NotifyUser.info(entityToolsNorth.getElement().getOffsetHeight() + "");
+ // final int size = entityToolsNorth.getElement().getOffsetHeight() + 100;
+ // ((Element)
+ // splitEast.getWidgetContainerElement(entityToolsNorth)).getStyle().setHeight(size,
+ // Unit.PX);
+ // ((Element)
+ // splitEast.getWidgetContainerElement(entityToolsCenter)).setPropertyString("top",
+ // size
+ // + "px");
+ // ((Element)
+ // splitEast.getWidgetContainerElement(entityToolsCenter)).getStyle().setHeight(size,Unit.PX);
+ }
+
+ @Override
public void selectGroupSpace() {
tabs.selectTab(groupSpace);
}
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml 2011-05-05 23:52:34 UTC (rev 1349)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml 2011-05-06 01:13:41 UTC (rev 1350)
@@ -1,13 +1,13 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
-xmlns:co="urn:import:cc.kune.core.client"
- xmlns:kp="urn:import:cc.kune.pspace.client" xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ xmlns:co="urn:import:cc.kune.core.client" xmlns:kp="urn:import:cc.kune.pspace.client"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:with field='res'
type='cc.kune.gspace.client.resources.WsArmorResources' />
<ui:style>
.frame {
- border: 0px;
- margin: 0px;
+ border: 0px;
+ margin: 0px;
}
</ui:style>
<g:DockLayoutPanel ui:field="mainpanel" styleName='{res.style.mainPanel}'
@@ -29,8 +29,8 @@
<g:header size='0' />
<g:FlowPanel ui:field="userSpace" width="100%"
height="100%">
-<!-- <g:Frame url="/" styleName="{style.frame}"-->
-<!-- ui:field="frame" width="100%" height="100%" />-->
+ <!-- <g:Frame url="/" styleName="{style.frame}" -->
+ <!-- ui:field="frame" width="100%" height="100%" /> -->
</g:FlowPanel>
</g:tab>
<g:tab>
@@ -48,9 +48,10 @@
<g:FlowPanel width="100%" height="38px"
styleName="{res.style.docHeader}" ui:field="docHeader">
</g:FlowPanel>
+ <g:HTMLPanel ui:field="arrow"
+ styleName="{res.style.docSubheaderArrow}" />
<g:FlowPanel width="100%" height="60px"
styleName="{res.style.docSubheader}" ui:field="docSubheader">
- <g:HTMLPanel ui:field="arrow" styleName="{res.style.docSubheaderArrow}" />
</g:FlowPanel>
</g:VerticalPanel>
</g:north>
@@ -90,8 +91,8 @@
<g:DockLayoutPanel unit="PX"
styleName="{res.style.entityTools}" ui:field="splitEast">
<g:north size="305">
- <g:VerticalPanel width="100%"
- ui:field="entityToolsNorth" styleName="{res.style.entityToolsNorth}"></g:VerticalPanel>
+ <g:FlowPanel width="100%" ui:field="entityToolsNorth"
+ styleName="{res.style.entityToolsNorth}"></g:FlowPanel>
</g:north>
<g:center>
<g:VerticalPanel width="100%"
Modified: trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-05 23:52:34 UTC (rev 1349)
+++ trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-06 01:13:41 UTC (rev 1350)
@@ -86,9 +86,10 @@
.docSubheader {
background-color: #f7ebe3;
- padding: 15px 0 0 0;
overflow: hidden;
border-collapse: separate;
+ margin: -14px 0 0;
+ padding: 15px 0 0;
}
.docSubheader button.k-fr {
@@ -208,7 +209,7 @@
height: 0;
width: 0;
position: relative;
- bottom: 16px;
+ bottom: 0px;
left: 36px;
}
Copied: trunk/src/main/java/cc/kune/gspace/public/images/styles (from rev 1345, trunk/src/main/java/cc/kune/gspace/public/styles)
1
0
Author: vjrj_
Date: 2011-05-06 01:52:34 +0200 (Fri, 06 May 2011)
New Revision: 1349
Added:
trunk/src/main/java/cc/kune/common/client/ExtendedGinModule.java
trunk/src/main/java/cc/kune/core/client/events/
trunk/src/main/java/cc/kune/core/client/events/AvatarChangedEvent.java
trunk/src/main/java/cc/kune/core/client/events/RenameContentEvent.java
trunk/src/main/java/cc/kune/core/public/images/ie6/
trunk/src/main/java/cc/kune/core/public/images/ie6/corner_dialog_topleft.png
trunk/src/main/java/cc/kune/core/public/images/ie6/corner_dialog_topright.png
trunk/src/main/java/cc/kune/core/public/images/ie6/hborder_blue_shadow.png
trunk/src/main/java/cc/kune/core/public/images/ie6/hborder_gray_shadow.png
trunk/src/main/java/cc/kune/core/public/images/ie6/vborder_blue_shadow.png
trunk/src/main/java/cc/kune/core/public/images/ie6/vborder_gray_shadow.png
trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java
trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
trunk/src/test/java/cc/kune/gspace/client/viewers/
trunk/src/test/java/cc/kune/gspace/client/viewers/FolderViewerPresenterTest.java
Removed:
trunk/src/main/java/cc/kune/blogs/client/actions/ContentViewerOptionsMenu.java
trunk/src/main/java/cc/kune/client/ExtendedGinModule.java
trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.ui.xml
trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java
Modified:
trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java
trunk/src/main/java/cc/kune/blogs/client/BlogsParts.java
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtPushButtonGui.java
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java
trunk/src/main/java/cc/kune/docs/client/DocsParts.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/domain/Container.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentMenuItem.java
trunk/src/main/java/cc/kune/gspace/client/actions/RenameAction.java
trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptionsLogoPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/logo/GroupOptionsLogoPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/logo/UserOptionsLogoPresenter.java
trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java
Log:
Folder navigator and some fixes
Modified: trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/blogs/client/BlogsClientTool.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -34,36 +34,37 @@
public class BlogsClientTool extends FoldableAbstractClientTool {
- private final NavResources navResources;
+ private final NavResources navResources;
- @Inject
- public BlogsClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector,
- final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources) {
- super(NAME, i18n.t("blogs"), toolSelector, cntCapRegistry);
- this.navResources = navResources;
+ @Inject
+ public BlogsClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector,
+ final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources) {
+ super(NAME, i18n.t("blogs"), toolSelector, cntCapRegistry);
+ this.navResources = navResources;
- // registerAclEditableTypes();
- registerAuthorableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
- registerDragableTypes(TYPE_UPLOADEDFILE);
- registerDropableTypes(TYPE_ROOT);
- registerPublishModerableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
- registerRateableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
- registerRenamableTypes(TYPE_BLOG, TYPE_POST, TYPE_UPLOADEDFILE);
- registerTageableTypes(TYPE_BLOG, TYPE_UPLOADEDFILE, TYPE_POST);
- // registerTranslatableTypes();
+ // registerAclEditableTypes();
+ registerAuthorableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
+ registerDragableTypes(TYPE_UPLOADEDFILE);
+ registerDropableTypes(TYPE_ROOT);
+ registerPublishModerableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
+ registerRateableTypes(TYPE_POST, TYPE_UPLOADEDFILE);
+ registerRenamableTypes(TYPE_BLOG, TYPE_POST, TYPE_UPLOADEDFILE);
+ registerTageableTypes(TYPE_BLOG, TYPE_UPLOADEDFILE, TYPE_POST);
+ // registerTranslatableTypes();
- registerIcons();
- }
+ registerIcons();
+ }
- @Override
- public String getName() {
- return NAME;
- }
+ @Override
+ public String getName() {
+ return NAME;
+ }
- private void registerIcons() {
- registerContentTypeIcon(TYPE_BLOG, navResources.blog());
- registerContentTypeIcon(TYPE_POST, navResources.post());
- registerUploadTypesAndMimes(TYPE_UPLOADEDFILE);
- }
+ private void registerIcons() {
+ registerContentTypeIcon(TYPE_ROOT, navResources.blog());
+ registerContentTypeIcon(TYPE_BLOG, navResources.blog());
+ registerContentTypeIcon(TYPE_POST, navResources.post());
+ registerUploadTypesAndMimes(TYPE_UPLOADEDFILE);
+ }
}
Modified: trunk/src/main/java/cc/kune/blogs/client/BlogsParts.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/BlogsParts.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/blogs/client/BlogsParts.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -1,14 +1,23 @@
package cc.kune.blogs.client;
+import cc.kune.blogs.client.actions.BlogsClientActions;
+import cc.kune.blogs.shared.BlogsConstants;
import cc.kune.core.client.state.Session;
+import cc.kune.gspace.client.tool.ContentViewerSelector;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
+import cc.kune.gspace.client.viewers.FolderViewerPresenter;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class BlogsParts {
- @Inject
- public BlogsParts(final Session session, final Provider<BlogsClientTool> clientTool) {
- clientTool.get();
- }
+ @Inject
+ public BlogsParts(final Session session, final Provider<BlogsClientTool> clientTool,
+ final ContentViewerSelector viewerSelector, final BlogsClientActions blogsActions,
+ final ContentViewerPresenter contentViewer, final FolderViewerPresenter folderViewer) {
+ clientTool.get();
+ viewerSelector.register(contentViewer, true, BlogsConstants.TYPE_POST);
+ viewerSelector.register(folderViewer, true, BlogsConstants.TYPE_ROOT, BlogsConstants.TYPE_BLOG);
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -30,6 +30,7 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
@@ -57,11 +58,11 @@
final Provider<DelBlogMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
+ actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.VIEW, refresh, all);
actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all);
actionsRegistry.addAction(ActionGroups.VIEW, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.VIEW, refresh, all);
actionsRegistry.addAction(ActionGroups.VIEW, newDocBtn, containersNoRoot);
actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, TYPE_ROOT);
actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, contents);
Deleted: trunk/src/main/java/cc/kune/blogs/client/actions/ContentViewerOptionsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/ContentViewerOptionsMenu.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/ContentViewerOptionsMenu.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -1,16 +0,0 @@
-package cc.kune.blogs.client.actions;
-
-import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
-import cc.kune.core.client.resources.CoreResources;
-
-import com.google.inject.Inject;
-
-public class ContentViewerOptionsMenu extends MenuDescriptor {
-
- @Inject
- public ContentViewerOptionsMenu(final CoreResources res) {
- super();
- this.withIcon(res.arrowdownsitebar()).withStyles("k-def-docbtn, k-fr, k-noborder, k-nobackcolor");
- }
-
-}
Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -38,6 +38,7 @@
import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
import cc.kune.common.client.utils.TextUtils;
import cc.kune.common.client.utils.WindowUtils;
+import cc.kune.core.client.events.AvatarChangedEvent;
import cc.kune.core.client.init.AppStartEvent;
import cc.kune.core.client.init.AppStopEvent;
import cc.kune.core.client.sitebar.SitebarActions;
@@ -80,371 +81,380 @@
public class ChatClientDefault implements ChatClient {
- public class ChatClientAction extends AbstractExtendedAction {
+ public class ChatClientAction extends AbstractExtendedAction {
- private final EventBus eventBus;
- private final ChatResources res;
+ private final EventBus eventBus;
+ private final ChatResources res;
- public ChatClientAction(final EventBus eventBus, final ChatResources res) {
- super();
- this.eventBus = eventBus;
- this.res = res;
- putValue(Action.SMALL_ICON, res.chat());
+ public ChatClientAction(final EventBus eventBus, final ChatResources res) {
+ super();
+ this.eventBus = eventBus;
+ this.res = res;
+ putValue(Action.SMALL_ICON, res.chat());
- }
+ }
- @Override
- public void actionPerformed(final ActionEvent event) {
- eventBus.fireEvent(new ToggleShowChatDialogEvent());
- }
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ eventBus.fireEvent(new ToggleShowChatDialogEvent());
+ }
- public void setBlink(final boolean blink) {
- final ImageResource icon = blink ? res.chatBlink() : res.chat();
- putValue(Action.SMALL_ICON, icon);
- dialog.setIcon(AbstractImagePrototype.create(icon));
- }
-
+ public void setBlink(final boolean blink) {
+ final ImageResource icon = blink ? res.chatBlink() : res.chat();
+ putValue(Action.SMALL_ICON, icon);
+ dialog.setIcon(AbstractImagePrototype.create(icon));
}
- protected static final String CHAT_CLIENT_ICON_ID = "k-chat-icon-id";
+ }
- private static final String CHAT_TITLE = "Chat ;)";
+ protected static final String CHAT_CLIENT_ICON_ID = "k-chat-icon-id";
- private final ChatClientAction action;
- protected IconLabelDescriptor chatIcon;
- private final ChatManager chatManager;
- private final ChatOptions chatOptions;
- private final ChatResources chatResources;
- private Dialog dialog;
- private final EventBus eventBus;
- private final I18nTranslationService i18n;
- private final RoomManager roomManager;
- private final XmppRoster roster;
- private final Session session;
- private final GlobalShortcutRegister shorcutRegister;
- private final SitebarActions siteActions;
+ private static final String CHAT_TITLE = "Chat ;)";
- private final XmppSession xmppSession;
+ private final ChatClientAction action;
+ protected IconLabelDescriptor chatIcon;
+ private final ChatManager chatManager;
+ private final ChatOptions chatOptions;
+ private final ChatResources chatResources;
+ private Dialog dialog;
+ private final EventBus eventBus;
+ private final I18nTranslationService i18n;
+ private final RoomManager roomManager;
+ private final XmppRoster roster;
+ private final Session session;
+ private final GlobalShortcutRegister shorcutRegister;
+ private final SitebarActions siteActions;
- @Inject
- public ChatClientDefault(final EventBus eventBus, final I18nTranslationService i18n,
- final SitebarActions siteActions, final Session session, final GlobalShortcutRegister shorcutRegister,
- final ChatOptions chatOptions, final ChatResources chatResources) {
+ private final XmppSession xmppSession;
- this.eventBus = eventBus;
- this.i18n = i18n;
- action = new ChatClientAction(eventBus, chatResources);
- this.siteActions = siteActions;
- this.session = session;
- this.shorcutRegister = shorcutRegister;
- this.chatOptions = chatOptions;
- this.chatResources = chatResources;
- chatResources.css().ensureInjected();
- this.xmppSession = Suco.get(XmppSession.class);
- this.roster = Suco.get(XmppRoster.class);
- this.chatManager = Suco.get(ChatManager.class);
- this.roomManager = Suco.get(RoomManager.class);
- Suco.get(SessionReconnect.class);
+ @Inject
+ public ChatClientDefault(final EventBus eventBus, final I18nTranslationService i18n,
+ final SitebarActions siteActions, final Session session,
+ final GlobalShortcutRegister shorcutRegister, final ChatOptions chatOptions,
+ final ChatResources chatResources) {
- session.onAppStart(true, new AppStartEvent.AppStartHandler() {
- @Override
- public void onAppStart(final AppStartEvent event) {
- chatOptions.domain = event.getInitData().getChatDomain();
- chatOptions.httpBase = event.getInitData().getChatHttpBase();
- chatOptions.roomHost = event.getInitData().getChatRoomHost();
- checkChatDomain(chatOptions.domain);
- session.onUserSignIn(true, new UserSignInHandler() {
- @Override
- public void onUserSignIn(final UserSignInEvent event) {
- doLogin();
- }
- });
- session.onUserSignOut(true, new UserSignOutHandler() {
- @Override
- public void onUserSignOut(final UserSignOutEvent event) {
- createActionIfNeeded();
- chatIcon.setVisible(false);
- logout();
- }
- });
- eventBus.addHandler(ShowChatDialogEvent.getType(), new ShowChatDialogHandler() {
- @Override
- public void onShowChatDialog(final ShowChatDialogEvent event) {
- createActionIfNeeded();
- showDialog(event.show);
- }
- });
- eventBus.addHandler(ToggleShowChatDialogEvent.getType(), new ToggleShowChatDialogHandler() {
- @Override
- public void onToggleShowChatDialog(final ToggleShowChatDialogEvent event) {
- toggleShowDialog();
- }
- });
- }
+ this.eventBus = eventBus;
+ this.i18n = i18n;
+ action = new ChatClientAction(eventBus, chatResources);
+ this.siteActions = siteActions;
+ this.session = session;
+ this.shorcutRegister = shorcutRegister;
+ this.chatOptions = chatOptions;
+ this.chatResources = chatResources;
+ chatResources.css().ensureInjected();
+ this.xmppSession = Suco.get(XmppSession.class);
+ this.roster = Suco.get(XmppRoster.class);
+ this.chatManager = Suco.get(ChatManager.class);
+ this.roomManager = Suco.get(RoomManager.class);
+ Suco.get(SessionReconnect.class);
+
+ session.onAppStart(true, new AppStartEvent.AppStartHandler() {
+ @Override
+ public void onAppStart(final AppStartEvent event) {
+ chatOptions.domain = event.getInitData().getChatDomain();
+ chatOptions.httpBase = event.getInitData().getChatHttpBase();
+ chatOptions.roomHost = event.getInitData().getChatRoomHost();
+ checkChatDomain(chatOptions.domain);
+ session.onUserSignIn(true, new UserSignInHandler() {
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ doLogin();
+ }
});
- eventBus.addHandler(AppStopEvent.getType(), new AppStopEvent.AppStopHandler() {
- @Override
- public void onAppStop(final AppStopEvent event) {
- logout();
- }
+ session.onUserSignOut(true, new UserSignOutHandler() {
+ @Override
+ public void onUserSignOut(final UserSignOutEvent event) {
+ createActionIfNeeded();
+ chatIcon.setVisible(false);
+ logout();
+ }
});
- }
+ eventBus.addHandler(ShowChatDialogEvent.getType(), new ShowChatDialogHandler() {
+ @Override
+ public void onShowChatDialog(final ShowChatDialogEvent event) {
+ createActionIfNeeded();
+ showDialog(event.show);
+ }
+ });
+ eventBus.addHandler(ToggleShowChatDialogEvent.getType(), new ToggleShowChatDialogHandler() {
+ @Override
+ public void onToggleShowChatDialog(final ToggleShowChatDialogEvent event) {
+ toggleShowDialog();
+ }
+ });
+ eventBus.addHandler(AvatarChangedEvent.getType(), new AvatarChangedEvent.AvatarChangedHandler() {
- @Override
- public void addNewBuddie(final String shortName) {
- roster.requestAddItem(uriFrom(shortName), shortName, "");
- }
+ @Override
+ public void onAvatarChanged(final AvatarChangedEvent event) {
+ setAvatar(event.getPhotoBinary());
+ }
+ });
+ }
+ });
+ eventBus.addHandler(AppStopEvent.getType(), new AppStopEvent.AppStopHandler() {
+ @Override
+ public void onAppStop(final AppStopEvent event) {
+ logout();
+ }
+ });
+ }
- @Override
- public void chat(final String shortName) {
- chat(uriFrom(shortName));
- }
+ @Override
+ public void addNewBuddie(final String shortName) {
+ roster.requestAddItem(uriFrom(shortName), shortName, "");
+ }
- @Override
- public void chat(final XmppURI jid) {
- chatManager.open(jid);
- }
+ @Override
+ public void chat(final String shortName) {
+ chat(uriFrom(shortName));
+ }
- // Put this in Panel object
- private void checkChatDomain(final String chatDomain) {
- final String httpDomain = WindowUtils.getLocation().getHostName();
- if (!chatDomain.equals(httpDomain)) {
- Log.error("Your http domain (" + httpDomain + ") is different from the chat domain (" + chatDomain
- + "). This will cause problems with the chat functionality. "
- + "Please check kune.properties on the server.");
- }
- }
+ @Override
+ public void chat(final XmppURI jid) {
+ chatManager.open(jid);
+ }
- private void createActionIfNeeded() {
- if (chatIcon == null) {
- chatIcon = new IconLabelDescriptor(action);
- chatIcon.setId(CHAT_CLIENT_ICON_ID);
- chatIcon.setStyles("k-no-backimage, k-btn-sitebar, k-chat-icon");
- chatIcon.putValue(Action.NAME, i18n.t(CHAT_TITLE));
- chatIcon.putValue(Action.SHORT_DESCRIPTION, i18n.t("Show/hide the chat window"));
- final KeyStroke shortcut = Shortcut.getShortcut(false, true, false, false, Character.valueOf('C'));
- shorcutRegister.put(shortcut, action);
- action.setShortcut(shortcut);
- chatIcon.setVisible(session.isLogged());
- siteActions.getLeftToolbar().add(
- new ToolbarSeparatorDescriptor(Type.spacer, SitebarActionsPresenter.LEFT_TOOLBAR));
- siteActions.getLeftToolbar().add(
- new ToolbarSeparatorDescriptor(Type.spacer, SitebarActionsPresenter.LEFT_TOOLBAR));
- siteActions.getLeftToolbar().add(
- new ToolbarSeparatorDescriptor(Type.spacer, SitebarActionsPresenter.LEFT_TOOLBAR));
- siteActions.getLeftToolbar().add(chatIcon);
- }
+ // Put this in Panel object
+ private void checkChatDomain(final String chatDomain) {
+ final String httpDomain = WindowUtils.getLocation().getHostName();
+ if (!chatDomain.equals(httpDomain)) {
+ Log.error("Your http domain (" + httpDomain + ") is different from the chat domain (" + chatDomain
+ + "). This will cause problems with the chat functionality. "
+ + "Please check kune.properties on the server.");
}
+ }
- private void createDialog(final KuneHablarWidget widget, final HtmlConfig htmlConfig) {
- widget.addStyleName("k-chat-panel");
- setSize(widget, htmlConfig);
- dialog.add(widget);
+ private void createActionIfNeeded() {
+ if (chatIcon == null) {
+ chatIcon = new IconLabelDescriptor(action);
+ chatIcon.setId(CHAT_CLIENT_ICON_ID);
+ chatIcon.setStyles("k-no-backimage, k-btn-sitebar, k-chat-icon");
+ chatIcon.putValue(Action.NAME, i18n.t(CHAT_TITLE));
+ chatIcon.putValue(Action.SHORT_DESCRIPTION, i18n.t("Show/hide the chat window"));
+ final KeyStroke shortcut = Shortcut.getShortcut(false, true, false, false, Character.valueOf('C'));
+ shorcutRegister.put(shortcut, action);
+ action.setShortcut(shortcut);
+ chatIcon.setVisible(session.isLogged());
+ siteActions.getLeftToolbar().add(
+ new ToolbarSeparatorDescriptor(Type.spacer, SitebarActionsPresenter.LEFT_TOOLBAR));
+ siteActions.getLeftToolbar().add(
+ new ToolbarSeparatorDescriptor(Type.spacer, SitebarActionsPresenter.LEFT_TOOLBAR));
+ siteActions.getLeftToolbar().add(
+ new ToolbarSeparatorDescriptor(Type.spacer, SitebarActionsPresenter.LEFT_TOOLBAR));
+ siteActions.getLeftToolbar().add(chatIcon);
}
+ }
- private void createDialogIfNeeded() {
- if (dialog == null) {
- dialog = new Dialog();
- dialog.setHeading(i18n.t(CHAT_TITLE));
- dialog.setClosable(true);
- dialog.setResizable(true);
- dialog.setButtons("");
- dialog.setBodyStyleName("k-chat-window");
- dialog.setScrollMode(Scroll.NONE);
- dialog.setHideOnButtonClick(true);
- dialog.setCollapsible(true);
- // final Widget btn = (Widget)
- // chatIcon.getValue(ParentWidget.PARENT_UI);
- dialog.setPosition(118, 1);
- dialog.setIcon(AbstractImagePrototype.create(chatResources.chat()));
- // dialog.getItem(0).getFocusSupport().setIgnore(true);
- initEmite();
- }
- }
+ private void createDialog(final KuneHablarWidget widget, final HtmlConfig htmlConfig) {
+ widget.addStyleName("k-chat-panel");
+ setSize(widget, htmlConfig);
+ dialog.add(widget);
+ }
- private boolean dialogVisible() {
- return dialog != null && dialog.isVisible();
+ private void createDialogIfNeeded() {
+ if (dialog == null) {
+ dialog = new Dialog();
+ dialog.setHeading(i18n.t(CHAT_TITLE));
+ dialog.setClosable(true);
+ dialog.setResizable(true);
+ dialog.setButtons("");
+ dialog.setBodyStyleName("k-chat-window");
+ dialog.setScrollMode(Scroll.NONE);
+ dialog.setHideOnButtonClick(true);
+ dialog.setCollapsible(true);
+ // final Widget btn = (Widget)
+ // chatIcon.getValue(ParentWidget.PARENT_UI);
+ dialog.setPosition(118, 1);
+ dialog.setIcon(AbstractImagePrototype.create(chatResources.chat()));
+ // dialog.getItem(0).getFocusSupport().setIgnore(true);
+ initEmite();
}
+ }
- @Override
- public void doLogin() {
- assert session.getCurrentUserInfo() != null;
- doLogin(session.getCurrentUserInfo());
- }
+ private boolean dialogVisible() {
+ return dialog != null && dialog.isVisible();
+ }
- private void doLogin(final UserInfoDTO user) {
- createActionIfNeeded();
- createDialogIfNeeded();
- chatOptions.username = user.getChatName();
- chatOptions.passwd = user.getChatPassword();
- chatOptions.resource = "emite-" + new Date().getTime() + "-kune";
- chatOptions.useruri = XmppURI.uri(chatOptions.username, chatOptions.domain, chatOptions.resource);
- createActionIfNeeded();
- createDialogIfNeeded();
- chatIcon.setVisible(true);
- login(chatOptions.useruri, chatOptions.passwd);
- }
+ @Override
+ public void doLogin() {
+ assert session.getCurrentUserInfo() != null;
+ doLogin(session.getCurrentUserInfo());
+ }
- private void initEmite() {
- loadIcons(chatResources);
+ private void doLogin(final UserInfoDTO user) {
+ createActionIfNeeded();
+ createDialogIfNeeded();
+ chatOptions.username = user.getChatName();
+ chatOptions.passwd = user.getChatPassword();
+ chatOptions.resource = "emite-" + new Date().getTime() + "-kune";
+ chatOptions.useruri = XmppURI.uri(chatOptions.username, chatOptions.domain, chatOptions.resource);
+ createActionIfNeeded();
+ createDialogIfNeeded();
+ chatIcon.setVisible(true);
+ login(chatOptions.useruri, chatOptions.passwd);
+ }
- final HablarConfig config = HablarConfig.getFromMeta();
- final HtmlConfig htmlConfig = HtmlConfig.getFromMeta();
- config.dockConfig.headerSize = 0;
- config.dockConfig.rosterWidth = 150;
- config.dockConfig.rosterDock = "left";
- final KuneHablarWidget widget = new KuneHablarWidget(config.layout, config.tabHeaderSize);
- final Hablar hablar = widget.getHablar();
- HablarComplete.install(hablar, config);
- new KuneHablarSignals(eventBus, xmppSession, hablar, action);
- if (htmlConfig.hasLogger) {
- new HablarConsole(hablar);
- }
+ private void initEmite() {
+ loadIcons(chatResources);
- if (htmlConfig.hasLogin) {
- new HablarLogin(hablar, LoginConfig.getFromMeta());
- }
- new KuneSoundManager(eventBus, config.soundConfig);
- createDialog(widget, htmlConfig);
+ final HablarConfig config = HablarConfig.getFromMeta();
+ final HtmlConfig htmlConfig = HtmlConfig.getFromMeta();
+ config.dockConfig.headerSize = 0;
+ config.dockConfig.rosterWidth = 150;
+ config.dockConfig.rosterDock = "left";
+ final KuneHablarWidget widget = new KuneHablarWidget(config.layout, config.tabHeaderSize);
+ final Hablar hablar = widget.getHablar();
+ HablarComplete.install(hablar, config);
+ new KuneHablarSignals(eventBus, xmppSession, hablar, action);
+ if (htmlConfig.hasLogger) {
+ new HablarConsole(hablar);
}
- @Override
- public boolean isBuddie(final String shortName) {
- return isBuddie(uriFrom(shortName));
+ if (htmlConfig.hasLogin) {
+ new HablarLogin(hablar, LoginConfig.getFromMeta());
}
+ new KuneSoundManager(eventBus, config.soundConfig);
+ createDialog(widget, htmlConfig);
+ }
- @Override
- public boolean isBuddie(final XmppURI jid) {
- if (roster.isRosterReady()) {
- if (roster.getItemByJID(jid) != null) {
- return true;
- }
- }
- return false;
- }
+ @Override
+ public boolean isBuddie(final String shortName) {
+ return isBuddie(uriFrom(shortName));
+ }
- @Override
- public boolean isLoggedIn() {
- return xmppSession.isReady();
+ @Override
+ public boolean isBuddie(final XmppURI jid) {
+ if (roster.isRosterReady()) {
+ if (roster.getItemByJID(jid) != null) {
+ return true;
+ }
}
+ return false;
+ }
- @Override
- public Room joinRoom(final String roomName, final String userAlias) {
- return joinRoom(roomName, null, userAlias);
- }
+ @Override
+ public boolean isLoggedIn() {
+ return xmppSession.isReady();
+ }
- @Override
- public Room joinRoom(final String roomName, final String subject, final String userAlias) {
- Room room = null;
- if (xmppSession.isReady()) {
- final XmppURI roomURI = XmppURI.uri(roomName + "@" + chatOptions.roomHost + "/" + chatOptions.username);
- room = roomManager.open(roomURI, roomManager.getDefaultHistoryOptions());
- if (TextUtils.notEmpty(subject)) {
- RoomSubject.requestSubjectChange(room, subject);
- }
- } else {
- NotifyUser.error(i18n.t("Error"), i18n.t("To join a chatroom you need to be 'online'"), true);
- }
- return room;
- }
+ @Override
+ public Room joinRoom(final String roomName, final String userAlias) {
+ return joinRoom(roomName, null, userAlias);
+ }
- public void loadIcons(final ChatResources others) {
- final AltIconsBundle bundle = GWT.create(AltIconsBundle.class);
- Icons.register(Icons.BUDDY_ADD, bundle.buddyAddIcon());
- Icons.register(Icons.BUDDY, bundle.buddyIcon());
- Icons.register(Icons.BUDDY_DND, others.busy());
- Icons.register(Icons.BUDDY_OFF, others.offline());
- Icons.register(Icons.BUDDY_ON, others.online());
- Icons.register(Icons.BUDDY_WAIT, others.away());
- Icons.register(Icons.ADD_CHAT, bundle.chatAddIcon());
- Icons.register(Icons.CHAT, others.xa());
- Icons.register(Icons.CLIPBOARD, bundle.clipboardIcon());
- Icons.register(Icons.CLOSE, bundle.closeIcon());
- Icons.register(Icons.CONSOLE, bundle.consoleIcon());
- Icons.register(Icons.ADD_GROUP, bundle.groupAddIcon());
- Icons.register(Icons.GROUP_CHAT, bundle.groupChatIcon());
- Icons.register(Icons.GROUP_CHAT_ADD, bundle.groupChatAddIcon());
- Icons.register(Icons.LOADING, bundle.loadingIcon());
- Icons.register(Icons.MENU, bundle.menuIcon());
- Icons.register(Icons.MISSING_ICON, bundle.missingIcon());
- Icons.register(Icons.NOT_CONNECTED, others.offline());
- Icons.register(Icons.CONNECTED, others.online());
- Icons.register(Icons.ROSTER, bundle.rosterIcon());
- Icons.register(Icons.SEARCH, bundle.searchIcon());
+ @Override
+ public Room joinRoom(final String roomName, final String subject, final String userAlias) {
+ Room room = null;
+ if (xmppSession.isReady()) {
+ final XmppURI roomURI = XmppURI.uri(roomName + "@" + chatOptions.roomHost + "/"
+ + chatOptions.username);
+ room = roomManager.open(roomURI, roomManager.getDefaultHistoryOptions());
+ if (TextUtils.notEmpty(subject)) {
+ RoomSubject.requestSubjectChange(room, subject);
+ }
+ } else {
+ NotifyUser.error(i18n.t("Error"), i18n.t("To join a chatroom you need to be 'online'"), true);
}
+ return room;
+ }
- @Override
- public void login(final XmppURI uri, final String passwd) {
- xmppSession.login(uri, passwd);
- }
+ public void loadIcons(final ChatResources others) {
+ final AltIconsBundle bundle = GWT.create(AltIconsBundle.class);
+ Icons.register(Icons.BUDDY_ADD, bundle.buddyAddIcon());
+ Icons.register(Icons.BUDDY, bundle.buddyIcon());
+ Icons.register(Icons.BUDDY_DND, others.busy());
+ Icons.register(Icons.BUDDY_OFF, others.offline());
+ Icons.register(Icons.BUDDY_ON, others.online());
+ Icons.register(Icons.BUDDY_WAIT, others.away());
+ Icons.register(Icons.ADD_CHAT, bundle.chatAddIcon());
+ Icons.register(Icons.CHAT, others.xa());
+ Icons.register(Icons.CLIPBOARD, bundle.clipboardIcon());
+ Icons.register(Icons.CLOSE, bundle.closeIcon());
+ Icons.register(Icons.CONSOLE, bundle.consoleIcon());
+ Icons.register(Icons.ADD_GROUP, bundle.groupAddIcon());
+ Icons.register(Icons.GROUP_CHAT, bundle.groupChatIcon());
+ Icons.register(Icons.GROUP_CHAT_ADD, bundle.groupChatAddIcon());
+ Icons.register(Icons.LOADING, bundle.loadingIcon());
+ Icons.register(Icons.MENU, bundle.menuIcon());
+ Icons.register(Icons.MISSING_ICON, bundle.missingIcon());
+ Icons.register(Icons.NOT_CONNECTED, others.offline());
+ Icons.register(Icons.CONNECTED, others.online());
+ Icons.register(Icons.ROSTER, bundle.rosterIcon());
+ Icons.register(Icons.SEARCH, bundle.searchIcon());
+ }
- @Override
- public boolean loginIfNecessary() {
- if (!isLoggedIn()) {
- doLogin();
- return true;
- }
- return false;
- }
+ @Override
+ public void login(final XmppURI uri, final String passwd) {
+ xmppSession.login(uri, passwd);
+ }
- @Override
- public void logout() {
- if (dialogVisible()) {
- dialog.hide();
- }
- if (isLoggedIn()) {
- xmppSession.logout();
- }
+ @Override
+ public boolean loginIfNecessary() {
+ if (!isLoggedIn()) {
+ doLogin();
+ return true;
}
+ return false;
+ }
- @Override
- public XmppURI roomUriFrom(final String shortName) {
- return XmppURI.jid(shortName + "@" + chatOptions.roomHost);
+ @Override
+ public void logout() {
+ if (dialogVisible()) {
+ dialog.hide();
}
-
- @Override
- public void setAvatar(final String photoBinary) {
- Suco.get(AvatarManager.class).setVCardAvatar(photoBinary);
+ if (isLoggedIn()) {
+ xmppSession.logout();
}
+ }
- private void setSize(final Widget widget, final HtmlConfig htmlConfig) {
+ @Override
+ public XmppURI roomUriFrom(final String shortName) {
+ return XmppURI.jid(shortName + "@" + chatOptions.roomHost);
+ }
- if (htmlConfig.width != null) {
- widget.setWidth("98%");
- dialog.setWidth(htmlConfig.width);
- }
- if (htmlConfig.height != null) {
- widget.setHeight("98%");
- dialog.setHeight(htmlConfig.height);
- }
- }
+ @Override
+ public void setAvatar(final String photoBinary) {
+ Suco.get(AvatarManager.class).setVCardAvatar(photoBinary);
+ }
- @Override
- public void show() {
- showDialog(true);
- }
+ private void setSize(final Widget widget, final HtmlConfig htmlConfig) {
- private void showDialog(final boolean show) {
- Log.info("Show dialog: " + show);
- if (session.isLogged()) {
- createDialogIfNeeded();
- if (show) {
- dialog.show();
- dialog.setZIndex(0);
- dialog.getHeader().setZIndex(0);
- } else {
- dialog.hide();
- }
- }
+ if (htmlConfig.width != null) {
+ widget.setWidth("98%");
+ dialog.setWidth(htmlConfig.width);
}
+ if (htmlConfig.height != null) {
+ widget.setHeight("98%");
+ dialog.setHeight(htmlConfig.height);
+ }
+ }
- private void toggleShowDialog() {
- Log.info("Toggle!");
- showDialog(dialog == null ? true : !dialogVisible());
+ @Override
+ public void show() {
+ showDialog(true);
+ }
+
+ private void showDialog(final boolean show) {
+ Log.info("Show dialog: " + show);
+ if (session.isLogged()) {
+ createDialogIfNeeded();
+ if (show) {
+ dialog.show();
+ dialog.setZIndex(0);
+ dialog.getHeader().setZIndex(0);
+ } else {
+ dialog.hide();
+ }
}
+ }
- @Override
- public XmppURI uriFrom(final String shortName) {
- return XmppURI.jid(shortName + "@" + chatOptions.domain);
- }
+ private void toggleShowDialog() {
+ Log.info("Toggle!");
+ showDialog(dialog == null ? true : !dialogVisible());
+ }
+
+ @Override
+ public XmppURI uriFrom(final String shortName) {
+ return XmppURI.jid(shortName + "@" + chatOptions.domain);
+ }
}
Deleted: trunk/src/main/java/cc/kune/client/ExtendedGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/client/ExtendedGinModule.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/client/ExtendedGinModule.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -1,20 +0,0 @@
-package cc.kune.client;
-
-import com.google.inject.Singleton;
-import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
-
-public abstract class ExtendedGinModule extends AbstractPresenterModule {
-
- protected void eagle(final Class<?> type) {
- bind(type).asEagerSingleton();
- }
-
- protected void s(final Class<?> type) {
- bind(type).in(Singleton.class);
- }
-
- protected <V, W> void s(final Class<V> type, final Class<? extends V> typeImpl) {
- bind(type).to(typeImpl).in(Singleton.class);
- }
-
-}
Copied: trunk/src/main/java/cc/kune/common/client/ExtendedGinModule.java (from rev 1339, trunk/src/main/java/cc/kune/client/ExtendedGinModule.java)
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ExtendedGinModule.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/ExtendedGinModule.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -0,0 +1,20 @@
+package cc.kune.common.client;
+
+import com.google.inject.Singleton;
+import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
+
+public abstract class ExtendedGinModule extends AbstractPresenterModule {
+
+ protected void eagle(final Class<?> type) {
+ bind(type).asEagerSingleton();
+ }
+
+ protected void s(final Class<?> type) {
+ bind(type).in(Singleton.class);
+ }
+
+ protected <V, W> void s(final Class<V> type, final Class<? extends V> typeImpl) {
+ bind(type).to(typeImpl).in(Singleton.class);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -48,6 +48,10 @@
this(null, false);
}
+ public AbstractGwtButtonGui(final boolean enableTongle) {
+ this(null, enableTongle);
+ }
+
public AbstractGwtButtonGui(final ButtonDescriptor buttonDescriptor) {
this(buttonDescriptor, false);
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtPushButtonGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtPushButtonGui.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtPushButtonGui.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -25,22 +25,28 @@
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.actions.ui.descrip.PushButtonDescriptor;
-public class GwtPushButtonGui extends GwtButtonGui {
- @Override
- public AbstractGuiItem create(final GuiActionDescrip descriptor) {
- super.descriptor = descriptor;
- super.enableTongle = true;
- final PushButtonDescriptor btn = (PushButtonDescriptor) descriptor;
- setPressed(btn.isPushed());
- btn.addPropertyChangeListener(new PropertyChangeListener() {
- @Override
- public void propertyChange(final PropertyChangeEvent event) {
- if (event.getPropertyName().equals(PushButtonDescriptor.PUSHED)) {
- setPressed(btn.isPushed());
- }
- }
- });
- return this;
- }
+public class GwtPushButtonGui extends AbstractGwtButtonGui {
+ public GwtPushButtonGui() {
+ super(true);
+ }
+
+ @Override
+ public AbstractGuiItem create(final GuiActionDescrip descriptor) {
+ super.create(descriptor);
+ super.descriptor = descriptor;
+ super.enableTongle = true;
+ final PushButtonDescriptor btn = (PushButtonDescriptor) descriptor;
+ setPressed(btn.isPushed());
+ btn.addPropertyChangeListener(new PropertyChangeListener() {
+ @Override
+ public void propertyChange(final PropertyChangeEvent event) {
+ if (event.getPropertyName().equals(PushButtonDescriptor.PUSHED)) {
+ setPressed(btn.isPushed());
+ }
+ }
+ });
+ return this;
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -19,7 +19,7 @@
*/
package cc.kune.core.client;
-import cc.kune.client.ExtendedGinModule;
+import cc.kune.common.client.ExtendedGinModule;
import cc.kune.common.client.actions.gwtui.GwtGuiProvider;
import cc.kune.common.client.actions.gxtui.GxtGuiProvider;
import cc.kune.common.client.actions.ui.bind.DefaultGuiProvider;
Added: trunk/src/main/java/cc/kune/core/client/events/AvatarChangedEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/AvatarChangedEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/events/AvatarChangedEvent.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -0,0 +1,85 @@
+package cc.kune.core.client.events;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class AvatarChangedEvent extends GwtEvent<AvatarChangedEvent.AvatarChangedHandler> {
+
+ public interface AvatarChangedHandler extends EventHandler {
+ public void onAvatarChanged(AvatarChangedEvent event);
+ }
+
+ public interface HasAvatarChangedHandlers extends HasHandlers {
+ HandlerRegistration addAvatarChangedHandler(AvatarChangedHandler handler);
+ }
+
+ private static final Type<AvatarChangedHandler> TYPE = new Type<AvatarChangedHandler>();
+
+ public static void fire(final HasHandlers source, final java.lang.String photoBinary) {
+ source.fireEvent(new AvatarChangedEvent(photoBinary));
+ }
+
+ public static Type<AvatarChangedHandler> getType() {
+ return TYPE;
+ }
+
+ java.lang.String photoBinary;
+
+ protected AvatarChangedEvent() {
+ // Possibly for serialization.
+ }
+
+ public AvatarChangedEvent(final java.lang.String photoBinary) {
+ this.photoBinary = photoBinary;
+ }
+
+ @Override
+ protected void dispatch(final AvatarChangedHandler handler) {
+ handler.onAvatarChanged(this);
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final AvatarChangedEvent other = (AvatarChangedEvent) obj;
+ if (photoBinary == null) {
+ if (other.photoBinary != null) {
+ return false;
+ }
+ } else if (!photoBinary.equals(other.photoBinary)) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public Type<AvatarChangedHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public java.lang.String getPhotoBinary() {
+ return photoBinary;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + (photoBinary == null ? 1 : photoBinary.hashCode());
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "AvatarChangedEvent[" + photoBinary + "]";
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/events/AvatarChangedEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/events/RenameContentEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/RenameContentEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/events/RenameContentEvent.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -0,0 +1,116 @@
+package cc.kune.core.client.events;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class RenameContentEvent extends GwtEvent<RenameContentEvent.RenameContentHandler> {
+
+ public interface HasRenameEventHandlers extends HasHandlers {
+ HandlerRegistration addRenameEventHandler(RenameContentHandler handler);
+ }
+
+ public interface RenameContentHandler extends EventHandler {
+ public void onRenameEvent(RenameContentEvent event);
+ }
+
+ private static final Type<RenameContentHandler> TYPE = new Type<RenameContentHandler>();
+
+ public static void fire(final HasHandlers source,
+ final cc.kune.core.shared.domain.utils.StateToken token, final java.lang.String oldName,
+ final java.lang.String newName) {
+ source.fireEvent(new RenameContentEvent(token, oldName, newName));
+ }
+
+ public static Type<RenameContentHandler> getType() {
+ return TYPE;
+ }
+
+ java.lang.String newName;
+ java.lang.String oldName;
+ cc.kune.core.shared.domain.utils.StateToken token;
+
+ protected RenameContentEvent() {
+ // Possibly for serialization.
+ }
+
+ public RenameContentEvent(final cc.kune.core.shared.domain.utils.StateToken token,
+ final java.lang.String oldName, final java.lang.String newName) {
+ this.token = token;
+ this.oldName = oldName;
+ this.newName = newName;
+ }
+
+ @Override
+ protected void dispatch(final RenameContentHandler handler) {
+ handler.onRenameEvent(this);
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final RenameContentEvent other = (RenameContentEvent) obj;
+ if (token == null) {
+ if (other.token != null) {
+ return false;
+ }
+ } else if (!token.equals(other.token)) {
+ return false;
+ }
+ if (oldName == null) {
+ if (other.oldName != null) {
+ return false;
+ }
+ } else if (!oldName.equals(other.oldName)) {
+ return false;
+ }
+ if (newName == null) {
+ if (other.newName != null) {
+ return false;
+ }
+ } else if (!newName.equals(other.newName)) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public Type<RenameContentHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ public java.lang.String getNewName() {
+ return newName;
+ }
+
+ public java.lang.String getOldName() {
+ return oldName;
+ }
+
+ public cc.kune.core.shared.domain.utils.StateToken getToken() {
+ return token;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 23;
+ hashCode = (hashCode * 37) + (token == null ? 1 : token.hashCode());
+ hashCode = (hashCode * 37) + (oldName == null ? 1 : oldName.hashCode());
+ hashCode = (hashCode * 37) + (newName == null ? 1 : newName.hashCode());
+ return hashCode;
+ }
+
+ @Override
+ public String toString() {
+ return "RenameEventEvent[" + token + "," + oldName + "," + newName + "]";
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/core/client/events/RenameContentEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/public/images/ie6/corner_dialog_topleft.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/ie6/corner_dialog_topleft.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/public/images/ie6/corner_dialog_topright.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/ie6/corner_dialog_topright.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/public/images/ie6/hborder_blue_shadow.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/ie6/hborder_blue_shadow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/public/images/ie6/hborder_gray_shadow.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/ie6/hborder_gray_shadow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/public/images/ie6/vborder_blue_shadow.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/ie6/vborder_blue_shadow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/public/images/ie6/vborder_gray_shadow.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/ie6/vborder_gray_shadow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-05 23:52:34 UTC (rev 1349)
@@ -172,6 +172,7 @@
cursor: hand;
}
+
.gwt-RichTextArea {
border: 1px solid black;
background-color: white;
@@ -335,11 +336,13 @@
font: inherit;
}
-k-btn-sitebar button spin,.k-sitebar button spin, .k-btn-sitebar div, .k-btn-sitebar span,.k-btn-sitebar button span,.k-sitebar button span {
+k-btn-sitebar button spin,.k-sitebar button spin,.k-btn-sitebar div,.k-btn-sitebar span,.k-btn-sitebar button span,.k-sitebar button span
+ {
text-decoration: underline;
}
-.k-btn-sitebar,.k-btn-sitebar button,.k-sitebar button, .k-btn-sitebar div,.k-btn-sitebar button div,.k-sitebar button div {
+.k-btn-sitebar,.k-btn-sitebar button,.k-sitebar button,.k-btn-sitebar div,.k-btn-sitebar button div,.k-sitebar button div
+ {
font: 13px 'Ubuntu', arial;
color: #B3B3B3;
cursor: pointer;
@@ -795,7 +798,6 @@
white-space: nowrap;
}
*/
-
.k-sn-mainpanel .x-btn button,.k-sn-mainpanel button,button.k-button {
font: 13px 'Ubuntu', arial;
border: 2px solid #CCCCCC;
@@ -809,19 +811,12 @@
-moz-border-radius: 5px;
border-radius: 5px;
vertical-align: middle;
-/* line-height: 2em !important; */
outline: 0 none;
- /* height: 26px !important; */
font-weight: bold;
width: auto !IMPORTANT;
width: 50px;
min-width: 50px;
height: 28px;
- /*
-font-size:small;
- cursor: pointer;
- border: 2px gray solid;
- padding-left: 25px !important; */
}
.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover,button.k-button:hover
@@ -843,6 +838,67 @@
background: #ffffff;
}
+.k-button-center {
+ border-left: 1px solid #CCCCCC !important;
+ border-right: 1px solid #CCCCCC !important;
+ -webkit-border-radius: 0px !important;
+ -moz-border-radius: 0px !important;
+ border-radius: 0px !important;
+ margin-left: 0px !important;
+ margin-right: 0px !important;
+}
+
+.k-button-right {
+ border-left: 1px solid #CCCCCC !important;
+ -webkit-border-top-left-radius: 0px !important;
+ -moz-border-radius-topleft: 0px !important;
+ border-top-left-radius: 0px !important;
+ -webkit-border-bottom-left-radius: 0px !important;
+ -moz-border-radius-bottomleft: 0px !important;
+ border-bottom-left-radius: 0px !important;
+ margin-left: 0px !important;
+}
+
+.k-button-left {
+ border-right: 1px solid #CCCCCC !important;
+ -webkit-border-top-right-radius: 0px !important;
+ -moz-border-radius-topright: 0px !important;
+ border-top-right-radius: 0px !important;
+ -webkit-border-bottom-right-radius: 0px !important;
+ -moz-border-radius-bottomright: 0px !important;
+ border-bottom-right-radius: 0px !important;
+ margin-right: 0px !important;
+}
+
+button.k-button-center:hover {
+ border-left: 1px solid orange !important;
+ border-right: 1px solid orange !important;
+ outline: 0 none;
+}
+
+button.k-button-right:hover {
+ border-left: 1px solid orange !important;
+ outline: 0 none;
+}
+
+button.k-button-left:hover {
+ border-right: 1px solid orange !important;
+ outline: 0 none;
+}
+
+button[disabled]:active, button[disabled],
+input[type="reset"][disabled]:active,
+input[type="reset"][disabled],
+input[type="button"][disabled]:active,
+input[type="button"][disabled],
+select[disabled] > input[type="button"],
+select[disabled] > input[type="button"]:active,
+input[type="submit"][disabled]:active,
+input[type="submit"][disabled], .k-button-disabled {
+ color: gray !important;
+}
+
+/* end buttons */
.k-sn-collabslabel {
}
@@ -1108,7 +1164,7 @@
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-left-radius: 5px;
- kfilter: alpha(opacity = 90);
+ kfilter: alpha(opacity = 90);
-moz-opacity: 0.90;
-khtml-opacity: 0.90;
opacity: 0.90;
@@ -1146,7 +1202,6 @@
}
/* end of suggestbox */
-
.k-table {
display: table;
}
@@ -1160,57 +1215,69 @@
}
/* Decorated tabbar */
+.gwt-DecoratedTabBar {
-.gwt-DecoratedTabBar {
}
+
.gwt-DecoratedTabBar .gwt-TabBarFirst {
- width: 5px; /* first tab distance from the left */
+ width: 5px; /* first tab distance from the left */
}
+
.gwt-DecoratedTabBar .gwt-TabBarRest {
+
}
+
.gwt-DecoratedTabBar .gwt-TabBarItem {
border-collapse: collapse;
margin-left: 6px;
}
+
.gwt-DecoratedTabBar .tabTopCenter {
padding: 0px;
background: #e3e3e3;
}
-.gwt-DecoratedTabBar .tabTopLeft,
-.gwt-DecoratedTabBar .tabTopRight {
+
+.gwt-DecoratedTabBar .tabTopLeft,.gwt-DecoratedTabBar .tabTopRight {
padding: 0px;
zoom: 1;
}
-.gwt-DecoratedTabBar .tabTopLeftInner,
-.gwt-DecoratedTabBar .tabTopRightInner {
+
+.gwt-DecoratedTabBar .tabTopLeftInner,.gwt-DecoratedTabBar .tabTopRightInner
+ {
width: 6px;
height: 6px;
}
+
.gwt-DecoratedTabBar .tabTopLeft {
background: url(images/corner.png) no-repeat 0px -55px;
-background: url(images/corner_ie6.png) no-repeat 0px -55px;
}
+
.gwt-DecoratedTabBar .tabTopRight {
background: url(images/corner.png) no-repeat -6px -55px;
-background: url(images/corner_ie6.png) no-repeat -6px -55px;
}
-* html .gwt-DecoratedTabBar .tabTopLeftInner,
-* html .gwt-DecoratedTabBar .tabTopRightInner {
+
+* html .gwt-DecoratedTabBar .tabTopLeftInner,* html .gwt-DecoratedTabBar .tabTopRightInner
+ {
width: 6px;
height: 6px;
overflow: hidden;
}
-.gwt-DecoratedTabBar .tabMiddleLeft,
-.gwt-DecoratedTabBar .tabMiddleRight {
+
+.gwt-DecoratedTabBar .tabMiddleLeft,.gwt-DecoratedTabBar .tabMiddleRight
+ {
width: 6px;
padding: 0px;
background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
}
-.gwt-DecoratedTabBar .tabMiddleLeftInner,
-.gwt-DecoratedTabBar .tabMiddleRightInner {
+
+.gwt-DecoratedTabBar .tabMiddleLeftInner,.gwt-DecoratedTabBar .tabMiddleRightInner
+ {
width: 1px;
height: 1px;
}
+
.gwt-DecoratedTabBar .tabMiddleCenter {
padding: 0px 4px 2px 4px;
cursor: pointer;
@@ -1220,27 +1287,33 @@
text-align: center;
background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
}
+
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopCenter {
background: #747474;
}
+
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopLeft {
background-position: 0px -61px;
}
+
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRight {
background-position: -6px -61px;
}
-.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,
-.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight {
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight
+ {
background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
}
+
.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleCenter {
cursor: default;
background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
color: white;
}
+
.gwt-DecoratedTabBar .gwt-TabBarItem-disabled .tabMiddleCenter {
cursor: default;
color: #999999;
}
-/* end Decorated tabbar */
+/* end Decorated tabbar */
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/docs/client/DocsClientTool.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -34,36 +34,37 @@
public class DocsClientTool extends FoldableAbstractClientTool {
- private final NavResources navResources;
+ private final NavResources navResources;
- @Inject
- public DocsClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector,
- final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources) {
- super(NAME, i18n.t("documents"), toolSelector, cntCapRegistry);
- this.navResources = navResources;
+ @Inject
+ public DocsClientTool(final I18nUITranslationService i18n, final ToolSelector toolSelector,
+ final ContentCapabilitiesRegistry cntCapRegistry, final NavResources navResources) {
+ super(NAME, i18n.t("documents"), toolSelector, cntCapRegistry);
+ this.navResources = navResources;
- // registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
- registerAuthorableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
- registerDragableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE);
- registerDropableTypes(TYPE_ROOT, TYPE_FOLDER);
- registerPublishModerableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
- registerRateableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
- registerRenamableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE);
- registerTageableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
- registerTranslatableTypes(TYPE_DOCUMENT, TYPE_FOLDER);
+ // registerAclEditableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
+ registerAuthorableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
+ registerDragableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE);
+ registerDropableTypes(TYPE_ROOT, TYPE_FOLDER);
+ registerPublishModerableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
+ registerRateableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
+ registerRenamableTypes(TYPE_DOCUMENT, TYPE_FOLDER, TYPE_UPLOADEDFILE);
+ registerTageableTypes(TYPE_DOCUMENT, TYPE_UPLOADEDFILE);
+ registerTranslatableTypes(TYPE_DOCUMENT, TYPE_FOLDER);
- registerIcons();
- }
+ registerIcons();
+ }
- @Override
- public String getName() {
- return NAME;
- }
+ @Override
+ public String getName() {
+ return NAME;
+ }
- private void registerIcons() {
- registerContentTypeIcon(TYPE_FOLDER, navResources.folder());
- registerContentTypeIcon(TYPE_DOCUMENT, navResources.page());
- registerUploadTypesAndMimes(TYPE_UPLOADEDFILE);
- }
+ private void registerIcons() {
+ registerContentTypeIcon(TYPE_FOLDER, navResources.folder());
+ registerContentTypeIcon(TYPE_ROOT, navResources.folder());
+ registerContentTypeIcon(TYPE_DOCUMENT, navResources.page());
+ registerUploadTypesAndMimes(TYPE_UPLOADEDFILE);
+ }
}
Modified: trunk/src/main/java/cc/kune/docs/client/DocsParts.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/DocsParts.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/docs/client/DocsParts.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -1,14 +1,23 @@
package cc.kune.docs.client;
import cc.kune.core.client.state.Session;
+import cc.kune.docs.client.actions.DocsClientActions;
+import cc.kune.docs.shared.DocsConstants;
+import cc.kune.gspace.client.tool.ContentViewerSelector;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
+import cc.kune.gspace.client.viewers.FolderViewerPresenter;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class DocsParts {
- @Inject
- public DocsParts(final Session session, final Provider<DocsClientTool> clientTool) {
- clientTool.get();
- }
+ @Inject
+ public DocsParts(final Session session, final Provider<DocsClientTool> clientTool,
+ final ContentViewerSelector viewerSelector, final DocsClientActions docsActions,
+ final ContentViewerPresenter contentViewer, final FolderViewerPresenter folderViewer) {
+ clientTool.get();
+ viewerSelector.register(contentViewer, true, DocsConstants.TYPE_DOCUMENT);
+ viewerSelector.register(folderViewer, true, DocsConstants.TYPE_ROOT, DocsConstants.TYPE_FOLDER);
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -23,7 +23,6 @@
import static cc.kune.docs.shared.DocsConstants.TYPE_FOLDER;
import static cc.kune.docs.shared.DocsConstants.TYPE_ROOT;
import static cc.kune.docs.shared.DocsConstants.TYPE_UPLOADEDFILE;
-import cc.kune.blogs.client.actions.ContentViewerOptionsMenu;
import cc.kune.core.client.actions.ActionRegistryByType;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.resources.CoreResources;
@@ -31,6 +30,7 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.ParticipateInContentBtn;
import cc.kune.gspace.client.actions.RefreshContentMenuItem;
import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
Modified: trunk/src/main/java/cc/kune/domain/Container.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Container.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/domain/Container.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -43,6 +43,8 @@
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
+import org.hibernate.annotations.LazyCollection;
+import org.hibernate.annotations.LazyCollectionOption;
import org.hibernate.search.annotations.ContainedIn;
import org.hibernate.search.annotations.DocumentId;
import org.hibernate.search.annotations.Field;
@@ -60,12 +62,14 @@
@Table(name = "containers")
public class Container implements HasId, HasStateToken {
- @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ @LazyCollection(LazyCollectionOption.FALSE)
+ @ManyToMany(cascade = CascadeType.ALL)
private List<Container> absolutePath;
@OneToOne(cascade = CascadeType.ALL)
private AccessLists accessLists;
+ @LazyCollection(LazyCollectionOption.FALSE)
@Fetch(FetchMode.JOIN)
@OrderBy("createdOn DESC")
@OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@@ -74,6 +78,7 @@
@OneToMany(cascade = CascadeType.ALL)
private List<ContainerTranslation> containerTranslations;
+ @LazyCollection(LazyCollectionOption.FALSE)
@Fetch(FetchMode.JOIN)
@ContainedIn
@OrderBy("createdOn DESC")
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -19,10 +19,10 @@
*/
package cc.kune.gspace.client;
-import cc.kune.blogs.client.actions.ContentViewerOptionsMenu;
-import cc.kune.client.ExtendedGinModule;
+import cc.kune.common.client.ExtendedGinModule;
import cc.kune.core.client.sitebar.search.SitebarSearchPanel;
import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
+import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.RenameAction;
import cc.kune.gspace.client.options.GroupOptions;
import cc.kune.gspace.client.options.GroupOptionsCollection;
@@ -75,8 +75,8 @@
import cc.kune.gspace.client.tool.selector.ToolSelectorPresenter;
import cc.kune.gspace.client.ui.footer.license.EntityLicensePanel;
import cc.kune.gspace.client.ui.footer.license.EntityLicensePresenter;
-import cc.kune.gspace.client.viewers.DocViewerPanel;
-import cc.kune.gspace.client.viewers.DocViewerPresenter;
+import cc.kune.gspace.client.viewers.ContentViewerPanel;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
import cc.kune.gspace.client.viewers.FolderViewerAsTablePanel;
import cc.kune.gspace.client.viewers.FolderViewerPresenter;
@@ -101,8 +101,8 @@
bindPresenter(ToolSelectorPresenter.class, ToolSelectorPresenter.ToolSelectorView.class,
ToolSelectorPanel.class, ToolSelectorPresenter.ToolSelectorProxy.class);
bind(ToolSelector.class).to(ToolSelectorPresenter.class).in(Singleton.class);
- bindPresenter(DocViewerPresenter.class, DocViewerPresenter.DocViewerView.class,
- DocViewerPanel.class, DocViewerPresenter.DocViewerProxy.class);
+ bindPresenter(ContentViewerPresenter.class, ContentViewerPresenter.ContentViewerView.class,
+ ContentViewerPanel.class, ContentViewerPresenter.ContentViewerProxy.class);
bindPresenter(FolderViewerPresenter.class, FolderViewerPresenter.FolderViewerView.class,
FolderViewerAsTablePanel.class, FolderViewerPresenter.FolderViewerProxy.class);
bindPresenter(SitebarSearchPresenter.class, SitebarSearchPresenter.SitebarSearchView.class,
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -5,7 +5,7 @@
import cc.kune.gspace.client.tool.ContentViewerSelector;
import cc.kune.gspace.client.tool.selector.ToolSelectorPresenter;
import cc.kune.gspace.client.ui.footer.license.EntityLicensePresenter;
-import cc.kune.gspace.client.viewers.DocViewerPresenter;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
import cc.kune.gspace.client.viewers.FolderViewerPresenter;
import com.google.gwt.inject.client.AsyncProvider;
@@ -15,7 +15,7 @@
ContentViewerSelector getContentViewerSelector();
- AsyncProvider<DocViewerPresenter> getDocsViewerPresenter();
+ AsyncProvider<ContentViewerPresenter> getDocsViewerPresenter();
AsyncProvider<EntityLicensePresenter> getEntityLicensePresenter();
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -19,7 +19,7 @@
import cc.kune.gspace.client.tags.TagsSummaryPresenter;
import cc.kune.gspace.client.tool.selector.ToolSelector;
import cc.kune.gspace.client.ui.footer.license.EntityLicensePresenter;
-import cc.kune.gspace.client.viewers.DocViewerPresenter;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
import cc.kune.gspace.client.viewers.FolderViewerPresenter;
import com.google.inject.Inject;
@@ -30,7 +30,7 @@
@Inject
public GSpaceParts(final Session session, final Provider<EntityLicensePresenter> licenseFooter,
final Provider<TagsSummaryPresenter> tagsPresenter, final Provider<ToolSelector> toolSelector,
- final Provider<DocViewerPresenter> docsViewer, final Provider<FolderViewerPresenter> folderViewer,
+ final Provider<ContentViewerPresenter> docsViewer, final Provider<FolderViewerPresenter> folderViewer,
final Provider<GroupOptions> go, final Provider<UserOptions> uo,
final Provider<GroupOptionsCollection> goc, final Provider<UserOptionsCollection> uoc,
final Provider<GroupOptionsDefLicense> gdl, final Provider<GroupOptionsPublicSpaceConf> gps,
Copied: trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java (from rev 1339, trunk/src/main/java/cc/kune/blogs/client/actions/ContentViewerOptionsMenu.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -0,0 +1,16 @@
+package cc.kune.gspace.client.actions;
+
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
+import cc.kune.core.client.resources.CoreResources;
+
+import com.google.inject.Inject;
+
+public class ContentViewerOptionsMenu extends MenuDescriptor {
+
+ @Inject
+ public ContentViewerOptionsMenu(final CoreResources res) {
+ super();
+ this.withIcon(res.arrowdownsitebar()).withStyles("k-def-docbtn, k-fr, k-noborder, k-nobackcolor");
+ }
+
+}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -0,0 +1,66 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.gspace.client.actions;
+
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.Action;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.core.client.events.RenameContentEvent;
+import cc.kune.core.client.state.SocialNetworkChangedEvent;
+import cc.kune.core.client.state.SocialNetworkChangedEvent.SocialNetworkChangedHandler;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.domain.utils.StateToken;
+
+import com.google.gwt.event.shared.EventBus;
+
+public class GotoTokenAction extends AbstractExtendedAction {
+ private final StateManager stateManager;
+ private final StateToken token;
+
+ public GotoTokenAction(final Object icon, final String name, final StateToken token,
+ final String style, final StateManager stateManager, final EventBus eventBus) {
+ super();
+ this.token = token;
+ this.stateManager = stateManager;
+ putValue(Action.NAME, name);
+ putValue(Action.SMALL_ICON, icon);
+ stateManager.onSocialNetworkChanged(true, new SocialNetworkChangedHandler() {
+ @Override
+ public void onSocialNetworkChanged(final SocialNetworkChangedEvent event) {
+ putValue(Action.STYLES, !token.equals(event.getState().getStateToken()) ? style : style
+ + ", k-button-disabled");
+ }
+ });
+ eventBus.addHandler(RenameContentEvent.getType(), new RenameContentEvent.RenameContentHandler() {
+ @Override
+ public void onRenameEvent(final RenameContentEvent event) {
+ final StateToken eToken = event.getToken();
+ if (eToken.equals(token)) {
+ putValue(Action.NAME, event.getNewName());
+ }
+ }
+ });
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ this.stateManager.gotoStateToken(token);
+ }
+}
Property changes on: trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentMenuItem.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentMenuItem.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -1,6 +1,5 @@
package cc.kune.gspace.client.actions;
-import cc.kune.blogs.client.actions.ContentViewerOptionsMenu;
import cc.kune.common.client.actions.AbstractExtendedAction;
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/RenameAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/RenameAction.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/RenameAction.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -23,12 +23,14 @@
import cc.kune.core.client.errors.ErrorHandler;
import cc.kune.core.client.errors.NameInUseException;
import cc.kune.core.client.errors.NameNotPermittedException;
+import cc.kune.core.client.events.RenameContentEvent;
import cc.kune.core.client.rpcservices.ContentServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -36,14 +38,16 @@
public class RenameAction {
private final Provider<ContentServiceAsync> contentService;
private final ErrorHandler errorHandler;
+ private final EventBus eventBus;
private final I18nTranslationService i18n;
private final Session session;
@Inject
- public RenameAction(final I18nTranslationService i18n, final Session session,
+ public RenameAction(final I18nTranslationService i18n, final Session session, final EventBus eventBus,
final Provider<ContentServiceAsync> contentService, final ErrorHandler errorHandler) {
this.i18n = i18n;
this.session = session;
+ this.eventBus = eventBus;
this.contentService = contentService;
this.errorHandler = errorHandler;
}
@@ -74,6 +78,7 @@
NotifyUser.hideProgress();
session.setCurrentState(state);
listener.onSuccess(token, state.getTitle());
+ RenameContentEvent.fire(eventBus, token, oldName, newName);
}
};
if (token.isComplete()) {
Modified: trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptionsLogoPresenter.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptionsLogoPresenter.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -19,7 +19,6 @@
\*/
package cc.kune.gspace.client.options.logo;
-import cc.kune.chat.client.ChatClient;
import cc.kune.common.client.notify.NotifyUser;
import cc.kune.core.client.rpcservices.UserServiceAsync;
import cc.kune.core.client.state.Session;
@@ -31,47 +30,48 @@
import com.google.inject.Provider;
public abstract class EntityOptionsLogoPresenter implements GroupOptionsLogo, UserOptionsLogo {
- protected final Provider<ChatClient> chatEngine;
- private final EntityHeader entityLogo;
- private final EntityOptions entityOptions;
- protected final Session session;
- protected final Provider<UserServiceAsync> userService;
- protected EntityOptionsLogoView view;
+ private final EntityHeader entityLogo;
+ private final EntityOptions entityOptions;
+ protected final EventBus eventBus;
+ protected final Session session;
+ protected final Provider<UserServiceAsync> userService;
+ protected EntityOptionsLogoView view;
- public EntityOptionsLogoPresenter(final EventBus eventBus, final Session session, final EntityHeader entityLogo,
- final EntityOptions entityOptions, final Provider<UserServiceAsync> userService,
- final Provider<ChatClient> chatEngine) {
- this.session = session;
- this.entityLogo = entityLogo;
- this.entityOptions = entityOptions;
- this.userService = userService;
- this.chatEngine = chatEngine;
- eventBus.addHandler(CurrentLogoChangedEvent.getType(), new CurrentLogoChangedEvent.CurrentLogoChangedHandler() {
- @Override
- public void onCurrentLogoChanged(final CurrentLogoChangedEvent event) {
- onSubmitComplete();
- }
+ public EntityOptionsLogoPresenter(final EventBus eventBus, final Session session,
+ final EntityHeader entityLogo, final EntityOptions entityOptions,
+ final Provider<UserServiceAsync> userService) {
+ this.eventBus = eventBus;
+ this.session = session;
+ this.entityLogo = entityLogo;
+ this.entityOptions = entityOptions;
+ this.userService = userService;
+ eventBus.addHandler(CurrentLogoChangedEvent.getType(),
+ new CurrentLogoChangedEvent.CurrentLogoChangedHandler() {
+ @Override
+ public void onCurrentLogoChanged(final CurrentLogoChangedEvent event) {
+ onSubmitComplete();
+ }
});
- }
+ }
- public IsWidget getView() {
- return view;
- }
+ public IsWidget getView() {
+ return view;
+ }
- protected void init(final EntityOptionsLogoView view) {
- this.view = view;
- entityOptions.addTab(view, view.getTabTitle());
- setState();
- }
+ protected void init(final EntityOptionsLogoView view) {
+ this.view = view;
+ entityOptions.addTab(view, view.getTabTitle());
+ setState();
+ }
- public void onSubmitComplete() {
- entityLogo.reloadGroupLogoImage();
- }
+ public void onSubmitComplete() {
+ entityLogo.reloadGroupLogoImage();
+ }
- public void onSubmitFailed(final int httpStatus, final String responseText) {
- NotifyUser.error("Error setting the logo: " + responseText);
- }
+ public void onSubmitFailed(final int httpStatus, final String responseText) {
+ NotifyUser.error("Error setting the logo: " + responseText);
+ }
- protected abstract void setState();
+ protected abstract void setState();
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/logo/GroupOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/logo/GroupOptionsLogoPresenter.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/options/logo/GroupOptionsLogoPresenter.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -19,7 +19,6 @@
*/
package cc.kune.gspace.client.options.logo;
-import cc.kune.chat.client.ChatClient;
import cc.kune.core.client.rpcservices.UserServiceAsync;
import cc.kune.core.client.state.GroupChangedEvent;
import cc.kune.core.client.state.GroupChangedEvent.GroupChangedHandler;
@@ -34,28 +33,27 @@
public class GroupOptionsLogoPresenter extends EntityOptionsLogoPresenter {
- @Inject
- public GroupOptionsLogoPresenter(final EventBus eventBus, final Session session, final EntityHeader entityLogo,
- final GroupOptions entityOptions, final StateManager stateManager,
- final Provider<UserServiceAsync> userService, final Provider<ChatClient> chatEngine,
- final GroupOptionsLogoView view) {
- super(eventBus, session, entityLogo, entityOptions, userService, chatEngine);
- init(view);
- stateManager.onGroupChanged(true, new GroupChangedHandler() {
- @Override
- public void onGroupChanged(final GroupChangedEvent event) {
- setState();
- }
- });
- }
+ @Inject
+ public GroupOptionsLogoPresenter(final EventBus eventBus, final Session session,
+ final EntityHeader entityLogo, final GroupOptions entityOptions, final StateManager stateManager,
+ final Provider<UserServiceAsync> userService, final GroupOptionsLogoView view) {
+ super(eventBus, session, entityLogo, entityOptions, userService);
+ init(view);
+ stateManager.onGroupChanged(true, new GroupChangedHandler() {
+ @Override
+ public void onGroupChanged(final GroupChangedEvent event) {
+ setState();
+ }
+ });
+ }
- private void init(final GroupOptionsLogoView view) {
- super.init(view);
- view.setNormalGroupsLabels();
- }
+ private void init(final GroupOptionsLogoView view) {
+ super.init(view);
+ view.setNormalGroupsLabels();
+ }
- @Override
- protected void setState() {
- view.setUploadParams(session.getUserHash(), session.getCurrentStateToken().toString());
- }
+ @Override
+ protected void setState() {
+ view.setUploadParams(session.getUserHash(), session.getCurrentStateToken().toString());
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/logo/UserOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/logo/UserOptionsLogoPresenter.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/options/logo/UserOptionsLogoPresenter.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -19,7 +19,7 @@
*/
package cc.kune.gspace.client.options.logo;
-import cc.kune.chat.client.ChatClient;
+import cc.kune.core.client.events.AvatarChangedEvent;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.rpcservices.UserServiceAsync;
import cc.kune.core.client.state.Session;
@@ -36,43 +36,42 @@
public class UserOptionsLogoPresenter extends EntityOptionsLogoPresenter {
- @Inject
- public UserOptionsLogoPresenter(final EventBus eventBus, final Session session, final EntityHeader entityLogo,
- final UserOptions entityOptions, final StateManager stateManager,
- final Provider<UserServiceAsync> userService, final Provider<ChatClient> chatEngine,
- final UserOptionsLogoView view) {
- super(eventBus, session, entityLogo, entityOptions, userService, chatEngine);
- init(view);
- session.onUserSignIn(true, new UserSignInHandler() {
+ @Inject
+ public UserOptionsLogoPresenter(final EventBus eventBus, final Session session,
+ final EntityHeader entityLogo, final UserOptions entityOptions, final StateManager stateManager,
+ final Provider<UserServiceAsync> userService, final UserOptionsLogoView view) {
+ super(eventBus, session, entityLogo, entityOptions, userService);
+ init(view);
+ session.onUserSignIn(true, new UserSignInHandler() {
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ setState();
+ }
+ });
+ }
+
+ private void init(final UserOptionsLogoView view) {
+ super.init(view);
+ view.setPersonalGroupsLabels();
+ }
+
+ @Override
+ public void onSubmitComplete() {
+ super.onSubmitComplete();
+ final GroupDTO group = session.getCurrentState().getGroup();
+ if (session.getCurrentUser().getShortName().equals(group.getShortName())) {
+ userService.get().getUserAvatarBaser64(session.getUserHash(), group.getStateToken(),
+ new AsyncCallbackSimple<String>() {
@Override
- public void onUserSignIn(final UserSignInEvent event) {
- setState();
+ public void onSuccess(final String photoBinary) {
+ AvatarChangedEvent.fire(eventBus, photoBinary);
}
- });
+ });
}
+ }
- private void init(final UserOptionsLogoView view) {
- super.init(view);
- view.setPersonalGroupsLabels();
- }
-
- @Override
- public void onSubmitComplete() {
- super.onSubmitComplete();
- final GroupDTO group = session.getCurrentState().getGroup();
- if (session.getCurrentUser().getShortName().equals(group.getShortName())) {
- userService.get().getUserAvatarBaser64(session.getUserHash(), group.getStateToken(),
- new AsyncCallbackSimple<String>() {
- @Override
- public void onSuccess(final String photoBinary) {
- chatEngine.get().setAvatar(photoBinary);
- }
- });
- }
- }
-
- @Override
- protected void setState() {
- view.setUploadParams(session.getUserHash(), session.getCurrentUser().getStateToken().toString());
- }
+ @Override
+ protected void setState() {
+ view.setUploadParams(session.getUserHash(), session.getCurrentUser().getStateToken().toString());
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-05 23:52:34 UTC (rev 1349)
@@ -92,15 +92,15 @@
}
.docSubheader button.k-fr {
- margin: 0 10px 0 0;
+ margin: 0 5px 0 0;
}
.docSubheader button.k-fl {
- margin: 0 0 0 10px;
+ margin: 0 0 0 5px;
}
.docSubheader button {
- margin: 0 0 0 10px;
+ margin: 0 0 0 5px;
}
.docSubheaderLeft {
Copied: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java (from rev 1339, trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -0,0 +1,202 @@
+package cc.kune.gspace.client.viewers;
+
+import org.waveprotocol.box.webclient.client.ClientIdGenerator;
+import org.waveprotocol.box.webclient.client.RemoteViewServiceMultiplexer;
+import org.waveprotocol.box.webclient.client.Session;
+import org.waveprotocol.box.webclient.client.SimpleWaveStore;
+import org.waveprotocol.box.webclient.client.StagesProvider;
+import org.waveprotocol.box.webclient.client.WaveWebSocketClient;
+import org.waveprotocol.box.webclient.search.WaveStore;
+import org.waveprotocol.box.webclient.widget.loading.LoadingIndicator;
+import org.waveprotocol.wave.client.account.ProfileManager;
+import org.waveprotocol.wave.client.account.impl.ProfileManagerImpl;
+import org.waveprotocol.wave.client.widget.common.ImplPanel;
+import org.waveprotocol.wave.model.id.IdGenerator;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.model.waveref.InvalidWaveRefException;
+import org.waveprotocol.wave.model.waveref.WaveRef;
+import org.waveprotocol.wave.util.escapers.GwtWaverefEncoder;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
+import cc.kune.common.client.errors.UIException;
+import cc.kune.common.client.ui.HasEditHandler;
+import cc.kune.common.client.ui.UiUtils;
+import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
+import cc.kune.core.shared.dto.StateContentDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.GSpaceArmor;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter.ContentViewerView;
+import cc.kune.wave.client.WaveClientManager;
+import cc.kune.wave.client.WebClient;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.dom.client.Document;
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.safehtml.shared.SafeHtmlUtils;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.ui.DeckPanel;
+import com.google.gwt.user.client.ui.InlineHTML;
+import com.google.gwt.user.client.ui.InsertPanel.ForIsWidget;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class ContentViewerPanel extends ViewImpl implements ContentViewerView {
+ interface DocsViewerPanelUiBinder extends UiBinder<Widget, ContentViewerPanel> {
+ }
+
+ private static final RemoteViewServiceMultiplexer NO_CHANNEL = null;
+
+ private static DocsViewerPanelUiBinder uiBinder = GWT.create(DocsViewerPanelUiBinder.class);
+
+ private final ContentCapabilitiesRegistry capabilitiesRegistry;
+ private RemoteViewServiceMultiplexer channel;
+ private final ContentTitleWidget contentTitle;
+ @UiField
+ DeckPanel deck;
+ private final GSpaceArmor gsArmor;
+ private IdGenerator idGenerator;
+ private final Element loading = new LoadingIndicator().getElement();
+ @UiField
+ InlineHTML onlyViewPanel;
+ private ProfileManager profiles;
+ /** The wave panel, if a wave is open. */
+ private StagesProvider wave;
+ private final WaveClientManager waveClient;
+ @UiField
+ ImplPanel waveHolder;
+
+ private final WaveStore waveStore = new SimpleWaveStore();
+
+ private final Widget widget;
+
+ @Inject
+ public ContentViewerPanel(final GSpaceArmor wsArmor, final WaveClientManager waveClient,
+ final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n) {
+ this.gsArmor = wsArmor;
+ this.waveClient = waveClient;
+ this.capabilitiesRegistry = capabilitiesRegistry;
+ widget = uiBinder.createAndBindUi(this);
+ contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
+ loading.addClassName("kune-Margin-40-tb");
+ }
+
+ @Override
+ public Widget asWidget() {
+ return widget;
+ }
+
+ @Override
+ public void attach() {
+ final ForIsWidget docContainer = gsArmor.getDocContainer();
+ docContainer.add(widget);
+ }
+
+ @Override
+ public void clear() {
+ onlyViewPanel.setHTML("");
+ gsArmor.getSubheaderToolbar().clear();
+ UiUtils.clear(gsArmor.getDocContainer());
+ UiUtils.clear(gsArmor.getDocHeader());
+ }
+
+ @Override
+ public void detach() {
+ clear();
+ }
+
+ @Override
+ public HasEditHandler getEditTitle() {
+ return contentTitle.getEditableTitle();
+ }
+
+ private WaveRef getWaveRef(final String waveRefS) {
+ try {
+ return GwtWaverefEncoder.decodeWaveRefFromPath(waveRefS);
+ } catch (final InvalidWaveRefException e) {
+ throw new UIException("Invalid waveref: " + waveRefS);
+ }
+ }
+
+ private void initWaveClientIfNeeded() {
+ if (channel == null) {
+ final WaveWebSocketClient webSocket = new WaveWebSocketClient(WebClient.useSocketIO(),
+ WebClient.getWebSocketBaseUrl(GWT.getModuleBaseURL()));
+ webSocket.connect();
+ channel = new RemoteViewServiceMultiplexer(webSocket,
+ new ParticipantId(Session.get().getAddress()).getAddress());
+ profiles = new ProfileManagerImpl(Session.get().getDomain());
+ idGenerator = ClientIdGenerator.create();
+ }
+ }
+
+ @Override
+ public void setActions(final GuiActionDescCollection actions) {
+ gsArmor.getSubheaderToolbar().clear();
+ gsArmor.getSubheaderToolbar().addAll(actions);
+ }
+
+ @Override
+ public void setContent(final StateContentDTO state) {
+ final boolean editable = state.getContentRights().isEditable();
+ setTitle(state, editable);
+ onlyViewPanel.setHTML(SafeHtmlUtils.fromTrustedString(state.getContent()));
+ deck.showWidget(1);
+ }
+
+ @Override
+ public void setEditableContent(final StateContentDTO state) {
+ setTitle(state, true);
+ setEditableWaveContent(state.getWaveRef(), false);
+ deck.showWidget(0);
+ }
+
+ @Override
+ public void setEditableTitle(final String title) {
+ contentTitle.setText(title);
+ }
+
+ private void setEditableWaveContent(final String waveRefS, final boolean isNewWave) {
+ final WaveRef waveRef = getWaveRef(waveRefS);
+
+ if (wave != null) {
+ wave.destroy();
+ wave = null;
+ }
+
+ initWaveClientIfNeeded();
+
+ // Release the display:none.
+ // UIObject.setVisible(waveFrame.getElement(), true);
+ waveHolder.getElement().appendChild(loading);
+ final Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
+ final StagesProvider wave = new StagesProvider(holder, waveHolder, waveRef, channel, idGenerator,
+ profiles, waveStore, isNewWave);
+ this.wave = wave;
+ wave.load(new Command() {
+ @Override
+ public void execute() {
+ loading.removeFromParent();
+ }
+ });
+ }
+
+ private void setTitle(final StateContentDTO state, final boolean editable) {
+ contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getMimeType(), editable
+ && capabilitiesRegistry.isRenamable(state.getTypeId()));
+ }
+
+ @Override
+ public void signIn() {
+ // Do nothing (now)
+ // initWaveClientIfNeeded();
+ }
+
+ @Override
+ public void signOut() {
+ channel = NO_CHANNEL;
+ }
+
+}
Copied: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml (from rev 1339, trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.ui.xml)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.ui.xml 2011-05-05 23:52:34 UTC (rev 1349)
@@ -0,0 +1,28 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g='urn:import:com.google.gwt.user.client.ui' xmlns:f='urn:import:org.waveprotocol.box.webclient.widget.frame'
+ xmlns:w='urn:import:org.waveprotocol.wave.client.widget.common'>
+ <ui:style>
+ .wavePanel {
+ margin: 0 0 0 0;
+ }
+
+ .waveHolder {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ }
+
+ .viewonly {
+ margin: 5px;
+ }
+ </ui:style>
+ <g:HTMLPanel width="100%" height="100%">
+ <g:DeckPanel ui:field="deck" addStyleNames="k-doc-content-deck">
+ <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}" />
+ <g:InlineHTML ui:field="onlyViewPanel" styleName="{style.viewonly}" />
+ </g:DeckPanel>
+ </g:HTMLPanel>
+</ui:UiBinder>
\ No newline at end of file
Copied: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java (from rev 1339, trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -0,0 +1,163 @@
+package cc.kune.gspace.client.viewers;
+
+import javax.annotation.Nonnull;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
+import cc.kune.common.client.errors.UIException;
+import cc.kune.common.client.ui.EditEvent;
+import cc.kune.common.client.ui.EditEvent.EditHandler;
+import cc.kune.common.client.ui.HasEditHandler;
+import cc.kune.core.client.actions.ActionRegistryByType;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.UserSignInEvent;
+import cc.kune.core.client.state.UserSignInEvent.UserSignInHandler;
+import cc.kune.core.client.state.UserSignOutEvent;
+import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
+import cc.kune.core.shared.domain.utils.AccessRights;
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.core.shared.dto.HasContent;
+import cc.kune.core.shared.dto.StateContentDTO;
+import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.RenameAction;
+import cc.kune.gspace.client.actions.RenameListener;
+import cc.kune.gspace.client.tool.ContentViewer;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
+
+public class ContentViewerPresenter extends
+ Presenter<ContentViewerPresenter.ContentViewerView, ContentViewerPresenter.ContentViewerProxy>
+ implements ContentViewer {
+
+ @ProxyCodeSplit
+ public interface ContentViewerProxy extends Proxy<ContentViewerPresenter> {
+ }
+
+ public interface ContentViewerView extends View {
+
+ void attach();
+
+ void clear();
+
+ void detach();
+
+ HasEditHandler getEditTitle();
+
+ void setActions(GuiActionDescCollection actions);
+
+ void setContent(StateContentDTO state);
+
+ void setEditableContent(StateContentDTO state);
+
+ void setEditableTitle(String title);
+
+ void signIn();
+
+ void signOut();
+ }
+
+ private final ActionRegistryByType actionsRegistry;
+ private HandlerRegistration editHandler;
+ private final Provider<RenameAction> renameAction;
+ private final Session session;
+
+ @Inject
+ public ContentViewerPresenter(final EventBus eventBus, final ContentViewerView view,
+ final ContentViewerProxy proxy, final Session session, final ActionRegistryByType actionsRegistry,
+ final Provider<RenameAction> renameAction) {
+ super(eventBus, view, proxy);
+ this.session = session;
+ this.actionsRegistry = actionsRegistry;
+ this.renameAction = renameAction;
+ session.onUserSignOut(true, new UserSignOutHandler() {
+ @Override
+ public void onUserSignOut(final UserSignOutEvent event) {
+ getView().signOut();
+ }
+ });
+ session.onUserSignIn(true, new UserSignInHandler() {
+
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ getView().signIn();
+ }
+ });
+
+ }
+
+ @Override
+ public void attach() {
+ getView().attach();
+ if (editHandler == null) {
+ createEditHandler();
+ }
+ }
+
+ private void createEditHandler() {
+ editHandler = getView().getEditTitle().addEditHandler(new EditHandler() {
+ @Override
+ public void fire(final EditEvent event) {
+ renameAction.get().rename(session.getCurrentStateToken(), session.getCurrentState().getTitle(),
+ event.getText(), new RenameListener() {
+ @Override
+ public void onFail(final StateToken token, final String oldTitle) {
+ getView().setEditableTitle(oldTitle);
+ }
+
+ @Override
+ public void onSuccess(final StateToken token, final String title) {
+ getView().setEditableTitle(title);
+ }
+ });
+ }
+ });
+ }
+
+ @Override
+ public void detach() {
+ getView().detach();
+ }
+
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
+ }
+
+ @Override
+ public void setContent(@Nonnull final HasContent state) {
+ getView().clear();
+ final StateContentDTO stateContent = (StateContentDTO) state;
+ final AccessRights rights = stateContent.getContentRights();
+ if (session.isLogged() && rights.isEditable()) {
+ if (stateContent.isParticipant()) {
+ // is already participant, show wave editor
+ if (org.waveprotocol.box.webclient.client.Session.get().isLoggedIn()) {
+ getView().setEditableContent(stateContent);
+ } else {
+ getView().setContent(stateContent);
+ // When logged setEditable!
+ }
+ } else {
+ // add "participate" action
+ getView().setContent(stateContent);
+ }
+ } else {
+ if (rights.isVisible()) {
+ // Show contents
+ getView().setContent(stateContent);
+ } else {
+ throw new UIException("Unexpected status in Viewer");
+ }
+ }
+ final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContent.getGroup(),
+ stateContent.getTypeId(), session.isLogged(), rights, ActionGroups.VIEW);
+ getView().setActions(actions);
+ }
+}
\ No newline at end of file
Deleted: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -1,202 +0,0 @@
-package cc.kune.gspace.client.viewers;
-
-import org.waveprotocol.box.webclient.client.ClientIdGenerator;
-import org.waveprotocol.box.webclient.client.RemoteViewServiceMultiplexer;
-import org.waveprotocol.box.webclient.client.Session;
-import org.waveprotocol.box.webclient.client.SimpleWaveStore;
-import org.waveprotocol.box.webclient.client.StagesProvider;
-import org.waveprotocol.box.webclient.client.WaveWebSocketClient;
-import org.waveprotocol.box.webclient.search.WaveStore;
-import org.waveprotocol.box.webclient.widget.loading.LoadingIndicator;
-import org.waveprotocol.wave.client.account.ProfileManager;
-import org.waveprotocol.wave.client.account.impl.ProfileManagerImpl;
-import org.waveprotocol.wave.client.widget.common.ImplPanel;
-import org.waveprotocol.wave.model.id.IdGenerator;
-import org.waveprotocol.wave.model.wave.ParticipantId;
-import org.waveprotocol.wave.model.waveref.InvalidWaveRefException;
-import org.waveprotocol.wave.model.waveref.WaveRef;
-import org.waveprotocol.wave.util.escapers.GwtWaverefEncoder;
-
-import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
-import cc.kune.common.client.errors.UIException;
-import cc.kune.common.client.ui.HasEditHandler;
-import cc.kune.common.client.ui.UiUtils;
-import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
-import cc.kune.core.shared.dto.StateContentDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.gspace.client.GSpaceArmor;
-import cc.kune.gspace.client.viewers.DocViewerPresenter.DocViewerView;
-import cc.kune.wave.client.WaveClientManager;
-import cc.kune.wave.client.WebClient;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.dom.client.Document;
-import com.google.gwt.dom.client.Element;
-import com.google.gwt.safehtml.shared.SafeHtmlUtils;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.ui.DeckPanel;
-import com.google.gwt.user.client.ui.InlineHTML;
-import com.google.gwt.user.client.ui.InsertPanel.ForIsWidget;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.inject.Inject;
-import com.gwtplatform.mvp.client.ViewImpl;
-
-public class DocViewerPanel extends ViewImpl implements DocViewerView {
- interface DocsViewerPanelUiBinder extends UiBinder<Widget, DocViewerPanel> {
- }
-
- private static final RemoteViewServiceMultiplexer NO_CHANNEL = null;
-
- private static DocsViewerPanelUiBinder uiBinder = GWT.create(DocsViewerPanelUiBinder.class);
-
- private final ContentCapabilitiesRegistry capabilitiesRegistry;
- private RemoteViewServiceMultiplexer channel;
- private final ContentTitleWidget contentTitle;
- @UiField
- DeckPanel deck;
- private final GSpaceArmor gsArmor;
- private IdGenerator idGenerator;
- private final Element loading = new LoadingIndicator().getElement();
- @UiField
- InlineHTML onlyViewPanel;
- private ProfileManager profiles;
- /** The wave panel, if a wave is open. */
- private StagesProvider wave;
- private final WaveClientManager waveClient;
- @UiField
- ImplPanel waveHolder;
-
- private final WaveStore waveStore = new SimpleWaveStore();
-
- private final Widget widget;
-
- @Inject
- public DocViewerPanel(final GSpaceArmor wsArmor, final WaveClientManager waveClient,
- final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n) {
- this.gsArmor = wsArmor;
- this.waveClient = waveClient;
- this.capabilitiesRegistry = capabilitiesRegistry;
- widget = uiBinder.createAndBindUi(this);
- contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
- loading.addClassName("kune-Margin-40-tb");
- }
-
- @Override
- public Widget asWidget() {
- return widget;
- }
-
- @Override
- public void attach() {
- final ForIsWidget docContainer = gsArmor.getDocContainer();
- docContainer.add(widget);
- }
-
- @Override
- public void clear() {
- onlyViewPanel.setHTML("");
- gsArmor.getSubheaderToolbar().clear();
- UiUtils.clear(gsArmor.getDocContainer());
- UiUtils.clear(gsArmor.getDocHeader());
- }
-
- @Override
- public void detach() {
- clear();
- }
-
- @Override
- public HasEditHandler getEditTitle() {
- return contentTitle.getEditableTitle();
- }
-
- private WaveRef getWaveRef(final String waveRefS) {
- try {
- return GwtWaverefEncoder.decodeWaveRefFromPath(waveRefS);
- } catch (final InvalidWaveRefException e) {
- throw new UIException("Invalid waveref: " + waveRefS);
- }
- }
-
- private void initWaveClientIfNeeded() {
- if (channel == null) {
- final WaveWebSocketClient webSocket = new WaveWebSocketClient(WebClient.useSocketIO(),
- WebClient.getWebSocketBaseUrl(GWT.getModuleBaseURL()));
- webSocket.connect();
- channel = new RemoteViewServiceMultiplexer(webSocket,
- new ParticipantId(Session.get().getAddress()).getAddress());
- profiles = new ProfileManagerImpl(Session.get().getDomain());
- idGenerator = ClientIdGenerator.create();
- }
- }
-
- @Override
- public void setActions(final GuiActionDescCollection actions) {
- gsArmor.getSubheaderToolbar().clear();
- gsArmor.getSubheaderToolbar().addAll(actions);
- }
-
- @Override
- public void setContent(final StateContentDTO state) {
- final boolean editable = state.getContentRights().isEditable();
- setTitle(state, editable);
- onlyViewPanel.setHTML(SafeHtmlUtils.fromTrustedString(state.getContent()));
- deck.showWidget(1);
- }
-
- @Override
- public void setEditableContent(final StateContentDTO state) {
- setTitle(state, true);
- setEditableWaveContent(state.getWaveRef(), false);
- deck.showWidget(0);
- }
-
- @Override
- public void setEditableTitle(final String title) {
- contentTitle.setText(title);
- }
-
- private void setEditableWaveContent(final String waveRefS, final boolean isNewWave) {
- final WaveRef waveRef = getWaveRef(waveRefS);
-
- if (wave != null) {
- wave.destroy();
- wave = null;
- }
-
- initWaveClientIfNeeded();
-
- // Release the display:none.
- // UIObject.setVisible(waveFrame.getElement(), true);
- waveHolder.getElement().appendChild(loading);
- final Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
- final StagesProvider wave = new StagesProvider(holder, waveHolder, waveRef, channel, idGenerator,
- profiles, waveStore, isNewWave);
- this.wave = wave;
- wave.load(new Command() {
- @Override
- public void execute() {
- loading.removeFromParent();
- }
- });
- }
-
- private void setTitle(final StateContentDTO state, final boolean editable) {
- contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getMimeType(), editable
- && capabilitiesRegistry.isRenamable(state.getTypeId()));
- }
-
- @Override
- public void signIn() {
- // Do nothing (now)
- // initWaveClientIfNeeded();
- }
-
- @Override
- public void signOut() {
- channel = NO_CHANNEL;
- }
-
-}
Deleted: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.ui.xml 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.ui.xml 2011-05-05 23:52:34 UTC (rev 1349)
@@ -1,28 +0,0 @@
-<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
-<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
- xmlns:g='urn:import:com.google.gwt.user.client.ui' xmlns:f='urn:import:org.waveprotocol.box.webclient.widget.frame'
- xmlns:w='urn:import:org.waveprotocol.wave.client.widget.common'>
- <ui:style>
- .wavePanel {
- margin: 0 0 0 0;
- }
-
- .waveHolder {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- }
-
- .viewonly {
- margin: 5px;
- }
- </ui:style>
- <g:HTMLPanel width="100%" height="100%">
- <g:DeckPanel ui:field="deck" addStyleNames="k-doc-content-deck">
- <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}" />
- <g:InlineHTML ui:field="onlyViewPanel" styleName="{style.viewonly}" />
- </g:DeckPanel>
- </g:HTMLPanel>
-</ui:UiBinder>
\ No newline at end of file
Deleted: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -1,171 +0,0 @@
-package cc.kune.gspace.client.viewers;
-
-import javax.annotation.Nonnull;
-
-import cc.kune.blogs.client.actions.BlogsClientActions;
-import cc.kune.blogs.shared.BlogsConstants;
-import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
-import cc.kune.common.client.errors.UIException;
-import cc.kune.common.client.ui.EditEvent;
-import cc.kune.common.client.ui.EditEvent.EditHandler;
-import cc.kune.common.client.ui.HasEditHandler;
-import cc.kune.core.client.actions.ActionRegistryByType;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.UserSignInEvent;
-import cc.kune.core.client.state.UserSignInEvent.UserSignInHandler;
-import cc.kune.core.client.state.UserSignOutEvent;
-import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
-import cc.kune.core.shared.domain.utils.AccessRights;
-import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.HasContent;
-import cc.kune.core.shared.dto.StateContentDTO;
-import cc.kune.docs.client.actions.DocsClientActions;
-import cc.kune.docs.shared.DocsConstants;
-import cc.kune.gspace.client.actions.ActionGroups;
-import cc.kune.gspace.client.actions.RenameAction;
-import cc.kune.gspace.client.actions.RenameListener;
-import cc.kune.gspace.client.tool.ContentViewer;
-import cc.kune.gspace.client.tool.ContentViewerSelector;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.event.shared.HandlerRegistration;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.gwtplatform.mvp.client.Presenter;
-import com.gwtplatform.mvp.client.View;
-import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
-import com.gwtplatform.mvp.client.proxy.Proxy;
-import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
-
-public class DocViewerPresenter extends
- Presenter<DocViewerPresenter.DocViewerView, DocViewerPresenter.DocViewerProxy> implements
- ContentViewer {
-
- @ProxyCodeSplit
- public interface DocViewerProxy extends Proxy<DocViewerPresenter> {
- }
-
- public interface DocViewerView extends View {
-
- void attach();
-
- void clear();
-
- void detach();
-
- HasEditHandler getEditTitle();
-
- void setActions(GuiActionDescCollection actions);
-
- void setContent(StateContentDTO state);
-
- void setEditableContent(StateContentDTO state);
-
- void setEditableTitle(String title);
-
- void signIn();
-
- void signOut();
- }
-
- private final ActionRegistryByType actionsRegistry;
- private HandlerRegistration editHandler;
- private final Provider<RenameAction> renameAction;
- private final Session session;
-
- @Inject
- public DocViewerPresenter(final EventBus eventBus, final DocViewerView view,
- final DocViewerProxy proxy, final Session session, final ContentViewerSelector viewerSelector,
- final ActionRegistryByType actionsRegistry, final DocsClientActions docsActions,
- final BlogsClientActions blogActions, final Provider<RenameAction> renameAction) {
- super(eventBus, view, proxy);
- this.session = session;
- this.actionsRegistry = actionsRegistry;
- this.renameAction = renameAction;
- viewerSelector.register(this, true, DocsConstants.TYPE_DOCUMENT);
- viewerSelector.register(this, true, BlogsConstants.TYPE_POST);
- session.onUserSignOut(true, new UserSignOutHandler() {
- @Override
- public void onUserSignOut(final UserSignOutEvent event) {
- getView().signOut();
- }
- });
- session.onUserSignIn(true, new UserSignInHandler() {
-
- @Override
- public void onUserSignIn(final UserSignInEvent event) {
- getView().signIn();
- }
- });
-
- }
-
- @Override
- public void attach() {
- getView().attach();
- if (editHandler == null) {
- createEditHandler();
- }
- }
-
- private void createEditHandler() {
- editHandler = getView().getEditTitle().addEditHandler(new EditHandler() {
- @Override
- public void fire(final EditEvent event) {
- renameAction.get().rename(session.getCurrentStateToken(), session.getCurrentState().getTitle(),
- event.getText(), new RenameListener() {
- @Override
- public void onFail(final StateToken token, final String oldTitle) {
- getView().setEditableTitle(oldTitle);
- }
-
- @Override
- public void onSuccess(final StateToken token, final String title) {
- getView().setEditableTitle(title);
- }
- });
- }
- });
- }
-
- @Override
- public void detach() {
- getView().detach();
- }
-
- @Override
- protected void revealInParent() {
- RevealRootContentEvent.fire(this, this);
- }
-
- @Override
- public void setContent(@Nonnull final HasContent state) {
- getView().clear();
- final StateContentDTO stateContent = (StateContentDTO) state;
- final AccessRights rights = stateContent.getContentRights();
- if (session.isLogged() && rights.isEditable()) {
- if (stateContent.isParticipant()) {
- // is already participant, show wave editor
- if (org.waveprotocol.box.webclient.client.Session.get().isLoggedIn()) {
- getView().setEditableContent(stateContent);
- } else {
- getView().setContent(stateContent);
- // When logged setEditable!
- }
- } else {
- // add "participate" action
- getView().setContent(stateContent);
- }
- } else {
- if (rights.isVisible()) {
- // Show contents
- getView().setContent(stateContent);
- } else {
- throw new UIException("Unexpected status in Viewer");
- }
- }
- final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContent.getGroup(),
- stateContent.getTypeId(), session.isLogged(), rights, ActionGroups.VIEW);
- getView().setActions(actions);
- }
-}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -2,7 +2,7 @@
import javax.annotation.Nonnull;
-import cc.kune.blogs.shared.BlogsConstants;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
import cc.kune.common.client.ui.EditEvent;
import cc.kune.common.client.ui.EditEvent.EditHandler;
@@ -24,12 +24,11 @@
import cc.kune.core.shared.dto.HasContent;
import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.docs.shared.DocsConstants;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.actions.GotoTokenAction;
import cc.kune.gspace.client.actions.RenameAction;
import cc.kune.gspace.client.actions.RenameListener;
import cc.kune.gspace.client.tool.ContentViewer;
-import cc.kune.gspace.client.tool.ContentViewerSelector;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
@@ -77,6 +76,11 @@
void showEmptyMsg();
}
+ protected static final String CSSBTN = "k-button";
+ protected static final String CSSBTNC = "k-button, k-button-center";
+ protected static final String CSSBTNL = "k-button, k-button-left";
+ protected static final String CSSBTNR = "k-button, k-button-right";
+
private final ActionRegistryByType actionsRegistry;
private final ContentCapabilitiesRegistry capabilitiesRegistry;
@@ -93,10 +97,9 @@
@Inject
public FolderViewerPresenter(final EventBus eventBus, final FolderViewerView view,
final FolderViewerProxy proxy, final Session session, final StateManager stateManager,
- final I18nTranslationService i18n, final ContentViewerSelector viewerSelector,
- final ActionRegistryByType actionsRegistry,
+ final I18nTranslationService i18n, final ActionRegistryByType actionsRegistry,
final Provider<FileDownloadUtils> downloadUtilsProvider,
- final ContentCapabilitiesRegistry capabilitiesRegistry, final Provider<RenameAction> renameAction) {
+ final Provider<RenameAction> renameAction, final ContentCapabilitiesRegistry capabilitiesRegistry) {
super(eventBus, view, proxy);
this.session = session;
this.stateManager = stateManager;
@@ -105,8 +108,6 @@
this.downloadUtilsProvider = downloadUtilsProvider;
this.capabilitiesRegistry = capabilitiesRegistry;
iconsRegistry = capabilitiesRegistry.getIconsRegistry();
- viewerSelector.register(this, true, DocsConstants.TYPE_ROOT, DocsConstants.TYPE_FOLDER);
- viewerSelector.register(this, true, BlogsConstants.TYPE_ROOT, BlogsConstants.TYPE_BLOG);
useGenericImageIcon = false;
this.renameAction = renameAction;
}
@@ -148,6 +149,19 @@
}
}
+ String calculateStyle(final int pos, final int length) {
+ if (length == 1) {
+ return CSSBTN;
+ }
+ if (pos == 0) {
+ return CSSBTNL;
+ }
+ if (pos == length - 1) {
+ return CSSBTNR;
+ }
+ return CSSBTNC;
+ }
+
private void createChildItems(final ContainerDTO container, final AccessRights containerRights) {
if (container.getContents().size() + container.getChilds().size() == 0) {
getView().showEmptyMsg();
@@ -189,6 +203,27 @@
});
}
+ private void createPath(final ContainerDTO container, final GuiActionDescCollection actions) {
+ final ContainerSimpleDTO[] path = container.getAbsolutePath();
+ final int pathLength = path.length;
+ if (pathLength > 0) {
+ for (int i = 0; i < pathLength; i++) {
+ final ButtonDescriptor btn = createPathButton(path[i], pathLength, i);
+ actions.add(btn);
+ }
+ }
+
+ }
+
+ private ButtonDescriptor createPathButton(final ContainerSimpleDTO container, final int length,
+ final int pos) {
+ final String style = calculateStyle(pos, length);
+ final ButtonDescriptor btn = new ButtonDescriptor(new GotoTokenAction(
+ iconsRegistry.getContentTypeIcon(container.getTypeId()), container.getName(),
+ container.getStateToken(), style, stateManager, getEventBus()));
+ return btn;
+ }
+
@Override
public void detach() {
getView().detach();
@@ -233,8 +268,9 @@
final AccessRights rights = stateContainer.getContainerRights();
final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContainer.getGroup(),
stateContainer.getTypeId(), session.isLogged(), rights, ActionGroups.VIEW);
+ final ContainerDTO container = stateContainer.getContainer();
+ createPath(container, actions);
getView().setActions(actions);
- createChildItems(stateContainer.getContainer(), stateContainer.getContainerRights());
- // view.setEditable(rights.isEditable());
+ createChildItems(container, stateContainer.getContainerRights());
}
}
\ No newline at end of file
Modified: trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java 2011-05-05 21:20:17 UTC (rev 1348)
+++ trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -50,6 +50,7 @@
assertEquals(mimetype, newCnt.getMimeType().toString());
}
+ @Ignore
@Test
public void testBasicBodySearch() {
createContent();
Added: trunk/src/test/java/cc/kune/gspace/client/viewers/FolderViewerPresenterTest.java
===================================================================
--- trunk/src/test/java/cc/kune/gspace/client/viewers/FolderViewerPresenterTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/gspace/client/viewers/FolderViewerPresenterTest.java 2011-05-05 23:52:34 UTC (rev 1349)
@@ -0,0 +1,50 @@
+package cc.kune.gspace.client.viewers;
+
+import static cc.kune.gspace.client.viewers.FolderViewerPresenter.CSSBTN;
+import static cc.kune.gspace.client.viewers.FolderViewerPresenter.CSSBTNC;
+import static cc.kune.gspace.client.viewers.FolderViewerPresenter.CSSBTNL;
+import static cc.kune.gspace.client.viewers.FolderViewerPresenter.CSSBTNR;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
+
+public class FolderViewerPresenterTest {
+
+ private FolderViewerPresenter presenter;
+
+ @Before
+ public void before() {
+ presenter = new FolderViewerPresenter(null, null, null, null, null, null, null, null, null,
+ Mockito.mock(ContentCapabilitiesRegistry.class));
+ }
+
+ @Test
+ public void with1() {
+ assertEquals(CSSBTN, presenter.calculateStyle(0, 1));
+ }
+
+ @Test
+ public void with2() {
+ assertEquals(CSSBTNL, presenter.calculateStyle(0, 2));
+ assertEquals(CSSBTNR, presenter.calculateStyle(1, 2));
+ }
+
+ @Test
+ public void with3() {
+ assertEquals(CSSBTNL, presenter.calculateStyle(0, 3));
+ assertEquals(CSSBTNC, presenter.calculateStyle(1, 3));
+ assertEquals(CSSBTNR, presenter.calculateStyle(2, 3));
+ }
+
+ @Test
+ public void with4() {
+ assertEquals(CSSBTNL, presenter.calculateStyle(0, 4));
+ assertEquals(CSSBTNC, presenter.calculateStyle(1, 4));
+ assertEquals(CSSBTNC, presenter.calculateStyle(2, 4));
+ assertEquals(CSSBTNR, presenter.calculateStyle(3, 4));
+ }
+}
Property changes on: trunk/src/test/java/cc/kune/gspace/client/viewers/FolderViewerPresenterTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
1
0
r1348 - in kune-sandbox: src/cc/kune/sandbox src/cc/kune/sandbox/client war war/kune_messages war/kune_sandbox war/kune_sandbox/images war/kune_sandbox/images/ie6 war/kune_sandbox/styles
by Vicente J. Ruiz Jurado 05 May '11
by Vicente J. Ruiz Jurado 05 May '11
05 May '11
Author: vjrj_
Date: 2011-05-05 23:20:17 +0200 (Thu, 05 May 2011)
New Revision: 1348
Added:
kune-sandbox/war/kune_sandbox/images/corner.png
kune-sandbox/war/kune_sandbox/images/corner_ie6.png
kune-sandbox/war/kune_sandbox/images/ie6/
kune-sandbox/war/kune_sandbox/images/ie6/corner_dialog_topleft.png
kune-sandbox/war/kune_sandbox/images/ie6/corner_dialog_topright.png
kune-sandbox/war/kune_sandbox/images/ie6/hborder_blue_shadow.png
kune-sandbox/war/kune_sandbox/images/ie6/hborder_gray_shadow.png
kune-sandbox/war/kune_sandbox/images/ie6/vborder_blue_shadow.png
kune-sandbox/war/kune_sandbox/images/ie6/vborder_gray_shadow.png
kune-sandbox/war/kune_sandbox/images/vborder.png
kune-sandbox/war/kune_sandbox/images/vborder_ie6.png
kune-sandbox/war/kune_sandbox/styles/
kune-sandbox/war/kune_sandbox/styles/styl1.png
kune-sandbox/war/kune_sandbox/styles/styl2.png
kune-sandbox/war/kune_sandbox/styles/styl3.png
kune-sandbox/war/kune_sandbox/styles/styl4.png
kune-sandbox/war/kune_sandbox/styles/styl5.png
kune-sandbox/war/kune_sandbox/styles/styl6.png
Modified:
kune-sandbox/src/cc/kune/sandbox/KuneSandbox.gwt.xml
kune-sandbox/src/cc/kune/sandbox/client/KuneSandboxEntryPoint.java
kune-sandbox/war/kune_messages/kune-common.css
kune-sandbox/war/kune_sandbox/about.html
kune-sandbox/war/kune_sandbox/kune-common.css
kune-sandbox/war/kune_sandbox/ws.css
kune-sandbox/war/ws.css
Log:
Some right/center/left buttons for navigator
Modified: kune-sandbox/src/cc/kune/sandbox/KuneSandbox.gwt.xml
===================================================================
--- kune-sandbox/src/cc/kune/sandbox/KuneSandbox.gwt.xml 2011-05-05 16:19:38 UTC (rev 1347)
+++ kune-sandbox/src/cc/kune/sandbox/KuneSandbox.gwt.xml 2011-05-05 21:20:17 UTC (rev 1348)
@@ -3,7 +3,7 @@
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<inherits name="cc.kune.msgs.KuneMsgs" />
- <inherits name="cc.kune.core.Core" />
+ <inherits name="cc.kune.core.KuneCore" />
<inherits name="cc.kune.wave.KuneWave" />
<inherits name="org.adamtacy.GWTEffects"></inherits>
<!-- Inherit the default GWT style sheet. You can change -->
@@ -19,6 +19,5 @@
<source path='client' />
<public path="public" />
<stylesheet src="kune-sandbox.css" />
- <set-property name="user.agent" value="safari,gecko1_8" />
<inherits name="com.extjs.gxt.ui.GXT" />
</module>
Modified: kune-sandbox/src/cc/kune/sandbox/client/KuneSandboxEntryPoint.java
===================================================================
--- kune-sandbox/src/cc/kune/sandbox/client/KuneSandboxEntryPoint.java 2011-05-05 16:19:38 UTC (rev 1347)
+++ kune-sandbox/src/cc/kune/sandbox/client/KuneSandboxEntryPoint.java 2011-05-05 21:20:17 UTC (rev 1348)
@@ -5,10 +5,10 @@
import cc.kune.common.client.ui.MaskWidget;
import cc.kune.common.client.ui.PopupBottomPanel;
import cc.kune.common.client.ui.PopupTopPanel;
-import cc.kune.core.client.ui.dialogs.BasicDialog;
-import cc.kune.gspace.client.WsArmorImpl;
-import cc.kune.gspace.client.tool.ToolSelectorItemPanel;
-import cc.kune.gspace.client.tool.ToolSelectorPanel;
+import cc.kune.common.client.ui.dialogs.BasicDialog;
+import cc.kune.gspace.client.GSpaceArmorImpl;
+import cc.kune.gspace.client.tool.selector.ToolSelectorItemPanel;
+import cc.kune.gspace.client.tool.selector.ToolSelectorPanel;
import cc.kune.msgs.client.CloseCallback;
import cc.kune.msgs.client.UserMessage;
import cc.kune.msgs.client.UserMessagesPanel;
@@ -20,6 +20,7 @@
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
@@ -30,143 +31,167 @@
*/
public class KuneSandboxEntryPoint implements EntryPoint {
- private PopupBottomPanel pop;
+ private PopupBottomPanel pop;
- /**
- * This is the entry point method.
- */
- @Override
- public void onModuleLoad() {
- // testUserMessages();
- // testDialogs();
- // testToolpanel();
- // toolSelector.addWidget(new Label("Test"));
- final AbsolutePanel panel = new AbsolutePanel();
- final Button button = new Button("Btn 1");
- final Button button2 = new Button("Btn 2");
- final Button button3 = new Button("Btn 3");
- final Button button4 = new Button("Btn 4");
- int clientWidth = Window.getClientWidth();
- int clientHeight = Window.getClientHeight();
- panel.setSize(String.valueOf(clientWidth-10) + "px", String.valueOf(clientHeight-10) + "px");
- panel.add(button, 5, 5);
- panel.add(button2, clientWidth - 60, 5);
- panel.add(button3, 5, clientHeight - 40);
- panel.add(button4, clientWidth - 60, clientHeight - 40);
- Tooltip.to(button, "Some tooltip");
- Tooltip.to(button2, "Some tooltip");
- Tooltip.to(button3, "Some tooltip");
- Tooltip.to(button4, "Some tooltip");
- // DOM.setElementProperty(button2.getElement(), "position", "relative");
- RootPanel.get().add(panel);
- }
+ /**
+ * This is the entry point method.
+ */
+ @Override
+ public void onModuleLoad() {
+ // testUserMessages();
+ // testDialogs();
+ // testToolpanel();
+ // toolSelector.addWidget(new Label("Test"));
+ // testTooltips();
+ Button btn1 = new Button("Btn 1");
+ Button btn2 = new Button("Btn 2");
+ Button btn3 = new Button("Btn 3");
+ btn1.addStyleName("k-button");
+ btn1.addStyleName("k-button-left");
+ btn2.addStyleName("k-button");
+ btn2.addStyleName("k-button-center");
+ btn3.addStyleName("k-button");
+ btn3.addStyleName("k-button-right");
+ btn1.addStyleName("kune-Margin-Large-t");
+ btn2.addStyleName("kune-Margin-Large-t");
+ btn3.addStyleName("kune-Margin-Large-t");
+ btn1.addStyleName("k-fl");
+ btn2.addStyleName("k-fl");
+ btn3.addStyleName("k-fl");
+ FlowPanel vp = new FlowPanel();
+ vp.add(btn1);
+ vp.add(btn2);
+ vp.add(btn3);
+ RootPanel.get().add(vp);
+ }
- private void testToolpanel() {
- ToolSelectorPanel toolSelector = new ToolSelectorPanel(new WsArmorImpl());
- ToolSelectorItemPanel toolItem1 = new ToolSelectorItemPanel();
- toolItem1.getLabel().setText("documents");
- ToolSelectorItemPanel toolItem2 = new ToolSelectorItemPanel();
- toolItem2.getLabel().setText("something very longgggggg");
- ToolSelectorItemPanel toolItem3 = new ToolSelectorItemPanel();
- toolItem3.getLabel().setText("media");
- toolSelector.addItem(toolItem1);
- toolSelector.addItem(toolItem2);
- toolSelector.addItem(toolItem3);
- toolItem1.setSelected(true);
- toolItem2.setSelected(false);
- toolItem3.setSelected(false);
- toolSelector.asWidget().setWidth("200px");
- RootPanel.get().add(toolSelector.asWidget());
- }
+ private void testTooltips() {
+ final AbsolutePanel panel = new AbsolutePanel();
+ final Button button = new Button("Btn 1");
+ final Button button2 = new Button("Btn 2");
+ final Button button3 = new Button("Btn 3");
+ final Button button4 = new Button("Btn 4");
+ int clientWidth = Window.getClientWidth();
+ int clientHeight = Window.getClientHeight();
+ panel.setSize(String.valueOf(clientWidth - 10) + "px", String.valueOf(clientHeight - 10) + "px");
+ panel.add(button, 5, 5);
+ panel.add(button2, clientWidth - 60, 5);
+ panel.add(button3, 5, clientHeight - 40);
+ panel.add(button4, clientWidth - 60, clientHeight - 40);
+ Tooltip.to(button, "Some tooltip");
+ Tooltip.to(button2, "Some tooltip");
+ Tooltip.to(button3, "Some tooltip");
+ Tooltip.to(button4, "Some tooltip");
+ // DOM.setElementProperty(button2.getElement(), "position", "relative");
+ RootPanel.get().add(panel);
+ }
- private void postAdd(final PopupBottomPanel pop) {
- pop.setCenterPosition();
- }
+ private void testToolpanel() {
+ ToolSelectorPanel toolSelector = new ToolSelectorPanel(new GSpaceArmorImpl(null));
+ ToolSelectorItemPanel toolItem1 = new ToolSelectorItemPanel();
+ toolItem1.getLabel().setText("documents");
+ ToolSelectorItemPanel toolItem2 = new ToolSelectorItemPanel();
+ toolItem2.getLabel().setText("something very longgggggg");
+ ToolSelectorItemPanel toolItem3 = new ToolSelectorItemPanel();
+ toolItem3.getLabel().setText("media");
+ toolSelector.addItem(toolItem1);
+ toolSelector.addItem(toolItem2);
+ toolSelector.addItem(toolItem3);
+ toolItem1.setSelected(true);
+ toolItem2.setSelected(false);
+ toolItem3.setSelected(false);
+ toolSelector.asWidget().setWidth("200px");
+ RootPanel.get().add(toolSelector.asWidget());
+ }
- private void postAdd(final PopupTopPanel pop) {
- pop.setCenterPosition();
- }
+ private void postAdd(final PopupBottomPanel pop) {
+ pop.setCenterPosition();
+ }
- private void testDialogs() {
- final PopupTopPanel pop2 = new PopupTopPanel(false, true);
- pop2.setGlassEnabled(true);
- final BasicDialog dialog = new BasicDialog();
- pop2.add(dialog);
+ private void postAdd(final PopupTopPanel pop) {
+ pop.setCenterPosition();
+ }
- dialog.getTitleText().setText("Title");
- dialog.getFirstBtnText().setText("Accept");
- dialog.getSecondBtnText().setText("Cancel");
- dialog.setFirstBtnTabIndex(2);
- dialog.setSecondBtnTabIndex(3);
- final VerticalPanel sPanel = new VerticalPanel();
- sPanel.add(new Label("lo que sea"));
- final Button btn = new Button("lo que sea");
- btn.setTabIndex(1);
- btn.setFocus(true);
- sPanel.add(btn);
- sPanel.setSize("300px", "150px");
- dialog.getInnerPanel().add((IsWidget) sPanel);
- final Label label = new Label("Test label");
- // final NotifyLevelImages levelImg =
- // GWT.create(NotifyLevelImages.class);
- // dialog.getBottomPanel().add(new MessagePanel(levelImg, "kk"));
- final MaskWidget mask = new MaskWidget();
+ private void testDialogs() {
+ final PopupTopPanel pop2 = new PopupTopPanel(false, true);
+ pop2.setGlassEnabled(true);
+ final BasicDialog dialog = new BasicDialog();
+ pop2.add(dialog);
- RootPanel.get().add(label);
- pop2.showNear(label);
- // final String zIndex = DOM.getStyleAttribute(pop2.getElement(),
- // "zIndex");
- DOM.setStyleAttribute(pop.getElement(), "zIndex", "10000");
- mask.mask(pop2, "JAarrrrr!");
- }
+ dialog.getTitleText().setText("Title");
+ dialog.setFirstBtnText("Accept");
+ dialog.setSecondBtnText("Cancel");
+ dialog.setFirstBtnTabIndex(2);
+ dialog.setSecondBtnTabIndex(3);
+ final VerticalPanel sPanel = new VerticalPanel();
+ sPanel.add(new Label("lo que sea"));
+ final Button btn = new Button("lo que sea");
+ btn.setTabIndex(1);
+ btn.setFocus(true);
+ sPanel.add(btn);
+ sPanel.setSize("300px", "150px");
+ dialog.getInnerPanel().add((IsWidget) sPanel);
+ final Label label = new Label("Test label");
+ // final NotifyLevelImages levelImg =
+ // GWT.create(NotifyLevelImages.class);
+ // dialog.getBottomPanel().add(new MessagePanel(levelImg, "kk"));
+ final MaskWidget mask = new MaskWidget();
- private void testUserMessages() {
- final UserMessagesPanel panel = new UserMessagesPanel();
- UserMessage.setFadeMills(3000);
- UserMessage.setCloseTitle("Close message");
- panel.setWidth("422px");
- final UserMessagesPresenter presenter = new UserMessagesPresenter();
- presenter.init(panel);
+ RootPanel.get().add(label);
+ pop2.showNear(label);
+ // final String zIndex = DOM.getStyleAttribute(pop2.getElement(),
+ // "zIndex");
+ DOM.setStyleAttribute(pop.getElement(), "zIndex", "10000");
+ mask.mask(pop2, "JAarrrrr!");
+ }
- pop = new PopupBottomPanel();
- final CloseCallback closeCalback = new CloseCallback() {
- @Override
- public void onClose() {
- pop.setCenterPosition();
- }
- };
- presenter.add(NotifyLevel.info, "Title", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit", "", false,
- closeCalback);
- postAdd(pop);
- presenter.add(NotifyLevel.error, "Title", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit", "",
- false, closeCalback);
- pop.add(panel);
+ private void testUserMessages() {
+ final UserMessagesPanel panel = new UserMessagesPanel();
+ UserMessage.setFadeMills(3000);
+ UserMessage.setCloseTitle("Close message");
+ panel.setWidth("422px");
+ final UserMessagesPresenter presenter = new UserMessagesPresenter();
+ presenter.init(panel);
+ pop = new PopupBottomPanel();
+ final CloseCallback closeCalback = new CloseCallback() {
+ @Override
+ public void onClose() {
+ pop.setCenterPosition();
+ }
+ };
+ presenter.add(NotifyLevel.info, "Title", "Lorem ipsum dolor sit amet, consectetuer adipiscing elit",
+ "", false, closeCalback);
+ postAdd(pop);
+ presenter.add(NotifyLevel.error, "Title",
+ "Lorem ipsum dolor sit amet, consectetuer adipiscing elit", "", false, closeCalback);
+ pop.add(panel);
+
+ postAdd(pop);
+
+ final Timer time = new Timer() {
+ @Override
+ public void run() {
+ presenter.add(
+ NotifyLevel.error,
+ "",
+ "Lorem <a href='/'>ipsum</a> dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit",
+ "", true, closeCalback);
postAdd(pop);
+ }
+ };
+ final Timer time2 = new Timer() {
+ @Override
+ public void run() {
+ presenter.add(NotifyLevel.important, "", "Lorem ", "", false, closeCalback);
+ postAdd(pop);
+ presenter.add(NotifyLevel.important, "Title", "Lorem ", "", true, closeCalback);
+ postAdd(pop);
+ }
+ };
+ time.schedule(1000);
+ time2.schedule(2000);
+ pop.show();
- final Timer time = new Timer() {
- @Override
- public void run() {
- presenter.add(
- NotifyLevel.error,
- "",
- "Lorem <a href='/'>ipsum</a> dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit",
- "", true, closeCalback);
- postAdd(pop);
- }
- };
- final Timer time2 = new Timer() {
- @Override
- public void run() {
- presenter.add(NotifyLevel.important, "", "Lorem ", "", false, closeCalback);
- postAdd(pop);
- presenter.add(NotifyLevel.important, "Title", "Lorem ", "", true, closeCalback);
- postAdd(pop);
- }
- };
- time.schedule(1000);
- time2.schedule(2000);
- pop.show();
-
- }
+ }
}
Modified: kune-sandbox/war/kune_messages/kune-common.css
===================================================================
--- kune-sandbox/war/kune_messages/kune-common.css 2011-05-05 16:19:38 UTC (rev 1347)
+++ kune-sandbox/war/kune_messages/kune-common.css 2011-05-05 21:20:17 UTC (rev 1348)
@@ -8,531 +8,646 @@
}
.k-floatleft,.k-fl {
- float: left;
+ float: left;
}
.k-floatright,.k-fr {
- float: right;
+ float: right;
}
.k-pointer {
- cursor: pointer;
- cursor: hand;
+ cursor: pointer;
+ cursor: hand;
}
.k-opacity80 {
- kfilter: alpha(opacity = 80);
- -moz-opacity: 0.80;
- -khtml-opacity: 0.80;
- opacity: 0.80;
+ kfilter: alpha(opacity = 80);
+ -moz-opacity: 0.80;
+ -khtml-opacity: 0.80;
+ opacity: 0.80;
}
.k-opacity90 {
- kfilter: alpha(opacity = 90);
- -moz-opacity: 0.90;
- -khtml-opacity: 0.90;
- opacity: 0.90;
+ kfilter: alpha(opacity = 90);
+ -moz-opacity: 0.90;
+ -khtml-opacity: 0.90;
+ opacity: 0.90;
}
.k-opacity95 {
- kfilter: alpha(opacity = 95);
- -moz-opacity: 0.95;
- -khtml-opacity: 0.95;
- opacity: 0.95;
+ kfilter: alpha(opacity = 95);
+ -moz-opacity: 0.95;
+ -khtml-opacity: 0.95;
+ opacity: 0.95;
}
.gwt-PopupPanelGlass {
- background-color: #f7ebe3 !important;
- kfilter: alpha(opacity = 68)
- !important;
- -moz-opacity: 0.68 !important;
- -khtml-opacity: 0.68 !important;
- opacity: 0.68 !important;
+ background-color: #f7ebe3 !important;
+ kfilter: alpha(opacity = 68)
+ !important;
+ -moz-opacity: 0.68 !important;
+ -khtml-opacity: 0.68 !important;
+ opacity: 0.68 !important;
}
.k-box-3shadow {
- -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
- -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
- box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
+ -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
+ box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
}
.k-box-5shadow {
- -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
- -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
- box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
+ -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}
.k-box-10shadow {
- -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
- -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
- box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
.k-bottom-5corners {
- -webkit-border-bottom-right-radius: 5px;
- -moz-border-radius-bottomright: 5px;
- border-bottom-right-radius: 5px;
- -webkit-border-bottom-left-radius: 5px;
- -moz-border-radius-bottomleft: 5px;
- border-bottom-left-radius: 5px;
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
}
.k-bottom-10corners {
- -webkit-border-bottom-right-radius: 10px;
- -moz-border-radius-bottomright: 10px;
- border-bottom-right-radius: 10px;
- -webkit-border-bottom-left-radius: 10px;
- -moz-border-radius-bottomleft: 10px;
- border-bottom-left-radius: 10px;
+ -webkit-border-bottom-right-radius: 10px;
+ -moz-border-radius-bottomright: 10px;
+ border-bottom-right-radius: 10px;
+ -webkit-border-bottom-left-radius: 10px;
+ -moz-border-radius-bottomleft: 10px;
+ border-bottom-left-radius: 10px;
}
.k-top-5corners {
- -webkit-border-top-right-radius: 5px;
- -moz-border-radius-topright: 5px;
- border-top-right-radius: 5px;
- -webkit-border-top-left-radius: 5px;
- -moz-border-radius-topleft: 5px;
- border-top-left-radius: 5px;
+ -webkit-border-top-right-radius: 5px;
+ -moz-border-radius-topright: 5px;
+ border-top-right-radius: 5px;
+ -webkit-border-top-left-radius: 5px;
+ -moz-border-radius-topleft: 5px;
+ border-top-left-radius: 5px;
}
.k-top-10corners {
- -webkit-border-top-right-radius: 10px;
- -moz-border-radius-topright: 10px;
- border-top-right-radius: 10px;
- -webkit-border-top-left-radius: 10px;
- -moz-border-radius-topleft: 10px;
- border-top-left-radius: 10px;
+ -webkit-border-top-right-radius: 10px;
+ -moz-border-radius-topright: 10px;
+ border-top-right-radius: 10px;
+ -webkit-border-top-left-radius: 10px;
+ -moz-border-radius-topleft: 10px;
+ border-top-left-radius: 10px;
}
.k-2corners {
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px;
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
}
.k-3corners {
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
}
.k-5corners {
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
}
.k-10corners {
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
- border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
}
.k-dialog-outerp {
- background-color: #552200;
- border-top: 4px solid #000;
- padding: 22px 4px 3px 4px;
+ background-color: #552200;
+ border-top: 4px solid #000;
+ padding: 22px 4px 3px 4px;
}
-.k-dialog-title span {
- color: #552200;
- font-size: 20px;
- font-weight: bold;
- margin: 0 0 0 6px;
+.k-dialog-title div {
+ color: #552200;
+ font-size: 20px;
+ font-weight: bold;
+ margin: 10px 0 10px 10px;
}
.k-dialog-innerp {
- background-color: #FFFFFF;
- border: solid 1px #F2F2F2;
- margin: 34px 16px 20px 16px;
+ background-color: #FFFFFF;
+ border: solid 1px #F2F2F2;
+ margin: 34px 16px 20px 16px;
}
.k-dialog-btn-area {
- padding: 0 15px 15px 15px;
- margin-bottom: 30px;
+ padding: 0 15px 15px 15px;
+ margin-bottom: 30px;
}
.k-dialog-btn-area div {
- margin: 10px
+ margin: 10px
}
-.k-dialog-innerp table {
- margin: 5px;
+.k-dialog-btn {
+ text-shadow: 1px 1px 1px #FFFFFF;
+ font-weight: bold;
+ -moz-user-select: none;
+ -khtml-user-select: none;
}
-.k-dialog-btn,.k-btn {
- text-shadow: 1px 1px 1px #FFFFFF;
- font-weight: bold;
- -moz-user-select: none;
- -khtml-user-select: none;
-}
-
.k-dialog-firstBtn {
- float: left;
+ float: left;
}
.k-dialog-secondBtn {
- float: right;
+ float: right;
}
.k-z100000 {
- z-index: 100000;
+ z-index: 100000;
}
.k-z10000 {
- z-index: 10000;
+ z-index: 10000;
}
.k-z1000 {
- z-index: 1000;
+ z-index: 1000;
}
.oc-user-msg {
- background-color: #FFCC00;
- padding: 3px;
+ background-color: #FFCC00;
+ padding: 3px;
}
.oc-user-msg-popup {
- padding: 0px;
- border: 0px;
+ padding: 0px;
+ border: 0px;
}
.oc-floatleft {
- float: left;
+ float: left;
}
.oc-floatright {
- float: right;
+ float: right;
}
.x-toolbar {
- background: none !important;
- border-color: transparent !important;
+ background: none !important;
+ border-color: transparent !important;
}
.oc-testico {
- background-image: url(images/ico.png) !important;
- -moz-background-clip: border;
- -moz-background-inline-policy: continuous;
- -moz-background-origin: padding;
- background-attachment: scroll;
- background-color: transparent;
- background-position: 0 0;
- background-repeat: no-repeat;
- height: 16px;
- widows: 16px;
+ background-image: url(images/ico.png) !important;
+ -moz-background-clip: border;
+ -moz-background-inline-policy: continuous;
+ -moz-background-origin: padding;
+ background-attachment: scroll;
+ background-color: transparent;
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ height: 16px;
+ widows: 16px;
}
.oc-tb-spacer {
- margin: 2px;
- width: 2px;
+ margin: 2px;
+ width: 2px;
}
.oc-tb-bottom-line {
- border-bottom-color: rgb(208, 208, 208);
- border-bottom-style: solid;
- border-bottom-width: 1px;
+ border-bottom-color: rgb(208, 208, 208);
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
}
.oc-blank-toolbar {
- background: #FFF none repeat scroll 0% 50%;
+ background: #FFF none repeat scroll 0% 50%;
}
.oc-tb-sep {
- padding-top: 4px;
- padding-left: 5px;
+ padding-top: 4px;
+ padding-left: 5px;
}
.oc-transp .x-panel-body {
- background: transparent;
+ background: transparent;
}
.oc-menu {
- cursor: default;
- -moz-user-select: none;
- -khtml-user-select: none;
- -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
- -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
- border: 1 px solid #BBBBBB;
- font: 16px 'Ubuntu', arial;
- /* font-weight: bold; */
- -webkit-border-bottom-right-radius: 5px;
- -moz-border-radius-bottomright: 5px;
- border-bottom-right-radius: 5px;
- -webkit-border-bottom-left-radius: 5px;
- -moz-border-radius-bottomleft: 5px;
- border-bottom-left-radius: 5px;
- background-color: #280b0b;
+ cursor: default;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ border: 1 px solid #BBBBBB;
+ font: 16px 'Ubuntu', arial;
+ /* font-weight: bold; */
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
+ background-color: #280b0b;
}
.gwt-PopupPanel .oc-menu {
- border: 2px solid #552200;
- background-color: #280b0b;
+ border: 2px solid #552200;
+ background-color: #280b0b;
}
.oc-menu .gwt-MenuBar-vertical,.gwt-MenuBar-vertical {
- background-color: #280b0b;
- border: 2px solid #552200;
- padding: 3px;
- font: 16px 'Ubuntu', arial;
- color: white;
- -webkit-border-top-right-radius: 5px;
- -moz-border-radius-topright: 5px;
- border-top-right-radius: 5px;
- -webkit-border-bottom-right-radius: 5px;
- -moz-border-radius-bottomright: 5px;
- border-bottom-right-radius: 5px;
- -webkit-border-bottom-left-radius: 5px;
- -moz-border-radius-bottomleft: 5px;
- border-bottom-left-radius: 5px;
- kfilter: alpha(opacity = 90);
- -moz-opacity: 0.90;
- -khtml-opacity: 0.90;
- opacity: 0.90;
+ background-color: #704f4f;
+ border: 2px solid #552200;
+ padding: 3px;
+ font: 16px 'Ubuntu', arial;
+ color: white;
+ -webkit-border-top-right-radius: 5px;
+ -moz-border-radius-topright: 5px;
+ border-top-right-radius: 5px;
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
+ kfilter: alpha(opacity = 90);
+ -moz-opacity: 0.90;
+ -khtml-opacity: 0.90;
+ opacity: 0.90;
}
.gwt-MenuBar .gwt-MenuItem-selected {
- background-color: #c87137 !important;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
+ background-color: #c87137 !important;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
}
.gwt-MenuBar .gwt-MenuItem {
- padding: 4px 4px 3px !important;
+ padding: 4px 4px 3px !important;
}
+.oc-noselect {
+ -moz-user-select: none;
+ -khtml-user-select: none;
+}
+
.oc-menu .gwt-MenuItem {
- cursor: pointer;
- -moz-user-select: none;
- -khtml-user-select: none;
- /* background-color: #c87137; */
- color: white;
+ cursor: pointer;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ /* background-color: #c87137; */
+ color: white;
}
.oc-button {
- padding: 2px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
- text-decoration: none;
- vertical-align: middle;
- background-color: #F2F2F2;
- white-space: nowrap;
+ padding: 2px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ text-decoration: none;
+ vertical-align: middle;
+ background-color: #F2F2F2;
+ white-space: nowrap;
+ margin-right: 3px;
}
.oc-button:hover {
- border: 2px orange solid;
- background: #f0f0f0;
- color: #855585;
+ border: 2px orange solid;
+ background: #f0f0f0;
+ color: #855585;
}
.oc-button:active {
- border-top-color: #ffffff;
- background: #ffffff;
+ border-top-color: #ffffff;
+ background: #ffffff;
}
#oc-mshortcut {
- position: absolute;
- right: 10px;
+ position: absolute;
+ right: 10px;
}
#oc-mshortcut-hidden {
- visibility: hidden;
+ visibility: hidden;
}
#oc-mshortcut a {
- text-decoration: none;
- color: black;
+ text-decoration: none;
+ color: black;
}
.oc-user-msg {
- background-color: #FFCC00;
- padding: 3px;
+ background-color: #FFCC00;
+ padding: 3px;
}
.oc-user-msg-popup {
- padding: 0px;
- border: 0px;
+ padding: 0px;
+ border: 0px;
}
.oc-floatleft {
- float: left;
+ float: left;
}
.oc-floatright {
- float: right;
+ float: right;
}
.x-toolbar {
- background: none !important;
- border-color: transparent !important;
+ background: none !important;
+ border-color: transparent !important;
}
.oc-testico {
- background-image: url(images/ico.png) !important;
- -moz-background-clip: border;
- -moz-background-inline-policy: continuous;
- -moz-background-origin: padding;
- background-attachment: scroll;
- background-color: transparent;
- background-position: 0 0;
- background-repeat: no-repeat;
- height: 16px;
- widows: 16px;
+ background-image: url(images/ico.png) !important;
+ -moz-background-clip: border;
+ -moz-background-inline-policy: continuous;
+ -moz-background-origin: padding;
+ background-attachment: scroll;
+ background-color: transparent;
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ height: 16px;
+ widows: 16px;
}
.oc-ico-pad { /* padding-right: 20px; */
- white-space: normal;
+ white-space: normal;
}
.oc-tb-spacer {
- margin: 2px;
- width: 2px;
+ margin: 2px;
+ width: 2px;
}
.oc-tb-bottom-line {
- border-bottom-color: rgb(208, 208, 208);
- border-bottom-style: solid;
- border-bottom-width: 1px;
+ border-bottom-color: rgb(208, 208, 208);
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
}
.oc-blank-toolbar {
- background: #FFF none repeat scroll 0% 50%;
+ background: #FFF none repeat scroll 0% 50%;
}
.oc-tb-sep {
- padding-top: 4px;
- padding-left: 5px;
+ padding-top: 4px;
+ padding-left: 5px;
}
.oc-transp .x-panel-body {
- background: transparent;
+ background: transparent;
}
#oc-mshortcut {
- position: absolute;
- right: 10px;
+ position: absolute;
+ right: 10px;
}
#oc-mshortcut-hidden {
- visibility: hidden;
+ visibility: hidden;
}
#oc-mshortcut a {
- text-decoration: none;
- color: black;
+ text-decoration: none;
+ color: black;
}
.k-no-backimage,.k-no-backimage td {
- background-image: none;
+ background-image: none;
}
.k-nobackcolor {
- background-color: transparent !important;
+ background-color: transparent !important;
}
.k-noborder {
- border: 0px !important;
+ border: 0px !important;
}
.k-space-nowrap {
- white-space: nowrap;
+ white-space: nowrap;
}
.k-iconlabel-text {
- vertical-align: top;
- padding-left: 3px;
- float: left;
+ vertical-align: top;
+ padding-left: 3px;
+ padding-right: 3px;
+ /* float: left; */
}
.k-menuimtem-title {
- color: white;
- font-size: 15px;
- font-weight: bold;
- padding: 2px 3px 2px 0;
+ color: white;
+ font-size: 15px;
+ font-weight: bold;
+ padding: 2px 3px 2px 0;
}
.k-tb-sep {
- border-left: 1px solid #B3B3B3;
- height: 10px;
- margin-top: 4px;
+ border-left: 1px solid #B3B3B3;
+ height: 10px;
+ margin-top: 4px;
}
.k-iconlabel-left {
- float: left;
+ float: left;
}
.k-iconlabel-right {
- float: left;
- /* margin-left: 5px; */
+ /* float: left; */
+ /* margin-left: 5px; */
}
.gwt-MenuBar-vertical .subMenuIcon-selected {
- background: none repeat scroll 0 0 #808080;
+ background: none repeat scroll 0 0 #808080;
}
.gwt-Button {
- background: url("images/hborder.png") repeat-x scroll 0 -27px
- transparent;
+ background: url("images/hborder.png") repeat-x scroll 0 -27px
+ transparent;
}
-/* tooltips */
+/* tooltips, adaptation of http://jonrohan.me/guide/css/creating-triangles-in-css/ */
.k-tooltip {
- background-color: #EDEDED;
- border: 2px solid #666666;
- line-height: 1.3em;
- /* margin: 10px auto; */
- padding: 5px;
- /* position: relative; */
-/* -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- -moz-box-shadow: 0 0 5px #888888;
- -webkit-box-shadow: 0 0 5px #888888; */
+ background-color: #FEFFF1;
+ border: 2px solid #666666;
+ line-height: 1.3em;
+ padding: 5px;
}
.k-tooltip-arrow-border {
- border-style: solid;
- border-width: 10px;
- height: 0;
- width: 0;
- position: absolute;
- /* bottom: -22px;
- left: 30px; */
+ border-style: solid;
+ border-width: 7px;
+ height: 0;
+ width: 0;
+ position: absolute;
}
.k-tooltip-arrow-border-n {
- border-color: transparent transparent #666666 transparent;
+ border-color: transparent transparent #666666 transparent;
}
.k-tooltip-arrow-border-s {
- border-color: #666666 transparent transparent transparent;
+ border-color: #666666 transparent transparent transparent;
}
.k-tooltip-arrow {
- border-style: solid;
- border-width: 10px;
- height: 0;
- width: 0;
- position: absolute;
- /* bottom: -19px;
- left: 30px; */
+ border-style: solid;
+ border-width: 7px;
+ height: 0;
+ width: 0;
+ position: absolute;
}
.k-tooltip-arrow-n {
- border-color: transparent transparent #EDEDED transparent;
+ border-color: transparent transparent #FEFFF1 transparent;
}
.k-tooltip-arrow-s {
- border-color: #EDEDED transparent transparent transparent;
+ border-color: #FEFFF1 transparent transparent transparent;
}
/* IE6 */
.k-tooltip-arrow {
- _border-left-color: pink;
- _border-bottom-color: pink;
- _border-right-color: pink;
- _filter: chroma(color = pink);
+ _border-left-color: pink;
+ _border-bottom-color: pink;
+ _border-right-color: pink;
+ _filter: chroma(color = pink);
}
-/* end tooltip */
\ No newline at end of file
+/* end tooltip */
+
+/* tabbar */
+
+.gwt-DecoratedTabBar {
+}
+.gwt-DecoratedTabBar .gwt-TabBarFirst {
+ width: 5px; /* first tab distance from the left */
+}
+.gwt-DecoratedTabBar .gwt-TabBarRest {
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem {
+ border-collapse: collapse;
+ margin-left: 6px;
+}
+.gwt-DecoratedTabBar .tabTopCenter {
+ padding: 0px;
+ background: #e3e3e3;
+}
+.gwt-DecoratedTabBar .tabTopLeft,
+.gwt-DecoratedTabBar .tabTopRight {
+ padding: 0px;
+ zoom: 1;
+}
+.gwt-DecoratedTabBar .tabTopLeftInner,
+.gwt-DecoratedTabBar .tabTopRightInner {
+ width: 6px;
+ height: 6px;
+}
+.gwt-DecoratedTabBar .tabTopLeft {
+ background: url(images/corner.png) no-repeat 0px -55px;
+ -background: url(images/corner_ie6.png) no-repeat 0px -55px;
+}
+.gwt-DecoratedTabBar .tabTopRight {
+ background: url(images/corner.png) no-repeat -6px -55px;
+ -background: url(images/corner_ie6.png) no-repeat -6px -55px;
+}
+* html .gwt-DecoratedTabBar .tabTopLeftInner,
+* html .gwt-DecoratedTabBar .tabTopRightInner {
+ width: 6px;
+ height: 6px;
+ overflow: hidden;
+}
+.gwt-DecoratedTabBar .tabMiddleLeft,
+.gwt-DecoratedTabBar .tabMiddleRight {
+ width: 6px;
+ padding: 0px;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+.gwt-DecoratedTabBar .tabMiddleLeftInner,
+.gwt-DecoratedTabBar .tabMiddleRightInner {
+ width: 1px;
+ height: 1px;
+}
+.gwt-DecoratedTabBar .tabMiddleCenter {
+ padding: 0px 4px 2px 4px;
+ cursor: pointer;
+ cursor: hand;
+ color: black;
+ font-weight: bold;
+ text-align: center;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopCenter {
+ background: #747474;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopLeft {
+ background-position: 0px -61px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRight {
+ background-position: -6px -61px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight {
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleCenter {
+ cursor: default;
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+ color: white;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-disabled .tabMiddleCenter {
+ cursor: default;
+ color: #999999;
+}
+
+/* End tabbar */
+
+.k-editableLabel {
+ font-weight: bold;
+ padding: 3px
+}
+
+.k-editableLabel-high {
+ font-weight: bold;
+ background-color: #FFFBC1;
+ color: black !important;
+}
+
+.k-editableLabel-high span {
+ background-color: #FFFBC1;
+ color: black !important;
+}
+
+.k-btn-min {
+ min-width: 19px !important;
+}
+
+.k-overflow-y-scroll {
+ overflow-y: scroll;
+}
+.k-overflow-y-auto {
+ overflow-y: auto;
+}
+.k-overflow-x-scroll {
+ overflow-x: scroll;
+}
+
+.k-tab-panel {
+ padding: 10px;
+ background-color: #F2F0F0;
+ border: 1px solid #D0D0D0;
+}
Modified: kune-sandbox/war/kune_sandbox/about.html
===================================================================
--- kune-sandbox/war/kune_sandbox/about.html 2011-05-05 16:19:38 UTC (rev 1347)
+++ kune-sandbox/war/kune_sandbox/about.html 2011-05-05 21:20:17 UTC (rev 1348)
@@ -13,7 +13,7 @@
</img>
</a>
</span>
-<p>Version 0.0.7 (r1274+c5)</p>
+<p>Version 0.0.7 (r1339+c18)</p>
<h1><a name="section_1">CREDITS</a></h1>
<h2><a name="section_1_1">Authors</a></h2>
Added: kune-sandbox/war/kune_sandbox/images/corner.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/corner.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/images/corner_ie6.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/corner_ie6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/images/ie6/corner_dialog_topleft.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/ie6/corner_dialog_topleft.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/images/ie6/corner_dialog_topright.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/ie6/corner_dialog_topright.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/images/ie6/hborder_blue_shadow.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/ie6/hborder_blue_shadow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/images/ie6/hborder_gray_shadow.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/ie6/hborder_gray_shadow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/images/ie6/vborder_blue_shadow.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/ie6/vborder_blue_shadow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/images/ie6/vborder_gray_shadow.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/ie6/vborder_gray_shadow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/images/vborder.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/vborder.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/images/vborder_ie6.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/images/vborder_ie6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: kune-sandbox/war/kune_sandbox/kune-common.css
===================================================================
--- kune-sandbox/war/kune_sandbox/kune-common.css 2011-05-05 16:19:38 UTC (rev 1347)
+++ kune-sandbox/war/kune_sandbox/kune-common.css 2011-05-05 21:20:17 UTC (rev 1348)
@@ -8,531 +8,646 @@
}
.k-floatleft,.k-fl {
- float: left;
+ float: left;
}
.k-floatright,.k-fr {
- float: right;
+ float: right;
}
.k-pointer {
- cursor: pointer;
- cursor: hand;
+ cursor: pointer;
+ cursor: hand;
}
.k-opacity80 {
- kfilter: alpha(opacity = 80);
- -moz-opacity: 0.80;
- -khtml-opacity: 0.80;
- opacity: 0.80;
+ kfilter: alpha(opacity = 80);
+ -moz-opacity: 0.80;
+ -khtml-opacity: 0.80;
+ opacity: 0.80;
}
.k-opacity90 {
- kfilter: alpha(opacity = 90);
- -moz-opacity: 0.90;
- -khtml-opacity: 0.90;
- opacity: 0.90;
+ kfilter: alpha(opacity = 90);
+ -moz-opacity: 0.90;
+ -khtml-opacity: 0.90;
+ opacity: 0.90;
}
.k-opacity95 {
- kfilter: alpha(opacity = 95);
- -moz-opacity: 0.95;
- -khtml-opacity: 0.95;
- opacity: 0.95;
+ kfilter: alpha(opacity = 95);
+ -moz-opacity: 0.95;
+ -khtml-opacity: 0.95;
+ opacity: 0.95;
}
.gwt-PopupPanelGlass {
- background-color: #f7ebe3 !important;
- kfilter: alpha(opacity = 68)
- !important;
- -moz-opacity: 0.68 !important;
- -khtml-opacity: 0.68 !important;
- opacity: 0.68 !important;
+ background-color: #f7ebe3 !important;
+ kfilter: alpha(opacity = 68)
+ !important;
+ -moz-opacity: 0.68 !important;
+ -khtml-opacity: 0.68 !important;
+ opacity: 0.68 !important;
}
.k-box-3shadow {
- -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
- -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
- box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
+ -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
+ box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
}
.k-box-5shadow {
- -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
- -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
- box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
+ -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}
.k-box-10shadow {
- -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
- -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
- box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
.k-bottom-5corners {
- -webkit-border-bottom-right-radius: 5px;
- -moz-border-radius-bottomright: 5px;
- border-bottom-right-radius: 5px;
- -webkit-border-bottom-left-radius: 5px;
- -moz-border-radius-bottomleft: 5px;
- border-bottom-left-radius: 5px;
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
}
.k-bottom-10corners {
- -webkit-border-bottom-right-radius: 10px;
- -moz-border-radius-bottomright: 10px;
- border-bottom-right-radius: 10px;
- -webkit-border-bottom-left-radius: 10px;
- -moz-border-radius-bottomleft: 10px;
- border-bottom-left-radius: 10px;
+ -webkit-border-bottom-right-radius: 10px;
+ -moz-border-radius-bottomright: 10px;
+ border-bottom-right-radius: 10px;
+ -webkit-border-bottom-left-radius: 10px;
+ -moz-border-radius-bottomleft: 10px;
+ border-bottom-left-radius: 10px;
}
.k-top-5corners {
- -webkit-border-top-right-radius: 5px;
- -moz-border-radius-topright: 5px;
- border-top-right-radius: 5px;
- -webkit-border-top-left-radius: 5px;
- -moz-border-radius-topleft: 5px;
- border-top-left-radius: 5px;
+ -webkit-border-top-right-radius: 5px;
+ -moz-border-radius-topright: 5px;
+ border-top-right-radius: 5px;
+ -webkit-border-top-left-radius: 5px;
+ -moz-border-radius-topleft: 5px;
+ border-top-left-radius: 5px;
}
.k-top-10corners {
- -webkit-border-top-right-radius: 10px;
- -moz-border-radius-topright: 10px;
- border-top-right-radius: 10px;
- -webkit-border-top-left-radius: 10px;
- -moz-border-radius-topleft: 10px;
- border-top-left-radius: 10px;
+ -webkit-border-top-right-radius: 10px;
+ -moz-border-radius-topright: 10px;
+ border-top-right-radius: 10px;
+ -webkit-border-top-left-radius: 10px;
+ -moz-border-radius-topleft: 10px;
+ border-top-left-radius: 10px;
}
.k-2corners {
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px;
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
}
.k-3corners {
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
}
.k-5corners {
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
}
.k-10corners {
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
- border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
}
.k-dialog-outerp {
- background-color: #552200;
- border-top: 4px solid #000;
- padding: 22px 4px 3px 4px;
+ background-color: #552200;
+ border-top: 4px solid #000;
+ padding: 22px 4px 3px 4px;
}
-.k-dialog-title span {
- color: #552200;
- font-size: 20px;
- font-weight: bold;
- margin: 0 0 0 6px;
+.k-dialog-title div {
+ color: #552200;
+ font-size: 20px;
+ font-weight: bold;
+ margin: 10px 0 10px 10px;
}
.k-dialog-innerp {
- background-color: #FFFFFF;
- border: solid 1px #F2F2F2;
- margin: 34px 16px 20px 16px;
+ background-color: #FFFFFF;
+ border: solid 1px #F2F2F2;
+ margin: 34px 16px 20px 16px;
}
.k-dialog-btn-area {
- padding: 0 15px 15px 15px;
- margin-bottom: 30px;
+ padding: 0 15px 15px 15px;
+ margin-bottom: 30px;
}
.k-dialog-btn-area div {
- margin: 10px
+ margin: 10px
}
-.k-dialog-innerp table {
- margin: 5px;
+.k-dialog-btn {
+ text-shadow: 1px 1px 1px #FFFFFF;
+ font-weight: bold;
+ -moz-user-select: none;
+ -khtml-user-select: none;
}
-.k-dialog-btn,.k-btn {
- text-shadow: 1px 1px 1px #FFFFFF;
- font-weight: bold;
- -moz-user-select: none;
- -khtml-user-select: none;
-}
-
.k-dialog-firstBtn {
- float: left;
+ float: left;
}
.k-dialog-secondBtn {
- float: right;
+ float: right;
}
.k-z100000 {
- z-index: 100000;
+ z-index: 100000;
}
.k-z10000 {
- z-index: 10000;
+ z-index: 10000;
}
.k-z1000 {
- z-index: 1000;
+ z-index: 1000;
}
.oc-user-msg {
- background-color: #FFCC00;
- padding: 3px;
+ background-color: #FFCC00;
+ padding: 3px;
}
.oc-user-msg-popup {
- padding: 0px;
- border: 0px;
+ padding: 0px;
+ border: 0px;
}
.oc-floatleft {
- float: left;
+ float: left;
}
.oc-floatright {
- float: right;
+ float: right;
}
.x-toolbar {
- background: none !important;
- border-color: transparent !important;
+ background: none !important;
+ border-color: transparent !important;
}
.oc-testico {
- background-image: url(images/ico.png) !important;
- -moz-background-clip: border;
- -moz-background-inline-policy: continuous;
- -moz-background-origin: padding;
- background-attachment: scroll;
- background-color: transparent;
- background-position: 0 0;
- background-repeat: no-repeat;
- height: 16px;
- widows: 16px;
+ background-image: url(images/ico.png) !important;
+ -moz-background-clip: border;
+ -moz-background-inline-policy: continuous;
+ -moz-background-origin: padding;
+ background-attachment: scroll;
+ background-color: transparent;
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ height: 16px;
+ widows: 16px;
}
.oc-tb-spacer {
- margin: 2px;
- width: 2px;
+ margin: 2px;
+ width: 2px;
}
.oc-tb-bottom-line {
- border-bottom-color: rgb(208, 208, 208);
- border-bottom-style: solid;
- border-bottom-width: 1px;
+ border-bottom-color: rgb(208, 208, 208);
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
}
.oc-blank-toolbar {
- background: #FFF none repeat scroll 0% 50%;
+ background: #FFF none repeat scroll 0% 50%;
}
.oc-tb-sep {
- padding-top: 4px;
- padding-left: 5px;
+ padding-top: 4px;
+ padding-left: 5px;
}
.oc-transp .x-panel-body {
- background: transparent;
+ background: transparent;
}
.oc-menu {
- cursor: default;
- -moz-user-select: none;
- -khtml-user-select: none;
- -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
- -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
- border: 1 px solid #BBBBBB;
- font: 16px 'Ubuntu', arial;
- /* font-weight: bold; */
- -webkit-border-bottom-right-radius: 5px;
- -moz-border-radius-bottomright: 5px;
- border-bottom-right-radius: 5px;
- -webkit-border-bottom-left-radius: 5px;
- -moz-border-radius-bottomleft: 5px;
- border-bottom-left-radius: 5px;
- background-color: #280b0b;
+ cursor: default;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
+ border: 1 px solid #BBBBBB;
+ font: 16px 'Ubuntu', arial;
+ /* font-weight: bold; */
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
+ background-color: #280b0b;
}
.gwt-PopupPanel .oc-menu {
- border: 2px solid #552200;
- background-color: #280b0b;
+ border: 2px solid #552200;
+ background-color: #280b0b;
}
.oc-menu .gwt-MenuBar-vertical,.gwt-MenuBar-vertical {
- background-color: #280b0b;
- border: 2px solid #552200;
- padding: 3px;
- font: 16px 'Ubuntu', arial;
- color: white;
- -webkit-border-top-right-radius: 5px;
- -moz-border-radius-topright: 5px;
- border-top-right-radius: 5px;
- -webkit-border-bottom-right-radius: 5px;
- -moz-border-radius-bottomright: 5px;
- border-bottom-right-radius: 5px;
- -webkit-border-bottom-left-radius: 5px;
- -moz-border-radius-bottomleft: 5px;
- border-bottom-left-radius: 5px;
- kfilter: alpha(opacity = 90);
- -moz-opacity: 0.90;
- -khtml-opacity: 0.90;
- opacity: 0.90;
+ background-color: #704f4f;
+ border: 2px solid #552200;
+ padding: 3px;
+ font: 16px 'Ubuntu', arial;
+ color: white;
+ -webkit-border-top-right-radius: 5px;
+ -moz-border-radius-topright: 5px;
+ border-top-right-radius: 5px;
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
+ kfilter: alpha(opacity = 90);
+ -moz-opacity: 0.90;
+ -khtml-opacity: 0.90;
+ opacity: 0.90;
}
.gwt-MenuBar .gwt-MenuItem-selected {
- background-color: #c87137 !important;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
+ background-color: #c87137 !important;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
}
.gwt-MenuBar .gwt-MenuItem {
- padding: 4px 4px 3px !important;
+ padding: 4px 4px 3px !important;
}
+.oc-noselect {
+ -moz-user-select: none;
+ -khtml-user-select: none;
+}
+
.oc-menu .gwt-MenuItem {
- cursor: pointer;
- -moz-user-select: none;
- -khtml-user-select: none;
- /* background-color: #c87137; */
- color: white;
+ cursor: pointer;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ /* background-color: #c87137; */
+ color: white;
}
.oc-button {
- padding: 2px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
- text-decoration: none;
- vertical-align: middle;
- background-color: #F2F2F2;
- white-space: nowrap;
+ padding: 2px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ text-decoration: none;
+ vertical-align: middle;
+ background-color: #F2F2F2;
+ white-space: nowrap;
+ margin-right: 3px;
}
.oc-button:hover {
- border: 2px orange solid;
- background: #f0f0f0;
- color: #855585;
+ border: 2px orange solid;
+ background: #f0f0f0;
+ color: #855585;
}
.oc-button:active {
- border-top-color: #ffffff;
- background: #ffffff;
+ border-top-color: #ffffff;
+ background: #ffffff;
}
#oc-mshortcut {
- position: absolute;
- right: 10px;
+ position: absolute;
+ right: 10px;
}
#oc-mshortcut-hidden {
- visibility: hidden;
+ visibility: hidden;
}
#oc-mshortcut a {
- text-decoration: none;
- color: black;
+ text-decoration: none;
+ color: black;
}
.oc-user-msg {
- background-color: #FFCC00;
- padding: 3px;
+ background-color: #FFCC00;
+ padding: 3px;
}
.oc-user-msg-popup {
- padding: 0px;
- border: 0px;
+ padding: 0px;
+ border: 0px;
}
.oc-floatleft {
- float: left;
+ float: left;
}
.oc-floatright {
- float: right;
+ float: right;
}
.x-toolbar {
- background: none !important;
- border-color: transparent !important;
+ background: none !important;
+ border-color: transparent !important;
}
.oc-testico {
- background-image: url(images/ico.png) !important;
- -moz-background-clip: border;
- -moz-background-inline-policy: continuous;
- -moz-background-origin: padding;
- background-attachment: scroll;
- background-color: transparent;
- background-position: 0 0;
- background-repeat: no-repeat;
- height: 16px;
- widows: 16px;
+ background-image: url(images/ico.png) !important;
+ -moz-background-clip: border;
+ -moz-background-inline-policy: continuous;
+ -moz-background-origin: padding;
+ background-attachment: scroll;
+ background-color: transparent;
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ height: 16px;
+ widows: 16px;
}
.oc-ico-pad { /* padding-right: 20px; */
- white-space: normal;
+ white-space: normal;
}
.oc-tb-spacer {
- margin: 2px;
- width: 2px;
+ margin: 2px;
+ width: 2px;
}
.oc-tb-bottom-line {
- border-bottom-color: rgb(208, 208, 208);
- border-bottom-style: solid;
- border-bottom-width: 1px;
+ border-bottom-color: rgb(208, 208, 208);
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
}
.oc-blank-toolbar {
- background: #FFF none repeat scroll 0% 50%;
+ background: #FFF none repeat scroll 0% 50%;
}
.oc-tb-sep {
- padding-top: 4px;
- padding-left: 5px;
+ padding-top: 4px;
+ padding-left: 5px;
}
.oc-transp .x-panel-body {
- background: transparent;
+ background: transparent;
}
#oc-mshortcut {
- position: absolute;
- right: 10px;
+ position: absolute;
+ right: 10px;
}
#oc-mshortcut-hidden {
- visibility: hidden;
+ visibility: hidden;
}
#oc-mshortcut a {
- text-decoration: none;
- color: black;
+ text-decoration: none;
+ color: black;
}
.k-no-backimage,.k-no-backimage td {
- background-image: none;
+ background-image: none;
}
.k-nobackcolor {
- background-color: transparent !important;
+ background-color: transparent !important;
}
.k-noborder {
- border: 0px !important;
+ border: 0px !important;
}
.k-space-nowrap {
- white-space: nowrap;
+ white-space: nowrap;
}
.k-iconlabel-text {
- vertical-align: top;
- padding-left: 3px;
- float: left;
+ vertical-align: top;
+ padding-left: 3px;
+ padding-right: 3px;
+ /* float: left; */
}
.k-menuimtem-title {
- color: white;
- font-size: 15px;
- font-weight: bold;
- padding: 2px 3px 2px 0;
+ color: white;
+ font-size: 15px;
+ font-weight: bold;
+ padding: 2px 3px 2px 0;
}
.k-tb-sep {
- border-left: 1px solid #B3B3B3;
- height: 10px;
- margin-top: 4px;
+ border-left: 1px solid #B3B3B3;
+ height: 10px;
+ margin-top: 4px;
}
.k-iconlabel-left {
- float: left;
+ float: left;
}
.k-iconlabel-right {
- float: left;
- /* margin-left: 5px; */
+ /* float: left; */
+ /* margin-left: 5px; */
}
.gwt-MenuBar-vertical .subMenuIcon-selected {
- background: none repeat scroll 0 0 #808080;
+ background: none repeat scroll 0 0 #808080;
}
.gwt-Button {
- background: url("images/hborder.png") repeat-x scroll 0 -27px
- transparent;
+ background: url("images/hborder.png") repeat-x scroll 0 -27px
+ transparent;
}
-/* tooltips */
+/* tooltips, adaptation of http://jonrohan.me/guide/css/creating-triangles-in-css/ */
.k-tooltip {
- background-color: #EDEDED;
- border: 2px solid #666666;
- line-height: 1.3em;
- /* margin: 10px auto; */
- padding: 5px;
- /* position: relative; */
-/* -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- -moz-box-shadow: 0 0 5px #888888;
- -webkit-box-shadow: 0 0 5px #888888; */
+ background-color: #FEFFF1;
+ border: 2px solid #666666;
+ line-height: 1.3em;
+ padding: 5px;
}
.k-tooltip-arrow-border {
- border-style: solid;
- border-width: 10px;
- height: 0;
- width: 0;
- position: absolute;
- /* bottom: -22px;
- left: 30px; */
+ border-style: solid;
+ border-width: 7px;
+ height: 0;
+ width: 0;
+ position: absolute;
}
.k-tooltip-arrow-border-n {
- border-color: transparent transparent #666666 transparent;
+ border-color: transparent transparent #666666 transparent;
}
.k-tooltip-arrow-border-s {
- border-color: #666666 transparent transparent transparent;
+ border-color: #666666 transparent transparent transparent;
}
.k-tooltip-arrow {
- border-style: solid;
- border-width: 10px;
- height: 0;
- width: 0;
- position: absolute;
- /* bottom: -19px;
- left: 30px; */
+ border-style: solid;
+ border-width: 7px;
+ height: 0;
+ width: 0;
+ position: absolute;
}
.k-tooltip-arrow-n {
- border-color: transparent transparent #EDEDED transparent;
+ border-color: transparent transparent #FEFFF1 transparent;
}
.k-tooltip-arrow-s {
- border-color: #EDEDED transparent transparent transparent;
+ border-color: #FEFFF1 transparent transparent transparent;
}
/* IE6 */
.k-tooltip-arrow {
- _border-left-color: pink;
- _border-bottom-color: pink;
- _border-right-color: pink;
- _filter: chroma(color = pink);
+ _border-left-color: pink;
+ _border-bottom-color: pink;
+ _border-right-color: pink;
+ _filter: chroma(color = pink);
}
-/* end tooltip */
\ No newline at end of file
+/* end tooltip */
+
+/* tabbar */
+
+.gwt-DecoratedTabBar {
+}
+.gwt-DecoratedTabBar .gwt-TabBarFirst {
+ width: 5px; /* first tab distance from the left */
+}
+.gwt-DecoratedTabBar .gwt-TabBarRest {
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem {
+ border-collapse: collapse;
+ margin-left: 6px;
+}
+.gwt-DecoratedTabBar .tabTopCenter {
+ padding: 0px;
+ background: #e3e3e3;
+}
+.gwt-DecoratedTabBar .tabTopLeft,
+.gwt-DecoratedTabBar .tabTopRight {
+ padding: 0px;
+ zoom: 1;
+}
+.gwt-DecoratedTabBar .tabTopLeftInner,
+.gwt-DecoratedTabBar .tabTopRightInner {
+ width: 6px;
+ height: 6px;
+}
+.gwt-DecoratedTabBar .tabTopLeft {
+ background: url(images/corner.png) no-repeat 0px -55px;
+ -background: url(images/corner_ie6.png) no-repeat 0px -55px;
+}
+.gwt-DecoratedTabBar .tabTopRight {
+ background: url(images/corner.png) no-repeat -6px -55px;
+ -background: url(images/corner_ie6.png) no-repeat -6px -55px;
+}
+* html .gwt-DecoratedTabBar .tabTopLeftInner,
+* html .gwt-DecoratedTabBar .tabTopRightInner {
+ width: 6px;
+ height: 6px;
+ overflow: hidden;
+}
+.gwt-DecoratedTabBar .tabMiddleLeft,
+.gwt-DecoratedTabBar .tabMiddleRight {
+ width: 6px;
+ padding: 0px;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+.gwt-DecoratedTabBar .tabMiddleLeftInner,
+.gwt-DecoratedTabBar .tabMiddleRightInner {
+ width: 1px;
+ height: 1px;
+}
+.gwt-DecoratedTabBar .tabMiddleCenter {
+ padding: 0px 4px 2px 4px;
+ cursor: pointer;
+ cursor: hand;
+ color: black;
+ font-weight: bold;
+ text-align: center;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopCenter {
+ background: #747474;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopLeft {
+ background-position: 0px -61px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRight {
+ background-position: -6px -61px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight {
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleCenter {
+ cursor: default;
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+ color: white;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-disabled .tabMiddleCenter {
+ cursor: default;
+ color: #999999;
+}
+
+/* End tabbar */
+
+.k-editableLabel {
+ font-weight: bold;
+ padding: 3px
+}
+
+.k-editableLabel-high {
+ font-weight: bold;
+ background-color: #FFFBC1;
+ color: black !important;
+}
+
+.k-editableLabel-high span {
+ background-color: #FFFBC1;
+ color: black !important;
+}
+
+.k-btn-min {
+ min-width: 19px !important;
+}
+
+.k-overflow-y-scroll {
+ overflow-y: scroll;
+}
+.k-overflow-y-auto {
+ overflow-y: auto;
+}
+.k-overflow-x-scroll {
+ overflow-x: scroll;
+}
+
+.k-tab-panel {
+ padding: 10px;
+ background-color: #F2F0F0;
+ border: 1px solid #D0D0D0;
+}
Added: kune-sandbox/war/kune_sandbox/styles/styl1.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/styles/styl1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/styles/styl2.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/styles/styl2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/styles/styl3.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/styles/styl3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/styles/styl4.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/styles/styl4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/styles/styl5.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/styles/styl5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: kune-sandbox/war/kune_sandbox/styles/styl6.png
===================================================================
(Binary files differ)
Property changes on: kune-sandbox/war/kune_sandbox/styles/styl6.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: kune-sandbox/war/kune_sandbox/ws.css
===================================================================
--- kune-sandbox/war/kune_sandbox/ws.css 2011-05-05 16:19:38 UTC (rev 1347)
+++ kune-sandbox/war/kune_sandbox/ws.css 2011-05-05 21:20:17 UTC (rev 1348)
@@ -1,22 +1,24 @@
-@CHARSET "UTF-8";
-
-body {
- background-color: white;
- color: black;
- font-family: 'Ubuntu', Arial;
- font-size: small;
- margin: 5px;
- overflow: hidden;
+CHARSET "UTF-8 "; body {
+ background-color: white;
+ color: black;
+ font-family: 'Ubuntu', Arial;
+ font-size: small;
+ margin: 5px;
+ overflow: hidden;
}
* {
- font-family: 'Ubuntu', Arial;
+ font-family: 'Ubuntu', Arial;
}
body.fontface {
- font: 'Ubuntu', Arial;
+ font: 'Ubuntu', Arial;
}
+div,span {
+ outline: 0 none;
+}
+
/*
a {
color: darkblue;
@@ -27,32 +29,32 @@
}
*/
.gwt-DialogBox {
- border: 2px solid #AAAAAA;
- background-color: white;
+ border: 2px solid #AAAAAA;
+ background-color: white;
}
.gwt-DialogBox .Caption {
- background-image: url(gray_gradient.gif);
- background-repeat: repeat-x;
- padding: 4px;
- padding-bottom: 8px;
- font-weight: bold;
- cursor: default;
+ background-image: url(gray_gradient.gif);
+ background-repeat: repeat-x;
+ padding: 4px;
+ padding-bottom: 8px;
+ font-weight: bold;
+ cursor: default;
}
.gwt-MenuBar {
- background-color: #C3D9FF;
- cursor: default;
+ background-color: #C3D9FF;
+ cursor: default;
}
.gwt-MenuItem {
- font-size: 14px;
- margin: 1px;
- cursor: default;
+ font-size: 14px;
+ margin: 1px;
+ cursor: default;
}
.gwt-MenuItem-selected {
- background-color: #E8EEF7;
+ background-color: #E8EEF7;
}
.gwt-Tree {
@@ -60,267 +62,208 @@
}
.gwt-Tree .gwt-TreeItem {
- font-size: 14px;
- cursor: default;
+ font-size: 14px;
+ cursor: default;
}
.gwt-Tree .gwt-TreeItem-selected {
- background-color: #C3D9FF;
+ background-color: #C3D9FF;
}
.gwt-StackPanel {
- background-color: white;
- border: 1px solid #AAAAAA;
- width: 15em;
+ background-color: white;
+ border: 1px solid #AAAAAA;
+ width: 15em;
}
.gwt-StackPanel .gwt-StackPanelItem {
- background-image: url(blue_gradient.gif);
- background-repeat: repeat-x;
- background-color: #EEEEEE;
- cursor: pointer;
- cursor: hand;
+ background-image: url(blue_gradient.gif);
+ background-repeat: repeat-x;
+ background-color: #EEEEEE;
+ cursor: pointer;
+ cursor: hand;
}
.gwt-StackPanel .gwt-StackPanelItem-selected {
}
-.gwt-TabPanel {
-
-}
-
-.gwt-TabPanelBottom {
- border-left: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- border-bottom: 1px solid #87b3ff;
-}
-
-.gwt-TabBar {
- font-size: smaller;
-}
-
-.gwt-TabBar .gwt-TabBarFirst {
- height: 100%;
- border-bottom: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- padding-left: 3px;
-}
-
-.gwt-TabBar .gwt-TabBarRest {
- border-bottom: 1px solid #87b3ff;
- padding-right: 3px;
-}
-
-.gwt-TabBar .gwt-TabBarItem {
- border-top: 1px solid #87b3ff;
- border-bottom: 1px solid #87b3ff;
- padding: 2px;
- cursor: hand;
- white-space: nowrap;
- border-right: 1px solid #87b3ff;
-}
-
-.gwt-TabBar .gwt-TabBarItem-selected {
- font-weight: bold;
- background-color: #e8eef7;
- border-top: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- border-bottom: 1px solid #e8eef7;
- padding: 2px;
- cursor: default;
- white-space: nowrap;
-}
-
.gwt-PushButton-up {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-PushButton-up-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-PushButton-down {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-PushButton-down-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-ToggleButton-up {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-ToggleButton-up-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-ToggleButton-down {
- background-color: #C3D9FF;
- padding: 2px;
- background-color: #E8F1FF;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ background-color: #E8F1FF;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-ToggleButton-down-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- background-color: #E8F1FF;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ background-color: #E8F1FF;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-RichTextArea {
- border: 1px solid black;
- background-color: white;
+ border: 1px solid black;
+ background-color: white;
}
.gwt-RichTextToolbar {
- background-color: #C3D9FF;
- padding: 2px;
+ background-color: #C3D9FF;
+ padding: 2px;
}
.gwt-RichTextToolbar .gwt-PushButton-up {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
}
.gwt-RichTextToolbar .gwt-PushButton-up-hovering {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
}
.gwt-RichTextToolbar .gwt-PushButton-down {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
}
.gwt-RichTextToolbar .gwt-PushButton-down-hovering {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
}
.gwt-RichTextToolbar .gwt-ToggleButton-up {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
}
.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
}
.gwt-RichTextToolbar .gwt-ToggleButton-down {
- margin-right: 2px;
- background-color: #E8F1FF;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
+ margin-right: 2px;
+ background-color: #E8F1FF;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
}
.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering {
- margin-right: 2px;
- background-color: #E8F1FF;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
+ margin-right: 2px;
+ background-color: #E8F1FF;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
}
.gwt-HorizontalSplitPanel {
- border: 8px solid #C3D9FF;
+ border: 8px solid #C3D9FF;
}
.gwt-HorizontalSplitPanel .splitter {
- background-color: #C3D9FF;
- cursor: move;
+ background-color: #C3D9FF;
+ cursor: move;
}
.gwt-HorizontalSplitPanel .left {
- background-color: #E8EEF7;
+ background-color: #E8EEF7;
}
.gwt-VerticalSplitPanel {
- border: 8px solid #C3D9FF;
+ border: 8px solid #C3D9FF;
}
.gwt-VerticalSplitPanel .splitter {
- background-color: #C3D9FF;
- height: 8px;
- cursor: move;
+ background-color: #C3D9FF;
+ height: 8px;
+ cursor: move;
}
-.gwt-SuggestBoxPopup {
- border: 2px solid #C3D9FF;
-}
-
-.gwt-SuggestBoxPopup .item {
- padding: 2px;
-}
-
-.gwt-SuggestBoxPopup .item-selected {
- background-color: #C3D9FF;
- padding: 2px;
-}
-
.gwt-DisclosurePanel {
- border: 2px solid #C3D9FF;
+ border: 2px solid #C3D9FF;
}
.gwt-DisclosurePanel .header {
- background-color: #e8eef7;
- cursor: hand;
+ background-color: #e8eef7;
+ cursor: hand;
}
.gwt-SplitLayoutPanel {
@@ -328,78 +271,93 @@
}
.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger {
- background-color: transparent;
- background: url("images/spliter-top.png") no-repeat scroll center bottom
- transparent;
- cursor: col-resize;
+ background-color: transparent;
+ background: url("images/spliter-top.png") no-repeat scroll center bottom
+ transparent;
+ cursor: col-resize;
}
.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger {
- background-color: white;
- background: none;
- cursor: row-resize;
+ background-color: white;
+ background: none;
+ cursor: row-resize;
}
.kLoadingPanel {
- background-color: #FF9999;
- -webkit-border-bottom-left-radius: 4px;
- -moz-border-radius-bottomleft: 4px;
- border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- -moz-border-radius-bottomright: 4px;
- border-bottom-right-radius: 4px;
- padding: 0 1px 0 3px;
- border-collapse: separate;
- border-spacing: 2px;
+ background-color: #FF9999;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+ padding: 0 1px 0 3px;
+ border-collapse: separate;
+ border-spacing: 2px;
}
.kLoadingLabel {
- font-size: 14px;
- color: white;
- font-weight: bold;
- padding: 0 5px 0 5px;
+ font-size: 14px;
+ color: white;
+ font-weight: bold;
+ padding: 0 5px 0 5px;
}
+.k-space-tooltip {
+ border-collapse: separate;
+ border-spacing: 5px;
+ vertical-align: middle;
+ line-height: 1.1em;
+}
+
.k-space-sel {
- margin-right: 10px;
- background-color: #F2F2F2;
+ margin-right: 10px;
+ background-color: #F2F2F2;
}
.k-space-sel-btn {
- padding: 0 1px 0 1px;
- margin: 0 0 -2px;
+ padding: 0 1px 0 1px;
+ margin: 0 0 -2px;
+ outline: 0 none;
}
.k-sitebar-logo {
- margin-top: 2px;
+ margin-top: 2px;
}
.x-btn button,button { /* font: 18px/27px 'Ubuntu', arial; */
}
-.k-btn-sitebar span,.k-btn-sitebar button span,.k-sitebar button span {
- text-decoration: underline;
+.x-panel-mc {
+ font: inherit;
}
-.k-btn-sitebar,.k-btn-sitebar button,.k-sitebar button {
- font: 13px 'Ubuntu', arial;
- color: #B3B3B3;
- cursor: pointer;
- white-space: nowrap;
- background: none;
- border: 0px;
- padding: 0 3px 0 0 !important;
+k-btn-sitebar button spin,.k-sitebar button spin,.k-btn-sitebar div,.k-btn-sitebar span,.k-btn-sitebar button span,.k-sitebar button span
+ {
+ text-decoration: underline;
}
+.k-btn-sitebar,.k-btn-sitebar button,.k-sitebar button,.k-btn-sitebar div,.k-btn-sitebar button div,.k-sitebar button div
+ {
+ font: 13px 'Ubuntu', arial;
+ color: #B3B3B3;
+ cursor: pointer;
+ white-space: nowrap;
+ background: none;
+ border: 0px;
+ padding: 0 3px 0 0 !important;
+ height: 17px !important;
+}
+
.k-sitebar-wave-status {
- font: 13px 'Ubuntu', arial;
- /* font-weight: bold; */
- color: #B3B3B3;
- white-space: nowrap;
- background: none;
- border: 0px;
- padding: 1px 7px 0 0 !important;
+ font: 13px 'Ubuntu', arial;
+ /* font-weight: bold; */
+ color: #B3B3B3;
+ white-space: nowrap;
+ background: none;
+ border: 0px;
+ padding: 1px 7px 0 0 !important;
}
.k-sitebar-wave-status {
@@ -407,20 +365,20 @@
}
.k-sitebar-wave-status-online {
- color: green;
+ color: green;
}
.k-sitebar-wave-status-offline {
- color: red;
+ color: red;
}
.k-sitebar button:hover {
- border: 0px;
- background: none;
+ border: 0px;
+ background: none;
}
.k-btn-sitebar button {
- margin-top: -5px;
+ margin-top: -5px;
}
.k-sitebar { /* margin-top: -30px; */
@@ -428,247 +386,247 @@
}
.k-link {
- text-decoration: underline;
- color: green;
- cursor: pointer;
+ text-decoration: underline;
+ color: green;
+ cursor: pointer;
}
/* Margins */
.kune-Margin-40-trbl {
- margin: 40px;
+ margin: 40px;
}
.kune-Margin-40-lr {
- margin-left: 40px;
- margin-right: 40px;
+ margin-left: 40px;
+ margin-right: 40px;
}
.kune-Margin-40-tl {
- margin-top: 40px;
- margin-left: 40px;
+ margin-top: 40px;
+ margin-left: 40px;
}
.kune-Margin-40-tb {
- margin-top: 40px;
- margin-bottom: 40px;
+ margin-top: 40px;
+ margin-bottom: 40px;
}
.kune-Margin-40-t {
- margin-top: 40px;
+ margin-top: 40px;
}
.kune-Margin-40-r {
- margin-right: 40px;
+ margin-right: 40px;
}
.kune-Margin-40-l {
- margin-left: 40px;
+ margin-left: 40px;
}
.kune-Margin-20-trbl {
- margin: 20px;
+ margin: 20px;
}
.kune-Margin-20-lr {
- margin-left: 20px;
- margin-right: 20px;
+ margin-left: 20px;
+ margin-right: 20px;
}
.kune-Margin-20-tl {
- margin-top: 20px;
- margin-left: 20px;
+ margin-top: 20px;
+ margin-left: 20px;
}
.kune-Margin-20-tb {
- margin-top: 20px;
- margin-bottom: 20px;
+ margin-top: 20px;
+ margin-bottom: 20px;
}
.kune-Margin-20-t {
- margin-top: 20px;
+ margin-top: 20px;
}
.kune-Margin-20-r {
- margin-right: 20px;
+ margin-right: 20px;
}
.kune-Margin-20-l {
- margin-left: 20px;
+ margin-left: 20px;
}
.kune-Margin-Large-trbl {
- margin: 10px;
+ margin: 10px;
}
.kune-Margin-Large-lr {
- margin-left: 10px;
- margin-right: 10px;
+ margin-left: 10px;
+ margin-right: 10px;
}
.kune-Margin-Large-tl {
- margin-top: 10px;
- margin-left: 10px;
+ margin-top: 10px;
+ margin-left: 10px;
}
.kune-Margin-Large-tb {
- margin-top: 10px;
- margin-bottom: 10px;
+ margin-top: 10px;
+ margin-bottom: 10px;
}
.kune-Margin-Large-t {
- margin-top: 10px;
+ margin-top: 10px;
}
.kune-Margin-Large-r {
- margin-right: 10px;
+ margin-right: 10px;
}
.kune-Margin-Large-l {
- margin-left: 10px;
+ margin-left: 10px;
}
.kune-Margin-7-trbl {
- margin: 7px;
+ margin: 7px;
}
.kune-Margin-7-lr {
- margin-left: 7px;
- margin-right: 7px;
+ margin-left: 7px;
+ margin-right: 7px;
}
.kune-Margin-7-tl {
- margin-top: 7px;
- margin-left: 7px;
+ margin-top: 7px;
+ margin-left: 7px;
}
.kune-Margin-7-tb {
- margin-top: 7px;
- margin-bottom: 7px;
+ margin-top: 7px;
+ margin-bottom: 7px;
}
.kune-Margin-7-t {
- margin-top: 7px;
+ margin-top: 7px;
}
.kune-Margin-7-r {
- margin-right: 7px;
+ margin-right: 7px;
}
.kune-Margin-7-b {
- margin-bottom: 7px;
+ margin-bottom: 7px;
}
.kune-Margin-7-l {
- margin-left: 7px;
+ margin-left: 7px;
}
.kune-Margin-Medium-trbl {
- margin: 5px;
+ margin: 5px;
}
.kune-Margin-Medium-lr {
- margin-left: 5px;
- margin-right: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
}
.kune-Margin-Medium-tl {
- margin-top: 5px;
- margin-left: 5px;
+ margin-top: 5px;
+ margin-left: 5px;
}
.kune-Margin-Medium-tb {
- margin-top: 5px;
- margin-bottom: 5px;
+ margin-top: 5px;
+ margin-bottom: 5px;
}
.kune-Margin-Medium-t {
- margin-top: 5px;
+ margin-top: 5px;
}
.kune-Margin-Medium-r {
- margin-right: 5px;
+ margin-right: 5px;
}
.kune-Margin-Medium-b {
- margin-bottom: 5px;
+ margin-bottom: 5px;
}
.kune-Margin-Medium-l {
- margin-left: 5px;
+ margin-left: 5px;
}
.kune-Margin-Small-trbl {
- margin: 3px;
+ margin: 3px;
}
.kune-Margin-Small-lr {
- margin-left: 3px;
- margin-right: 3px;
+ margin-left: 3px;
+ margin-right: 3px;
}
.kune-Margin-Small-tl {
- margin-top: 3px;
- margin-left: 3px;
+ margin-top: 3px;
+ margin-left: 3px;
}
.kune-Margin-Small-tb {
- margin-top: 3px;
- margin-bottom: 3px;
+ margin-top: 3px;
+ margin-bottom: 3px;
}
.kune-Margin-Small-t {
- margin-top: 3px;
+ margin-top: 3px;
}
.kune-Margin-Small-l {
- margin-left: 3px;
+ margin-left: 3px;
}
.kune-Margin-Small-r {
- margin-right: 3px;
+ margin-right: 3px;
}
.kune-Margin-Small-b {
- margin-bottom: 3px;
+ margin-bottom: 3px;
}
.kune-Margin-Mini-trbl {
- margin: 1px;
+ margin: 1px;
}
.kune-Margin-Mini-lr {
- margin-left: 1px;
- margin-right: 1px;
+ margin-left: 1px;
+ margin-right: 1px;
}
.kune-Margin-Mini-tl {
- margin-top: 1px;
- margin-left: 1px;
+ margin-top: 1px;
+ margin-left: 1px;
}
.kune-Margin-Mini-tb {
- margin-top: 1px;
- margin-bottom: 1px;
+ margin-top: 1px;
+ margin-bottom: 1px;
}
.kune-Margin-Mini-t {
- margin-top: 1px;
+ margin-top: 1px;
}
.kune-Margin-Mini-r {
- margin-right: 1px;
+ margin-right: 1px;
}
.kune-Margin-Mini-b {
- margin-bottom: 1px;
+ margin-bottom: 1px;
}
.kune-Margin-Mini-l {
- margin-left: 1px;
+ margin-left: 1px;
}
.k-publicspace-msg {
- background-color: #E0E0E0;
+ background-color: #E0E0E0;
}
.k-publicspace-mask { /* background-color: #fff !important;
@@ -680,147 +638,147 @@
}
.k-publicspace-panel {
- margin: 5px;
- display: table-row;
+ margin: 5px;
+ display: table-row;
}
.k-publicspace-icon {
- margin: 3px 3px 3px 0;
- float: left;
+ margin: 3px 3px 3px 0;
+ float: left;
}
.k-publicspace-title {
- font-weight: bold;
- display: block;
- margin-bottom: 5px;
- font-size: 16px;
- display: table-caption;
+ font-weight: bold;
+ display: block;
+ margin-bottom: 5px;
+ font-size: 16px;
+ display: table-caption;
}
.k-publicspace-description {
- font-size: 14px;
- display: table-cell;
+ font-size: 14px;
+ display: table-cell;
}
.k-publicspace-actions {
- display: inline;
+ display: inline;
}
.k-message-panel {
- margin: 5px;
- display: table-row;
+ margin: 5px;
+ display: table-row;
}
.k-message-icon {
- margin: 3px 3px 3px 0;
- float: left;
+ margin: 3px 3px 3px 0;
+ float: left;
}
.k-message-title {
- font-weight: bold;
- display: block;
- margin-bottom: 5px;
- font-size: 16px;
- display: table-caption;
+ font-weight: bold;
+ display: block;
+ margin-bottom: 5px;
+ font-size: 16px;
+ display: table-caption;
}
.k-message-description {
- font-size: 14px;
- display: table-cell;
+ font-size: 14px;
+ display: table-cell;
}
.k-error-tb {
- background: #FFB380 none repeat scroll 0% 50%;
- /* color: #250; */
- padding: 10px;
+ background: #FFB380 none repeat scroll 0% 50%;
+ /* color: #250; */
+ padding: 10px;
}
.k-error-tb img {
- margin: 0 10px;
- float: left;
+ margin: 0 10px;
+ float: left;
}
.k-error-tb div {
- font-size: 14px;
- display: table-cell;
+ font-size: 14px;
+ display: table-cell;
}
.k-mask {
- background-color: #F2F2F2 !important;
- /* kfilter: alpha(opacity = 78) !important; */
- -moz-opacity: 0.78 !important;
- -khtml-opacity: 0.78 !important;
- opacity: 0.78 !important;
+ background-color: #F2F2F2 !important;
+ /* kfilter: alpha(opacity = 78) !important; */
+ -moz-opacity: 0.78 !important;
+ -khtml-opacity: 0.78 !important;
+ opacity: 0.78 !important;
}
.x-form-item-label {
- font-size: 14px;
- font-weight: bold;
- color: brown;
+ font-size: 14px;
+ font-weight: bold;
+ color: brown;
}
.x-form-text {
- font-size: 14px;
+ font-size: 14px;
}
.x-fieldset-header-text,.x-form-group-label,.x-form-cb-label {
- font-size: 14px;
- font-family: 'Ubuntu', Arial;
+ font-size: 14px;
+ font-family: 'Ubuntu', Arial;
}
.k-form-intro {
- font-size: 14px;
- margin-bottom: 10px;
+ font-size: 14px;
+ margin-bottom: 10px;
}
.k-form-fieldset {
- font-size: 16px;
- margin-left: 105px;
+ font-size: 16px;
+ margin-left: 105px;
}
.k-basic-thumb {
- background-color: #F2F2F2;
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px;
+ background-color: #F2F2F2;
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
}
.k-basic-thumb img {
- margin: 2px 2px 0px 2px;
+ margin: 2px 2px 0px 2px;
}
.k-basic-thumb div {
- margin: -3px 0px 0px 0px;
- font-weight: normal;
- font-size: 12px;
+ margin: -3px 0px 0px 0px;
+ font-weight: normal;
+ font-size: 12px;
}
.k-sn-mainpanel {
- font-size: 16px;
- font-weight: bold;
+ font-size: 16px;
+ font-weight: bold;
}
.k-sn-maintitle {
- margin: 5px;
+ margin: 5px;
}
.k-sn-maintitle {
- color: #a05a2c;
- font-size: 20px;
+ color: #a05a2c;
+ font-size: 20px;
}
.k-sn-adminslabel,.k-sn-collabslabel,.k-sn-pendingslabel {
- color: #FFF;
- text-transform: lowercase;
- padding-left: 10px;
- float: left;
+ color: #FFF;
+ text-transform: lowercase;
+ padding-left: 10px;
+ float: left;
}
.k-sn-adminsCountlabel,.k-sn-collabsCountlabel,.k-sn-pendingsCountlabel
- {
- float: left;
- padding-left: 5px;
- color: #e0e0e0;
+ {
+ float: left;
+ padding-left: 5px;
+ color: #e0e0e0;
}
.k-sn-adminslabel {
@@ -828,7 +786,7 @@
}
.k-sn-mainpanel .k-basic-thumb {
- float: left;
+ float: left;
}
/*
@@ -837,40 +795,75 @@
white-space: nowrap;
}
*/
-.k-sn-mainpanel .x-btn button,.k-sn-mainpanel button {
- font: 13px 'Ubuntu', arial;
- border: 2px solid #CCCCCC;
- cursor: pointer;
- margin: 0;
- padding: 3px 0;
- text-decoration: none;
- background-color: #F2F2F2;
- color: #855585;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
- vertical-align: middle;
- line-height: 2em !important;
- height: 26px !important;
- font-weight: bold;
- /*
-font-size:small;
- cursor: pointer;
- border: 2px gray solid;
- padding-left: 25px !important; */
+.k-sn-mainpanel .x-btn button,.k-sn-mainpanel button,button.k-button {
+ font: 13px 'Ubuntu', arial;
+ border: 2px solid #CCCCCC;
+ cursor: pointer;
+ margin: 0;
+ padding: 3px 0;
+ text-decoration: none;
+ background-color: #F2F2F2;
+ color: #A05A2C;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ vertical-align: middle;
+ outline: 0 none;
+ font-weight: bold;
+ width: auto !IMPORTANT;
+ width: 50px;
+ min-width: 50px;
+ height: 28px;
}
-.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover {
- border: 2px orange solid;
- background: #f0f0f0;
- color: #855585;
+.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover,button.k-button:hover
+ {
+ border: 2px orange solid;
+ outline: 0 none;
+ /* background: #f0f0f0; */
}
-.k-sn-mainpanel .x-btn button:active,.k-sn-mainpanel button:active {
- border-top-color: #ffffff;
- background: #ffffff;
+.k-sn-mainpanel .x-btn button:hover span,.k-sn-mainpanel button:hover span,button.k-button:hover span
+ {
+ color: brown !important;
+ outline: 0 none;
}
+.k-sn-mainpanel .x-btn button:active,.k-sn-mainpanel button:active,button.k-button:active
+ {
+ border-top-color: #ffffff;
+ background: #ffffff;
+}
+
+.k-button-center {
+ border-left: 1px solid #CCCCCC !important;
+ border-right: 1px solid #CCCCCC !important;
+ -webkit-border-radius: 0px !important;
+ -moz-border-radius: 0px !important;
+ border-radius: 0px !important;
+}
+
+.k-button-right {
+ border-left: 1px solid #CCCCCC !important;
+ -webkit-border-top-left-radius: 0px !important;
+ -moz-border-radius-topleft: 0px !important;
+ border-top-left-radius: 0px !important;
+ -webkit-border-bottom-left-radius: 0px !important;
+ -moz-border-radius-bottomleft: 0px !important;
+ border-bottom-left-radius: 0px !important;
+}
+
+.k-button-left {
+ border-right: 1px solid #CCCCCC !important;
+ -webkit-border-top-right-radius: 0px !important;
+ -moz-border-radius-topright: 0px !important;
+ border-top-right-radius: 0px !important;
+ -webkit-border-bottom-right-radius: 0px !important;
+ -moz-border-radius-bottomright: 0px !important;
+ border-bottom-right-radius: 0px !important;
+}
+
+/* end buttons */
.k-sn-collabslabel {
}
@@ -880,20 +873,20 @@
}
.k-sn-orphan-label {
- padding: 10px;
+ padding: 10px;
}
.k-sn-novisible-label {
- padding: 10px;
+ padding: 10px;
}
.k-sn-adminspanel { /* background-color: #a05a2c; */
- border-bottom: 2px solid #F7EBE3;
- border-top: 2px solid #F7EBE3;
+ border-bottom: 2px solid #F7EBE3;
+ border-top: 2px solid #F7EBE3;
}
.k-sn-collabspanel {
- background-color: #d38d5f;
+ background-color: #d38d5f;
}
.k-sn-pendingspanel { /* background-color: #a05a2c; */
@@ -905,7 +898,7 @@
}
.k-sn-adminsflow,.k-sn-collabsflow,.k-sn-pendingsflow {
- margin-left: 10px;
+ margin-left: 10px;
}
.k-sn-adminsscroll {
@@ -921,8 +914,8 @@
}
.k-userconfirm-label {
- width: 300px;
- margin: 10px;
+ width: 300px;
+ margin: 10px;
}
.k-sn-deck {
@@ -930,159 +923,160 @@
}
.k-sn-bottomPanel {
- padding: 8px 10px 0;
- float: left;
+ padding: 8px 10px 0;
+ float: left;
}
.k-sn-bottomPanel-actions {
- width: 100%;
+ width: 100%;
}
.k-sn-novisible-label,.k-sn-orphan-label {
- color: #FFF;
- font-size: 16px;
- font-weight: bold;
+ color: #FFF;
+ font-size: 16px;
+ font-weight: bold;
}
.k-frame-def {
- margin: 0px;
- border: 0px;
+ margin: 0px;
+ border: 0px;
}
.k-maxsize {
- width: 100%;
- height: 100%;
+ width: 100%;
+ height: 100%;
}
.k-footer-license-label {
- float: right;
- margin-top: 8px;
- cursor: pointer;
- font-weight: bold;
- font-size: 16px;
- color: #784421;
+ float: right;
+ margin-top: 8px;
+ cursor: pointer;
+ font-weight: bold;
+ font-size: 16px;
+ color: #784421;
}
.k-footer-license-label-title {
- margin-right: 5px;
- color: #280b0b;
+ margin-right: 5px;
+ color: #280b0b;
}
.k-footer-license-img {
- float: right;
- margin: 10px 15px 0px 5px;
- cursor: pointer;
+ float: right;
+ margin: 10px 15px 0px 5px;
+ cursor: pointer;
}
.k-sn-options-menu {
- float: left;
+ float: left;
}
.k-sn-options-menu button {
- background-color: none;
+ background-color: none;
}
.k-sn-join {
- float: left;
+ float: left;
}
.k-entitytextlogo-border {
- border: 2px solid #F2F2F2;
+ border: 2px solid #F2F2F2;
}
.k-entitytextlogo-no-border {
- border: none;
+ border: none;
}
.k-entitytextlogo {
- height: 60px;
- margin: 5px;
- overflow: hidden;
- width: 468px;
+ height: 60px;
+ margin: 5px;
+ overflow: hidden;
+ width: 468px;
}
.k-entitytextlogo table {
- vertical-align: middle;
+ vertical-align: middle;
}
.k-elogo-l-l {
- font-size: 46px;
+ font-size: 46px;
}
.k-elogo-l-m {
- font-size: 167%;
+ font-size: 167%;
}
.k-elogo-l-s {
- font-size: 108%;
+ font-size: 108%;
}
.k-entitytextlogo .gwt-Label {
- font-weight: 700;
- margin: 5px;
- height: 27px;
+ font-weight: 700;
+ margin: 5px;
+ height: 27px;
}
.k-entitytextlogo-default .gwt-Label {
- color: #69312F;
+ color: #69312F;
}
.k-entitytextlogo-green .gwt-Label {
- color: #250;
+ color: #250;
}
.k-entitytextlogo-blue .gwt-Label {
- color: #000080;
+ color: #000080;
}
.k-entitytextlogo-grey .gwt-Label {
- color: #1A1A1A;
+ color: #1A1A1A;
}
.k-entitytextlogo-purple .gwt-Label {
- color: #440055;
+ color: #440055;
}
.k-entitytextlogo-red .gwt-Label {
- color: #800000;
+ color: #800000;
}
.k-elogo-plink {
- color: #CCC;
- font-size: 85%;
- margin: 5px;
- text-decoration: underline;
- white-space: nowrap;
- background-color: #FFF;
+ color: #CCC;
+ font-size: 85%;
+ margin: 5px;
+ text-decoration: underline;
+ white-space: nowrap;
+ background-color: #FFF;
}
.k-elogop-expand {
- background-color: transparent;
+ background-color: transparent;
}
.k-tsp-tag {
- float: left;
- padding: 3px;
- cursor: pointer;
- color: #5B4683;
+ float: left;
+ padding: 3px;
+ cursor: pointer;
+ color: #5B4683;
}
.k-tsp-cloud {
- line-height: 1em;
- text-align: center;
+ line-height: 1em;
+ text-align: center;
}
.k-tool-panel {
- background-color: #DEAA87;
+ background-color: #DEAA87;
}
.k-tool-item {
- display: block;
- cursor: pointer;
+ display: block;
+ cursor: pointer;
+ outline: 0 none;
}
.k-tool-item-focus {
- background-color: #d38d5f;
+ background-color: #d38d5f;
}
.k-tool-item-nofocus {
@@ -1090,9 +1084,201 @@
}
.k-tool-item-selected {
- background-color: #C87137;
+ background-color: #C87137;
}
.k-tool-item-notselected {
- background-color: inherits;
-}
\ No newline at end of file
+ background-color: inherits;
+}
+
+.k-def-docbtn span {
+ font-size: 13px !important;
+}
+
+.k-empty-msg {
+ font-size: 16px;
+ font-style: italic;
+}
+
+button.k-ent-header-btn {
+ margin-left: 5px !important;
+}
+
+.k-ent-header-btn * {
+ font-size: 13px !important;
+}
+
+table.k-folder-viewer {
+ border: 5px solid #FFF;
+ border-collapse: separate;
+}
+
+/* Suggest box */
+.gwt-SuggestBox {
+ padding: 2px;
+}
+
+.gwt-SuggestBoxPopup {
+ background-color: #FFF;
+ border: 2px solid #552200;
+ padding: 3px;
+ color: white;
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
+ kfilter: alpha(opacity = 90);
+ -moz-opacity: 0.90;
+ -khtml-opacity: 0.90;
+ opacity: 0.90;
+ margin-left: 3px;
+}
+
+.gwt-SuggestBoxPopup .item {
+ padding: 2px 6px;
+ color: #424242;
+ cursor: default;
+}
+
+.gwt-SuggestBoxPopup .item-selected {
+ background: #cdcdcd;
+ cursor: pointer;
+}
+
+.gwt-SuggestBoxPopup .suggestPopupContent {
+ background: white;
+}
+
+.k-sitebarsearch {
+ border: 1px solid #E4A374;
+ margin: 1px 6px 0 3px;
+ padding-left: 1px;
+ color: #B3B3B3;
+ background: transparent;
+}
+
+.k-sitebarsearch-img {
+ cursor: pointer;
+ background: none;
+ border: 0px;
+ padding: 2px 0 0 0 !important;
+}
+
+/* end of suggestbox */
+.k-table {
+ display: table;
+}
+
+.k-table-row {
+ display: table-row;
+}
+
+.k-table-cell {
+ display: table-cell;
+}
+
+/* Decorated tabbar */
+.gwt-DecoratedTabBar {
+
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarFirst {
+ width: 5px; /* first tab distance from the left */
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarRest {
+
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem {
+ border-collapse: collapse;
+ margin-left: 6px;
+}
+
+.gwt-DecoratedTabBar .tabTopCenter {
+ padding: 0px;
+ background: #e3e3e3;
+}
+
+.gwt-DecoratedTabBar .tabTopLeft,.gwt-DecoratedTabBar .tabTopRight {
+ padding: 0px;
+ zoom: 1;
+}
+
+.gwt-DecoratedTabBar .tabTopLeftInner,.gwt-DecoratedTabBar .tabTopRightInner
+ {
+ width: 6px;
+ height: 6px;
+}
+
+.gwt-DecoratedTabBar .tabTopLeft {
+ background: url(images/corner.png) no-repeat 0px -55px;
+ -background: url(images/corner_ie6.png) no-repeat 0px -55px;
+}
+
+.gwt-DecoratedTabBar .tabTopRight {
+ background: url(images/corner.png) no-repeat -6px -55px;
+ -background: url(images/corner_ie6.png) no-repeat -6px -55px;
+}
+
+* html .gwt-DecoratedTabBar .tabTopLeftInner,* html .gwt-DecoratedTabBar .tabTopRightInner
+ {
+ width: 6px;
+ height: 6px;
+ overflow: hidden;
+}
+
+.gwt-DecoratedTabBar .tabMiddleLeft,.gwt-DecoratedTabBar .tabMiddleRight
+ {
+ width: 6px;
+ padding: 0px;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+
+.gwt-DecoratedTabBar .tabMiddleLeftInner,.gwt-DecoratedTabBar .tabMiddleRightInner
+ {
+ width: 1px;
+ height: 1px;
+}
+
+.gwt-DecoratedTabBar .tabMiddleCenter {
+ padding: 0px 4px 2px 4px;
+ cursor: pointer;
+ cursor: hand;
+ color: black;
+ font-weight: bold;
+ text-align: center;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopCenter {
+ background: #747474;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopLeft {
+ background-position: 0px -61px;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRight {
+ background-position: -6px -61px;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight
+ {
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleCenter {
+ cursor: default;
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+ color: white;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-disabled .tabMiddleCenter {
+ cursor: default;
+ color: #999999;
+}
+
+/* end Decorated tabbar */
\ No newline at end of file
Modified: kune-sandbox/war/ws.css
===================================================================
--- kune-sandbox/war/ws.css 2011-05-05 16:19:38 UTC (rev 1347)
+++ kune-sandbox/war/ws.css 2011-05-05 21:20:17 UTC (rev 1348)
@@ -1,22 +1,24 @@
-@CHARSET "UTF-8";
-
-body {
- background-color: white;
- color: black;
- font-family: 'Ubuntu', Arial;
- font-size: small;
- margin: 5px;
- overflow: hidden;
+CHARSET "UTF-8 "; body {
+ background-color: white;
+ color: black;
+ font-family: 'Ubuntu', Arial;
+ font-size: small;
+ margin: 5px;
+ overflow: hidden;
}
* {
- font-family: 'Ubuntu', Arial;
+ font-family: 'Ubuntu', Arial;
}
body.fontface {
- font: 'Ubuntu', Arial;
+ font: 'Ubuntu', Arial;
}
+div,span {
+ outline: 0 none;
+}
+
/*
a {
color: darkblue;
@@ -27,32 +29,32 @@
}
*/
.gwt-DialogBox {
- border: 2px solid #AAAAAA;
- background-color: white;
+ border: 2px solid #AAAAAA;
+ background-color: white;
}
.gwt-DialogBox .Caption {
- background-image: url(gray_gradient.gif);
- background-repeat: repeat-x;
- padding: 4px;
- padding-bottom: 8px;
- font-weight: bold;
- cursor: default;
+ background-image: url(gray_gradient.gif);
+ background-repeat: repeat-x;
+ padding: 4px;
+ padding-bottom: 8px;
+ font-weight: bold;
+ cursor: default;
}
.gwt-MenuBar {
- background-color: #C3D9FF;
- cursor: default;
+ background-color: #C3D9FF;
+ cursor: default;
}
.gwt-MenuItem {
- font-size: 14px;
- margin: 1px;
- cursor: default;
+ font-size: 14px;
+ margin: 1px;
+ cursor: default;
}
.gwt-MenuItem-selected {
- background-color: #E8EEF7;
+ background-color: #E8EEF7;
}
.gwt-Tree {
@@ -60,267 +62,208 @@
}
.gwt-Tree .gwt-TreeItem {
- font-size: 14px;
- cursor: default;
+ font-size: 14px;
+ cursor: default;
}
.gwt-Tree .gwt-TreeItem-selected {
- background-color: #C3D9FF;
+ background-color: #C3D9FF;
}
.gwt-StackPanel {
- background-color: white;
- border: 1px solid #AAAAAA;
- width: 15em;
+ background-color: white;
+ border: 1px solid #AAAAAA;
+ width: 15em;
}
.gwt-StackPanel .gwt-StackPanelItem {
- background-image: url(blue_gradient.gif);
- background-repeat: repeat-x;
- background-color: #EEEEEE;
- cursor: pointer;
- cursor: hand;
+ background-image: url(blue_gradient.gif);
+ background-repeat: repeat-x;
+ background-color: #EEEEEE;
+ cursor: pointer;
+ cursor: hand;
}
.gwt-StackPanel .gwt-StackPanelItem-selected {
}
-.gwt-TabPanel {
-
-}
-
-.gwt-TabPanelBottom {
- border-left: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- border-bottom: 1px solid #87b3ff;
-}
-
-.gwt-TabBar {
- font-size: smaller;
-}
-
-.gwt-TabBar .gwt-TabBarFirst {
- height: 100%;
- border-bottom: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- padding-left: 3px;
-}
-
-.gwt-TabBar .gwt-TabBarRest {
- border-bottom: 1px solid #87b3ff;
- padding-right: 3px;
-}
-
-.gwt-TabBar .gwt-TabBarItem {
- border-top: 1px solid #87b3ff;
- border-bottom: 1px solid #87b3ff;
- padding: 2px;
- cursor: hand;
- white-space: nowrap;
- border-right: 1px solid #87b3ff;
-}
-
-.gwt-TabBar .gwt-TabBarItem-selected {
- font-weight: bold;
- background-color: #e8eef7;
- border-top: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- border-bottom: 1px solid #e8eef7;
- padding: 2px;
- cursor: default;
- white-space: nowrap;
-}
-
.gwt-PushButton-up {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-PushButton-up-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-PushButton-down {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-PushButton-down-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-ToggleButton-up {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-ToggleButton-up-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- border: 2px solid transparent;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ border: 2px solid transparent;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-ToggleButton-down {
- background-color: #C3D9FF;
- padding: 2px;
- background-color: #E8F1FF;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ background-color: #E8F1FF;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-ToggleButton-down-hovering {
- background-color: #C3D9FF;
- padding: 2px;
- background-color: #E8F1FF;
- border: 2px solid transparent;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
- cursor: pointer;
- cursor: hand;
+ background-color: #C3D9FF;
+ padding: 2px;
+ background-color: #E8F1FF;
+ border: 2px solid transparent;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
+ cursor: pointer;
+ cursor: hand;
}
.gwt-RichTextArea {
- border: 1px solid black;
- background-color: white;
+ border: 1px solid black;
+ background-color: white;
}
.gwt-RichTextToolbar {
- background-color: #C3D9FF;
- padding: 2px;
+ background-color: #C3D9FF;
+ padding: 2px;
}
.gwt-RichTextToolbar .gwt-PushButton-up {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
}
.gwt-RichTextToolbar .gwt-PushButton-up-hovering {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
}
.gwt-RichTextToolbar .gwt-PushButton-down {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
}
.gwt-RichTextToolbar .gwt-PushButton-down-hovering {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
}
.gwt-RichTextToolbar .gwt-ToggleButton-up {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
}
.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering {
- margin-right: 2px;
- border: 1px solid #C3D9FF;
- border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
- rgb(232, 241, 255);
+ margin-right: 2px;
+ border: 1px solid #C3D9FF;
+ border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+ rgb(232, 241, 255);
}
.gwt-RichTextToolbar .gwt-ToggleButton-down {
- margin-right: 2px;
- background-color: #E8F1FF;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
+ margin-right: 2px;
+ background-color: #E8F1FF;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
}
.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering {
- margin-right: 2px;
- background-color: #E8F1FF;
- border: 1px solid #C3D9FF;
- border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
- rgb(157, 174, 205);
+ margin-right: 2px;
+ background-color: #E8F1FF;
+ border: 1px solid #C3D9FF;
+ border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+ rgb(157, 174, 205);
}
.gwt-HorizontalSplitPanel {
- border: 8px solid #C3D9FF;
+ border: 8px solid #C3D9FF;
}
.gwt-HorizontalSplitPanel .splitter {
- background-color: #C3D9FF;
- cursor: move;
+ background-color: #C3D9FF;
+ cursor: move;
}
.gwt-HorizontalSplitPanel .left {
- background-color: #E8EEF7;
+ background-color: #E8EEF7;
}
.gwt-VerticalSplitPanel {
- border: 8px solid #C3D9FF;
+ border: 8px solid #C3D9FF;
}
.gwt-VerticalSplitPanel .splitter {
- background-color: #C3D9FF;
- height: 8px;
- cursor: move;
+ background-color: #C3D9FF;
+ height: 8px;
+ cursor: move;
}
-.gwt-SuggestBoxPopup {
- border: 2px solid #C3D9FF;
-}
-
-.gwt-SuggestBoxPopup .item {
- padding: 2px;
-}
-
-.gwt-SuggestBoxPopup .item-selected {
- background-color: #C3D9FF;
- padding: 2px;
-}
-
.gwt-DisclosurePanel {
- border: 2px solid #C3D9FF;
+ border: 2px solid #C3D9FF;
}
.gwt-DisclosurePanel .header {
- background-color: #e8eef7;
- cursor: hand;
+ background-color: #e8eef7;
+ cursor: hand;
}
.gwt-SplitLayoutPanel {
@@ -328,78 +271,93 @@
}
.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger {
- background-color: transparent;
- background: url("images/spliter-top.png") no-repeat scroll center bottom
- transparent;
- cursor: col-resize;
+ background-color: transparent;
+ background: url("images/spliter-top.png") no-repeat scroll center bottom
+ transparent;
+ cursor: col-resize;
}
.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger {
- background-color: white;
- background: none;
- cursor: row-resize;
+ background-color: white;
+ background: none;
+ cursor: row-resize;
}
.kLoadingPanel {
- background-color: #FF9999;
- -webkit-border-bottom-left-radius: 4px;
- -moz-border-radius-bottomleft: 4px;
- border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- -moz-border-radius-bottomright: 4px;
- border-bottom-right-radius: 4px;
- padding: 0 1px 0 3px;
- border-collapse: separate;
- border-spacing: 2px;
+ background-color: #FF9999;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+ padding: 0 1px 0 3px;
+ border-collapse: separate;
+ border-spacing: 2px;
}
.kLoadingLabel {
- font-size: 14px;
- color: white;
- font-weight: bold;
- padding: 0 5px 0 5px;
+ font-size: 14px;
+ color: white;
+ font-weight: bold;
+ padding: 0 5px 0 5px;
}
+.k-space-tooltip {
+ border-collapse: separate;
+ border-spacing: 5px;
+ vertical-align: middle;
+ line-height: 1.1em;
+}
+
.k-space-sel {
- margin-right: 10px;
- background-color: #F2F2F2;
+ margin-right: 10px;
+ background-color: #F2F2F2;
}
.k-space-sel-btn {
- padding: 0 1px 0 1px;
- margin: 0 0 -2px;
+ padding: 0 1px 0 1px;
+ margin: 0 0 -2px;
+ outline: 0 none;
}
.k-sitebar-logo {
- margin-top: 2px;
+ margin-top: 2px;
}
.x-btn button,button { /* font: 18px/27px 'Ubuntu', arial; */
}
-.k-btn-sitebar span,.k-btn-sitebar button span,.k-sitebar button span {
- text-decoration: underline;
+.x-panel-mc {
+ font: inherit;
}
-.k-btn-sitebar,.k-btn-sitebar button,.k-sitebar button {
- font: 13px 'Ubuntu', arial;
- color: #B3B3B3;
- cursor: pointer;
- white-space: nowrap;
- background: none;
- border: 0px;
- padding: 0 3px 0 0 !important;
+k-btn-sitebar button spin,.k-sitebar button spin,.k-btn-sitebar div,.k-btn-sitebar span,.k-btn-sitebar button span,.k-sitebar button span
+ {
+ text-decoration: underline;
}
+.k-btn-sitebar,.k-btn-sitebar button,.k-sitebar button,.k-btn-sitebar div,.k-btn-sitebar button div,.k-sitebar button div
+ {
+ font: 13px 'Ubuntu', arial;
+ color: #B3B3B3;
+ cursor: pointer;
+ white-space: nowrap;
+ background: none;
+ border: 0px;
+ padding: 0 3px 0 0 !important;
+ height: 17px !important;
+}
+
.k-sitebar-wave-status {
- font: 13px 'Ubuntu', arial;
- /* font-weight: bold; */
- color: #B3B3B3;
- white-space: nowrap;
- background: none;
- border: 0px;
- padding: 1px 7px 0 0 !important;
+ font: 13px 'Ubuntu', arial;
+ /* font-weight: bold; */
+ color: #B3B3B3;
+ white-space: nowrap;
+ background: none;
+ border: 0px;
+ padding: 1px 7px 0 0 !important;
}
.k-sitebar-wave-status {
@@ -407,20 +365,20 @@
}
.k-sitebar-wave-status-online {
- color: green;
+ color: green;
}
.k-sitebar-wave-status-offline {
- color: red;
+ color: red;
}
.k-sitebar button:hover {
- border: 0px;
- background: none;
+ border: 0px;
+ background: none;
}
.k-btn-sitebar button {
- margin-top: -5px;
+ margin-top: -5px;
}
.k-sitebar { /* margin-top: -30px; */
@@ -428,247 +386,247 @@
}
.k-link {
- text-decoration: underline;
- color: green;
- cursor: pointer;
+ text-decoration: underline;
+ color: green;
+ cursor: pointer;
}
/* Margins */
.kune-Margin-40-trbl {
- margin: 40px;
+ margin: 40px;
}
.kune-Margin-40-lr {
- margin-left: 40px;
- margin-right: 40px;
+ margin-left: 40px;
+ margin-right: 40px;
}
.kune-Margin-40-tl {
- margin-top: 40px;
- margin-left: 40px;
+ margin-top: 40px;
+ margin-left: 40px;
}
.kune-Margin-40-tb {
- margin-top: 40px;
- margin-bottom: 40px;
+ margin-top: 40px;
+ margin-bottom: 40px;
}
.kune-Margin-40-t {
- margin-top: 40px;
+ margin-top: 40px;
}
.kune-Margin-40-r {
- margin-right: 40px;
+ margin-right: 40px;
}
.kune-Margin-40-l {
- margin-left: 40px;
+ margin-left: 40px;
}
.kune-Margin-20-trbl {
- margin: 20px;
+ margin: 20px;
}
.kune-Margin-20-lr {
- margin-left: 20px;
- margin-right: 20px;
+ margin-left: 20px;
+ margin-right: 20px;
}
.kune-Margin-20-tl {
- margin-top: 20px;
- margin-left: 20px;
+ margin-top: 20px;
+ margin-left: 20px;
}
.kune-Margin-20-tb {
- margin-top: 20px;
- margin-bottom: 20px;
+ margin-top: 20px;
+ margin-bottom: 20px;
}
.kune-Margin-20-t {
- margin-top: 20px;
+ margin-top: 20px;
}
.kune-Margin-20-r {
- margin-right: 20px;
+ margin-right: 20px;
}
.kune-Margin-20-l {
- margin-left: 20px;
+ margin-left: 20px;
}
.kune-Margin-Large-trbl {
- margin: 10px;
+ margin: 10px;
}
.kune-Margin-Large-lr {
- margin-left: 10px;
- margin-right: 10px;
+ margin-left: 10px;
+ margin-right: 10px;
}
.kune-Margin-Large-tl {
- margin-top: 10px;
- margin-left: 10px;
+ margin-top: 10px;
+ margin-left: 10px;
}
.kune-Margin-Large-tb {
- margin-top: 10px;
- margin-bottom: 10px;
+ margin-top: 10px;
+ margin-bottom: 10px;
}
.kune-Margin-Large-t {
- margin-top: 10px;
+ margin-top: 10px;
}
.kune-Margin-Large-r {
- margin-right: 10px;
+ margin-right: 10px;
}
.kune-Margin-Large-l {
- margin-left: 10px;
+ margin-left: 10px;
}
.kune-Margin-7-trbl {
- margin: 7px;
+ margin: 7px;
}
.kune-Margin-7-lr {
- margin-left: 7px;
- margin-right: 7px;
+ margin-left: 7px;
+ margin-right: 7px;
}
.kune-Margin-7-tl {
- margin-top: 7px;
- margin-left: 7px;
+ margin-top: 7px;
+ margin-left: 7px;
}
.kune-Margin-7-tb {
- margin-top: 7px;
- margin-bottom: 7px;
+ margin-top: 7px;
+ margin-bottom: 7px;
}
.kune-Margin-7-t {
- margin-top: 7px;
+ margin-top: 7px;
}
.kune-Margin-7-r {
- margin-right: 7px;
+ margin-right: 7px;
}
.kune-Margin-7-b {
- margin-bottom: 7px;
+ margin-bottom: 7px;
}
.kune-Margin-7-l {
- margin-left: 7px;
+ margin-left: 7px;
}
.kune-Margin-Medium-trbl {
- margin: 5px;
+ margin: 5px;
}
.kune-Margin-Medium-lr {
- margin-left: 5px;
- margin-right: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
}
.kune-Margin-Medium-tl {
- margin-top: 5px;
- margin-left: 5px;
+ margin-top: 5px;
+ margin-left: 5px;
}
.kune-Margin-Medium-tb {
- margin-top: 5px;
- margin-bottom: 5px;
+ margin-top: 5px;
+ margin-bottom: 5px;
}
.kune-Margin-Medium-t {
- margin-top: 5px;
+ margin-top: 5px;
}
.kune-Margin-Medium-r {
- margin-right: 5px;
+ margin-right: 5px;
}
.kune-Margin-Medium-b {
- margin-bottom: 5px;
+ margin-bottom: 5px;
}
.kune-Margin-Medium-l {
- margin-left: 5px;
+ margin-left: 5px;
}
.kune-Margin-Small-trbl {
- margin: 3px;
+ margin: 3px;
}
.kune-Margin-Small-lr {
- margin-left: 3px;
- margin-right: 3px;
+ margin-left: 3px;
+ margin-right: 3px;
}
.kune-Margin-Small-tl {
- margin-top: 3px;
- margin-left: 3px;
+ margin-top: 3px;
+ margin-left: 3px;
}
.kune-Margin-Small-tb {
- margin-top: 3px;
- margin-bottom: 3px;
+ margin-top: 3px;
+ margin-bottom: 3px;
}
.kune-Margin-Small-t {
- margin-top: 3px;
+ margin-top: 3px;
}
.kune-Margin-Small-l {
- margin-left: 3px;
+ margin-left: 3px;
}
.kune-Margin-Small-r {
- margin-right: 3px;
+ margin-right: 3px;
}
.kune-Margin-Small-b {
- margin-bottom: 3px;
+ margin-bottom: 3px;
}
.kune-Margin-Mini-trbl {
- margin: 1px;
+ margin: 1px;
}
.kune-Margin-Mini-lr {
- margin-left: 1px;
- margin-right: 1px;
+ margin-left: 1px;
+ margin-right: 1px;
}
.kune-Margin-Mini-tl {
- margin-top: 1px;
- margin-left: 1px;
+ margin-top: 1px;
+ margin-left: 1px;
}
.kune-Margin-Mini-tb {
- margin-top: 1px;
- margin-bottom: 1px;
+ margin-top: 1px;
+ margin-bottom: 1px;
}
.kune-Margin-Mini-t {
- margin-top: 1px;
+ margin-top: 1px;
}
.kune-Margin-Mini-r {
- margin-right: 1px;
+ margin-right: 1px;
}
.kune-Margin-Mini-b {
- margin-bottom: 1px;
+ margin-bottom: 1px;
}
.kune-Margin-Mini-l {
- margin-left: 1px;
+ margin-left: 1px;
}
.k-publicspace-msg {
- background-color: #E0E0E0;
+ background-color: #E0E0E0;
}
.k-publicspace-mask { /* background-color: #fff !important;
@@ -680,147 +638,147 @@
}
.k-publicspace-panel {
- margin: 5px;
- display: table-row;
+ margin: 5px;
+ display: table-row;
}
.k-publicspace-icon {
- margin: 3px 3px 3px 0;
- float: left;
+ margin: 3px 3px 3px 0;
+ float: left;
}
.k-publicspace-title {
- font-weight: bold;
- display: block;
- margin-bottom: 5px;
- font-size: 16px;
- display: table-caption;
+ font-weight: bold;
+ display: block;
+ margin-bottom: 5px;
+ font-size: 16px;
+ display: table-caption;
}
.k-publicspace-description {
- font-size: 14px;
- display: table-cell;
+ font-size: 14px;
+ display: table-cell;
}
.k-publicspace-actions {
- display: inline;
+ display: inline;
}
.k-message-panel {
- margin: 5px;
- display: table-row;
+ margin: 5px;
+ display: table-row;
}
.k-message-icon {
- margin: 3px 3px 3px 0;
- float: left;
+ margin: 3px 3px 3px 0;
+ float: left;
}
.k-message-title {
- font-weight: bold;
- display: block;
- margin-bottom: 5px;
- font-size: 16px;
- display: table-caption;
+ font-weight: bold;
+ display: block;
+ margin-bottom: 5px;
+ font-size: 16px;
+ display: table-caption;
}
.k-message-description {
- font-size: 14px;
- display: table-cell;
+ font-size: 14px;
+ display: table-cell;
}
.k-error-tb {
- background: #FFB380 none repeat scroll 0% 50%;
- /* color: #250; */
- padding: 10px;
+ background: #FFB380 none repeat scroll 0% 50%;
+ /* color: #250; */
+ padding: 10px;
}
.k-error-tb img {
- margin: 0 10px;
- float: left;
+ margin: 0 10px;
+ float: left;
}
.k-error-tb div {
- font-size: 14px;
- display: table-cell;
+ font-size: 14px;
+ display: table-cell;
}
.k-mask {
- background-color: #F2F2F2 !important;
- /* kfilter: alpha(opacity = 78) !important; */
- -moz-opacity: 0.78 !important;
- -khtml-opacity: 0.78 !important;
- opacity: 0.78 !important;
+ background-color: #F2F2F2 !important;
+ /* kfilter: alpha(opacity = 78) !important; */
+ -moz-opacity: 0.78 !important;
+ -khtml-opacity: 0.78 !important;
+ opacity: 0.78 !important;
}
.x-form-item-label {
- font-size: 14px;
- font-weight: bold;
- color: brown;
+ font-size: 14px;
+ font-weight: bold;
+ color: brown;
}
.x-form-text {
- font-size: 14px;
+ font-size: 14px;
}
.x-fieldset-header-text,.x-form-group-label,.x-form-cb-label {
- font-size: 14px;
- font-family: 'Ubuntu', Arial;
+ font-size: 14px;
+ font-family: 'Ubuntu', Arial;
}
.k-form-intro {
- font-size: 14px;
- margin-bottom: 10px;
+ font-size: 14px;
+ margin-bottom: 10px;
}
.k-form-fieldset {
- font-size: 16px;
- margin-left: 105px;
+ font-size: 16px;
+ margin-left: 105px;
}
.k-basic-thumb {
- background-color: #F2F2F2;
- -moz-border-radius: 2px;
- -webkit-border-radius: 2px;
- border-radius: 2px;
+ background-color: #F2F2F2;
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
}
.k-basic-thumb img {
- margin: 2px 2px 0px 2px;
+ margin: 2px 2px 0px 2px;
}
.k-basic-thumb div {
- margin: -3px 0px 0px 0px;
- font-weight: normal;
- font-size: 12px;
+ margin: -3px 0px 0px 0px;
+ font-weight: normal;
+ font-size: 12px;
}
.k-sn-mainpanel {
- font-size: 16px;
- font-weight: bold;
+ font-size: 16px;
+ font-weight: bold;
}
.k-sn-maintitle {
- margin: 5px;
+ margin: 5px;
}
.k-sn-maintitle {
- color: #a05a2c;
- font-size: 20px;
+ color: #a05a2c;
+ font-size: 20px;
}
.k-sn-adminslabel,.k-sn-collabslabel,.k-sn-pendingslabel {
- color: #FFF;
- text-transform: lowercase;
- padding-left: 10px;
- float: left;
+ color: #FFF;
+ text-transform: lowercase;
+ padding-left: 10px;
+ float: left;
}
.k-sn-adminsCountlabel,.k-sn-collabsCountlabel,.k-sn-pendingsCountlabel
- {
- float: left;
- padding-left: 5px;
- color: #e0e0e0;
+ {
+ float: left;
+ padding-left: 5px;
+ color: #e0e0e0;
}
.k-sn-adminslabel {
@@ -828,7 +786,7 @@
}
.k-sn-mainpanel .k-basic-thumb {
- float: left;
+ float: left;
}
/*
@@ -837,40 +795,91 @@
white-space: nowrap;
}
*/
-.k-sn-mainpanel .x-btn button,.k-sn-mainpanel button {
- font: 13px 'Ubuntu', arial;
- border: 2px solid #CCCCCC;
- cursor: pointer;
- margin: 0;
- padding: 3px 0;
- text-decoration: none;
- background-color: #F2F2F2;
- color: #855585;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
- vertical-align: middle;
- line-height: 2em !important;
- height: 26px !important;
- font-weight: bold;
- /*
-font-size:small;
- cursor: pointer;
- border: 2px gray solid;
- padding-left: 25px !important; */
+.k-sn-mainpanel .x-btn button,.k-sn-mainpanel button,button.k-button {
+ font: 13px 'Ubuntu', arial;
+ border: 2px solid #CCCCCC;
+ cursor: pointer;
+ margin: 0;
+ padding: 3px 0;
+ text-decoration: none;
+ background-color: #F2F2F2;
+ color: #A05A2C;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ vertical-align: middle;
+ outline: 0 none;
+ font-weight: bold;
+ width: auto !IMPORTANT;
+ width: 50px;
+ min-width: 50px;
+ height: 28px;
}
-.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover {
- border: 2px orange solid;
- background: #f0f0f0;
- color: #855585;
+.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover,button.k-button:hover
+ {
+ border: 2px orange solid;
+ outline: 0 none;
+ /* background: #f0f0f0; */
}
-.k-sn-mainpanel .x-btn button:active,.k-sn-mainpanel button:active {
- border-top-color: #ffffff;
- background: #ffffff;
+.k-sn-mainpanel .x-btn button:hover span,.k-sn-mainpanel button:hover span,button.k-button:hover span
+ {
+ color: brown !important;
+ outline: 0 none;
}
+.k-sn-mainpanel .x-btn button:active,.k-sn-mainpanel button:active,button.k-button:active
+ {
+ border-top-color: #ffffff;
+ background: #ffffff;
+}
+
+.k-button-center {
+ border-left: 1px solid #CCCCCC !important;
+ border-right: 1px solid #CCCCCC !important;
+ -webkit-border-radius: 0px !important;
+ -moz-border-radius: 0px !important;
+ border-radius: 0px !important;
+}
+
+.k-button-right {
+ border-left: 1px solid #CCCCCC !important;
+ -webkit-border-top-left-radius: 0px !important;
+ -moz-border-radius-topleft: 0px !important;
+ border-top-left-radius: 0px !important;
+ -webkit-border-bottom-left-radius: 0px !important;
+ -moz-border-radius-bottomleft: 0px !important;
+ border-bottom-left-radius: 0px !important;
+}
+
+.k-button-left {
+ border-right: 1px solid #CCCCCC !important;
+ -webkit-border-top-right-radius: 0px !important;
+ -moz-border-radius-topright: 0px !important;
+ border-top-right-radius: 0px !important;
+ -webkit-border-bottom-right-radius: 0px !important;
+ -moz-border-radius-bottomright: 0px !important;
+ border-bottom-right-radius: 0px !important;
+}
+
+button.k-button-center:hover {
+ border-left: 1px solid orange !important;
+ border-right: 1px solid orange !important;
+ outline: 0 none;
+}
+
+button.k-button-right:hover {
+ border-left: 1px solid orange !important;
+ outline: 0 none;
+}
+
+button.k-button-left:hover {
+ border-right: 1px solid orange !important;
+ outline: 0 none;
+}
+
+/* end buttons */
.k-sn-collabslabel {
}
@@ -880,20 +889,20 @@
}
.k-sn-orphan-label {
- padding: 10px;
+ padding: 10px;
}
.k-sn-novisible-label {
- padding: 10px;
+ padding: 10px;
}
.k-sn-adminspanel { /* background-color: #a05a2c; */
- border-bottom: 2px solid #F7EBE3;
- border-top: 2px solid #F7EBE3;
+ border-bottom: 2px solid #F7EBE3;
+ border-top: 2px solid #F7EBE3;
}
.k-sn-collabspanel {
- background-color: #d38d5f;
+ background-color: #d38d5f;
}
.k-sn-pendingspanel { /* background-color: #a05a2c; */
@@ -905,7 +914,7 @@
}
.k-sn-adminsflow,.k-sn-collabsflow,.k-sn-pendingsflow {
- margin-left: 10px;
+ margin-left: 10px;
}
.k-sn-adminsscroll {
@@ -921,8 +930,8 @@
}
.k-userconfirm-label {
- width: 300px;
- margin: 10px;
+ width: 300px;
+ margin: 10px;
}
.k-sn-deck {
@@ -930,159 +939,160 @@
}
.k-sn-bottomPanel {
- padding: 8px 10px 0;
- float: left;
+ padding: 8px 10px 0;
+ float: left;
}
.k-sn-bottomPanel-actions {
- width: 100%;
+ width: 100%;
}
.k-sn-novisible-label,.k-sn-orphan-label {
- color: #FFF;
- font-size: 16px;
- font-weight: bold;
+ color: #FFF;
+ font-size: 16px;
+ font-weight: bold;
}
.k-frame-def {
- margin: 0px;
- border: 0px;
+ margin: 0px;
+ border: 0px;
}
.k-maxsize {
- width: 100%;
- height: 100%;
+ width: 100%;
+ height: 100%;
}
.k-footer-license-label {
- float: right;
- margin-top: 8px;
- cursor: pointer;
- font-weight: bold;
- font-size: 16px;
- color: #784421;
+ float: right;
+ margin-top: 8px;
+ cursor: pointer;
+ font-weight: bold;
+ font-size: 16px;
+ color: #784421;
}
.k-footer-license-label-title {
- margin-right: 5px;
- color: #280b0b;
+ margin-right: 5px;
+ color: #280b0b;
}
.k-footer-license-img {
- float: right;
- margin: 10px 15px 0px 5px;
- cursor: pointer;
+ float: right;
+ margin: 10px 15px 0px 5px;
+ cursor: pointer;
}
.k-sn-options-menu {
- float: left;
+ float: left;
}
.k-sn-options-menu button {
- background-color: none;
+ background-color: none;
}
.k-sn-join {
- float: left;
+ float: left;
}
.k-entitytextlogo-border {
- border: 2px solid #F2F2F2;
+ border: 2px solid #F2F2F2;
}
.k-entitytextlogo-no-border {
- border: none;
+ border: none;
}
.k-entitytextlogo {
- height: 60px;
- margin: 5px;
- overflow: hidden;
- width: 468px;
+ height: 60px;
+ margin: 5px;
+ overflow: hidden;
+ width: 468px;
}
.k-entitytextlogo table {
- vertical-align: middle;
+ vertical-align: middle;
}
.k-elogo-l-l {
- font-size: 46px;
+ font-size: 46px;
}
.k-elogo-l-m {
- font-size: 167%;
+ font-size: 167%;
}
.k-elogo-l-s {
- font-size: 108%;
+ font-size: 108%;
}
.k-entitytextlogo .gwt-Label {
- font-weight: 700;
- margin: 5px;
- height: 27px;
+ font-weight: 700;
+ margin: 5px;
+ height: 27px;
}
.k-entitytextlogo-default .gwt-Label {
- color: #69312F;
+ color: #69312F;
}
.k-entitytextlogo-green .gwt-Label {
- color: #250;
+ color: #250;
}
.k-entitytextlogo-blue .gwt-Label {
- color: #000080;
+ color: #000080;
}
.k-entitytextlogo-grey .gwt-Label {
- color: #1A1A1A;
+ color: #1A1A1A;
}
.k-entitytextlogo-purple .gwt-Label {
- color: #440055;
+ color: #440055;
}
.k-entitytextlogo-red .gwt-Label {
- color: #800000;
+ color: #800000;
}
.k-elogo-plink {
- color: #CCC;
- font-size: 85%;
- margin: 5px;
- text-decoration: underline;
- white-space: nowrap;
- background-color: #FFF;
+ color: #CCC;
+ font-size: 85%;
+ margin: 5px;
+ text-decoration: underline;
+ white-space: nowrap;
+ background-color: #FFF;
}
.k-elogop-expand {
- background-color: transparent;
+ background-color: transparent;
}
.k-tsp-tag {
- float: left;
- padding: 3px;
- cursor: pointer;
- color: #5B4683;
+ float: left;
+ padding: 3px;
+ cursor: pointer;
+ color: #5B4683;
}
.k-tsp-cloud {
- line-height: 1em;
- text-align: center;
+ line-height: 1em;
+ text-align: center;
}
.k-tool-panel {
- background-color: #DEAA87;
+ background-color: #DEAA87;
}
.k-tool-item {
- display: block;
- cursor: pointer;
+ display: block;
+ cursor: pointer;
+ outline: 0 none;
}
.k-tool-item-focus {
- background-color: #d38d5f;
+ background-color: #d38d5f;
}
.k-tool-item-nofocus {
@@ -1090,9 +1100,201 @@
}
.k-tool-item-selected {
- background-color: #C87137;
+ background-color: #C87137;
}
.k-tool-item-notselected {
- background-color: inherits;
-}
\ No newline at end of file
+ background-color: inherits;
+}
+
+.k-def-docbtn span {
+ font-size: 13px !important;
+}
+
+.k-empty-msg {
+ font-size: 16px;
+ font-style: italic;
+}
+
+button.k-ent-header-btn {
+ margin-left: 5px !important;
+}
+
+.k-ent-header-btn * {
+ font-size: 13px !important;
+}
+
+table.k-folder-viewer {
+ border: 5px solid #FFF;
+ border-collapse: separate;
+}
+
+/* Suggest box */
+.gwt-SuggestBox {
+ padding: 2px;
+}
+
+.gwt-SuggestBoxPopup {
+ background-color: #FFF;
+ border: 2px solid #552200;
+ padding: 3px;
+ color: white;
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
+ kfilter: alpha(opacity = 90);
+ -moz-opacity: 0.90;
+ -khtml-opacity: 0.90;
+ opacity: 0.90;
+ margin-left: 3px;
+}
+
+.gwt-SuggestBoxPopup .item {
+ padding: 2px 6px;
+ color: #424242;
+ cursor: default;
+}
+
+.gwt-SuggestBoxPopup .item-selected {
+ background: #cdcdcd;
+ cursor: pointer;
+}
+
+.gwt-SuggestBoxPopup .suggestPopupContent {
+ background: white;
+}
+
+.k-sitebarsearch {
+ border: 1px solid #E4A374;
+ margin: 1px 6px 0 3px;
+ padding-left: 1px;
+ color: #B3B3B3;
+ background: transparent;
+}
+
+.k-sitebarsearch-img {
+ cursor: pointer;
+ background: none;
+ border: 0px;
+ padding: 2px 0 0 0 !important;
+}
+
+/* end of suggestbox */
+.k-table {
+ display: table;
+}
+
+.k-table-row {
+ display: table-row;
+}
+
+.k-table-cell {
+ display: table-cell;
+}
+
+/* Decorated tabbar */
+.gwt-DecoratedTabBar {
+
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarFirst {
+ width: 5px; /* first tab distance from the left */
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarRest {
+
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem {
+ border-collapse: collapse;
+ margin-left: 6px;
+}
+
+.gwt-DecoratedTabBar .tabTopCenter {
+ padding: 0px;
+ background: #e3e3e3;
+}
+
+.gwt-DecoratedTabBar .tabTopLeft,.gwt-DecoratedTabBar .tabTopRight {
+ padding: 0px;
+ zoom: 1;
+}
+
+.gwt-DecoratedTabBar .tabTopLeftInner,.gwt-DecoratedTabBar .tabTopRightInner
+ {
+ width: 6px;
+ height: 6px;
+}
+
+.gwt-DecoratedTabBar .tabTopLeft {
+ background: url(images/corner.png) no-repeat 0px -55px;
+ -background: url(images/corner_ie6.png) no-repeat 0px -55px;
+}
+
+.gwt-DecoratedTabBar .tabTopRight {
+ background: url(images/corner.png) no-repeat -6px -55px;
+ -background: url(images/corner_ie6.png) no-repeat -6px -55px;
+}
+
+* html .gwt-DecoratedTabBar .tabTopLeftInner,* html .gwt-DecoratedTabBar .tabTopRightInner
+ {
+ width: 6px;
+ height: 6px;
+ overflow: hidden;
+}
+
+.gwt-DecoratedTabBar .tabMiddleLeft,.gwt-DecoratedTabBar .tabMiddleRight
+ {
+ width: 6px;
+ padding: 0px;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+
+.gwt-DecoratedTabBar .tabMiddleLeftInner,.gwt-DecoratedTabBar .tabMiddleRightInner
+ {
+ width: 1px;
+ height: 1px;
+}
+
+.gwt-DecoratedTabBar .tabMiddleCenter {
+ padding: 0px 4px 2px 4px;
+ cursor: pointer;
+ cursor: hand;
+ color: black;
+ font-weight: bold;
+ text-align: center;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopCenter {
+ background: #747474;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopLeft {
+ background-position: 0px -61px;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRight {
+ background-position: -6px -61px;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight
+ {
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleCenter {
+ cursor: default;
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+ color: white;
+}
+
+.gwt-DecoratedTabBar .gwt-TabBarItem-disabled .tabMiddleCenter {
+ cursor: default;
+ color: #999999;
+}
+
+/* end Decorated tabbar */
\ No newline at end of file
1
0
Author: vjrj_
Date: 2011-05-05 18:19:38 +0200 (Thu, 05 May 2011)
New Revision: 1347
Removed:
trunk/src/test/java/org/ourproject/kune/rack/
Modified:
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.ui.xml
trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptionsDefLicensePanel.java
trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptionsLogoPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptionsToolsConfPanel.java
trunk/src/test/java/cc/kune/core/server/access/FinderTest.java
trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceSaveTest.java
Log:
Options UI and test fixes
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java 2011-05-05 16:19:38 UTC (rev 1347)
@@ -51,7 +51,7 @@
@UiField
IconLabel title;
@UiField
- VerticalPanel vp;
+ FlowPanel vp;
public BasicDialog() {
initWidget(uiBinder.createAndBindUi(this));
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.ui.xml 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.ui.xml 2011-05-05 16:19:38 UTC (rev 1347)
@@ -4,10 +4,9 @@
<g:VerticalPanel spacing="12"
addStyleNames="k-dialog-outerp, k-bottom-10corners">
<g:SimplePanel>
- <g:VerticalPanel addStyleNames="k-dialog-innerp, k-3corners"
- spacing="10">
- <k:IconLabel ui:field="title" addStyleNames="k-dialog-title" />
- <g:VerticalPanel ui:field="vp" />
+ <g:VerticalPanel addStyleNames="k-dialog-innerp, k-3corners">
+ <k:IconLabel ui:field="title" addStyleNames="k-dialog-title, " />
+ <g:FlowPanel ui:field="vp" addStyleNames="kune-Margin-Medium-trbl" />
<g:VerticalPanel ui:field="bottomPanel" width="100%"></g:VerticalPanel>
</g:VerticalPanel>
</g:SimplePanel>
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-05-05 16:19:38 UTC (rev 1347)
@@ -94,6 +94,7 @@
dialogId).sndButtonTitle(sndBtnTitle).title(title).build();
messageErrorBar = new MessageToolbar(images, errorLabelId);
tabPanel = new DecoratedTabPanel();
+ tabPanel.getDeckPanel().setSize(String.valueOf(width), String.valueOf(height));
dialog.getInnerPanel().add(tabPanel);
}
Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-05-05 16:19:38 UTC (rev 1347)
@@ -138,7 +138,7 @@
color: #552200;
font-size: 20px;
font-weight: bold;
- margin: 5px 0 5px 10px;
+ margin: 10px 0 10px 10px;
}
.k-dialog-innerp {
@@ -156,10 +156,6 @@
margin: 10px
}
-.k-dialog-innerp table {
- margin: 5px;
-}
-
.k-dialog-btn {
text-shadow: 1px 1px 1px #FFFFFF;
font-weight: bold;
@@ -638,4 +634,20 @@
.k-btn-min {
min-width: 19px !important;
-}
\ No newline at end of file
+}
+
+.k-overflow-y-scroll {
+ overflow-y: scroll;
+}
+.k-overflow-y-auto {
+ overflow-y: auto;
+}
+.k-overflow-x-scroll {
+ overflow-x: scroll;
+}
+
+.k-tab-panel {
+ padding: 10px;
+ background-color: #F2F0F0;
+ border: 1px solid #D0D0D0;
+}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-05 16:19:38 UTC (rev 1347)
@@ -90,52 +90,6 @@
}
-.gwt-TabPanel {
-
-}
-
-.gwt-TabPanelBottom {
- border-left: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- border-bottom: 1px solid #87b3ff;
-}
-
-.gwt-TabBar {
- font-size: smaller;
-}
-
-.gwt-TabBar .gwt-TabBarFirst {
- height: 100%;
- border-bottom: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- padding-left: 3px;
-}
-
-.gwt-TabBar .gwt-TabBarRest {
- border-bottom: 1px solid #87b3ff;
- padding-right: 3px;
-}
-
-.gwt-TabBar .gwt-TabBarItem {
- border-top: 1px solid #87b3ff;
- border-bottom: 1px solid #87b3ff;
- padding: 2px;
- cursor: hand;
- white-space: nowrap;
- border-right: 1px solid #87b3ff;
-}
-
-.gwt-TabBar .gwt-TabBarItem-selected {
- font-weight: bold;
- background-color: #e8eef7;
- border-top: 1px solid #87b3ff;
- border-right: 1px solid #87b3ff;
- border-bottom: 1px solid #e8eef7;
- padding: 2px;
- cursor: default;
- white-space: nowrap;
-}
-
.gwt-PushButton-up {
background-color: #C3D9FF;
padding: 2px;
@@ -1203,4 +1157,90 @@
.k-table-cell {
display: table-cell;
-}
\ No newline at end of file
+}
+
+/* Decorated tabbar */
+
+.gwt-DecoratedTabBar {
+}
+.gwt-DecoratedTabBar .gwt-TabBarFirst {
+ width: 5px; /* first tab distance from the left */
+}
+.gwt-DecoratedTabBar .gwt-TabBarRest {
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem {
+ border-collapse: collapse;
+ margin-left: 6px;
+}
+.gwt-DecoratedTabBar .tabTopCenter {
+ padding: 0px;
+ background: #e3e3e3;
+}
+.gwt-DecoratedTabBar .tabTopLeft,
+.gwt-DecoratedTabBar .tabTopRight {
+ padding: 0px;
+ zoom: 1;
+}
+.gwt-DecoratedTabBar .tabTopLeftInner,
+.gwt-DecoratedTabBar .tabTopRightInner {
+ width: 6px;
+ height: 6px;
+}
+.gwt-DecoratedTabBar .tabTopLeft {
+ background: url(images/corner.png) no-repeat 0px -55px;
+ -background: url(images/corner_ie6.png) no-repeat 0px -55px;
+}
+.gwt-DecoratedTabBar .tabTopRight {
+ background: url(images/corner.png) no-repeat -6px -55px;
+ -background: url(images/corner_ie6.png) no-repeat -6px -55px;
+}
+* html .gwt-DecoratedTabBar .tabTopLeftInner,
+* html .gwt-DecoratedTabBar .tabTopRightInner {
+ width: 6px;
+ height: 6px;
+ overflow: hidden;
+}
+.gwt-DecoratedTabBar .tabMiddleLeft,
+.gwt-DecoratedTabBar .tabMiddleRight {
+ width: 6px;
+ padding: 0px;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+.gwt-DecoratedTabBar .tabMiddleLeftInner,
+.gwt-DecoratedTabBar .tabMiddleRightInner {
+ width: 1px;
+ height: 1px;
+}
+.gwt-DecoratedTabBar .tabMiddleCenter {
+ padding: 0px 4px 2px 4px;
+ cursor: pointer;
+ cursor: hand;
+ color: black;
+ font-weight: bold;
+ text-align: center;
+ background: #e3e3e3 url(images/hborder.png) repeat-x 0px -1463px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopCenter {
+ background: #747474;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopLeft {
+ background-position: 0px -61px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRight {
+ background-position: -6px -61px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight {
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleCenter {
+ cursor: default;
+ background: #bcbcbc url(images/hborder.png) repeat-x 0px -2511px;
+ color: white;
+}
+.gwt-DecoratedTabBar .gwt-TabBarItem-disabled .tabMiddleCenter {
+ cursor: default;
+ color: #999999;
+}
+
+/* end Decorated tabbar */
Modified: trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-05-05 16:19:38 UTC (rev 1347)
@@ -19,8 +19,6 @@
*/
package cc.kune.core.server.state;
-import java.sql.Date;
-
import org.waveprotocol.wave.model.waveref.InvalidWaveRefException;
import org.waveprotocol.wave.util.escapers.jvm.JavaWaverefEncoder;
@@ -110,13 +108,14 @@
try {
final Wavelet wavelet = kuneWaveManager.fetchWavelet(
JavaWaverefEncoder.decodeWaveRefFromPath(waveId), content.getAuthors().get(0).getShortName());
- state.setContent(wavelet.getRootBlip().getContent());
+ final String currentContent = wavelet.getRootBlip().getContent();
+ state.setContent(currentContent);
// Well we "cache" the last modified time of waves in db (w'll find
- // another way to
- // do it better in the future with db persitence of waves)
+ // another way to do it better in the future with db persitence of
+ // waves)
contentManager.setModifiedOn(content, wavelet.getLastModifiedTime());
+ // contentManager.save(userLogged, content, currentContent);
state.setTitle(wavelet.getTitle());
- state.setModifiedOn(new Date(wavelet.getLastModifiedTime()));
state.setIsParticipant(userLogged != User.UNKNOWN_USER ? kuneWaveManager.isParticipant(wavelet,
userLogged.getShortName()) : false);
} catch (final InvalidWaveRefException e) {
Modified: trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptionsDefLicensePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptionsDefLicensePanel.java 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptionsDefLicensePanel.java 2011-05-05 16:19:38 UTC (rev 1347)
@@ -30,10 +30,10 @@
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.VerticalPanel;
public class EntityOptionsDefLicensePanel extends Composite implements EntityOptionsDefLicenseView {
@@ -43,19 +43,20 @@
public EntityOptionsDefLicensePanel(final I18nTranslationService i18n, final CoreResources res) {
tabTitle = new IconLabel(res.copyleft(), i18n.t("License"));
- tabTitle.setHeight("22px");
- final VerticalPanel vp = new VerticalPanel();
+ final FlowPanel flow = new FlowPanel();
final Label intro = new Label();
intro.setWordWrap(true);
intro.setText(i18n.t("This is the default license for all the contents of this group (you can also select another different license per content):"));
- vp.add(intro);
+ flow.add(intro);
licenseImage = new Image();
- vp.add(licenseImage);
+ flow.add(licenseImage);
licenseImage.addStyleName("kune-pointer");
change = new Button(i18n.t("Change"));
- initWidget(vp);
- super.setHeight(String.valueOf(EntityOptionsView.HEIGHT));
- super.setWidth(String.valueOf(EntityOptionsView.WIDTH));
+ initWidget(flow);
+ flow.setHeight(String.valueOf(EntityOptionsView.HEIGHT) + "px");
+ flow.setWidth(String.valueOf(EntityOptionsView.WIDTH) + "px");
+ flow.addStyleName("k-overflow-y-auto");
+ flow.addStyleName("k-tab-panel");
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptionsLogoPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptionsLogoPanel.java 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptionsLogoPanel.java 2011-05-05 16:19:38 UTC (rev 1347)
@@ -22,7 +22,6 @@
import cc.kune.common.client.log.Log;
import cc.kune.common.client.ui.IconLabel;
import cc.kune.common.client.utils.OnAcceptCallback;
-import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.resources.nav.NavResources;
import cc.kune.core.client.services.FileConstants;
@@ -46,173 +45,173 @@
public class EntityOptionsLogoPanel extends Composite implements EntityOptionsLogoView {
- public static final String ICON_UPLD_SERVLET = "servlets/EntityLogoUploadManager";
- private final Label dialogInfoLabel;
- private final FileUpload fileUpload = new FileUpload();
- private final FormPanel form = new FormPanel();
- private final I18nTranslationService i18n;
- private OnAcceptCallback onAccept;
- private final IconLabel tabTitle;
- private final Hidden tokenField;
- private final Hidden userhashField;
+ public static final String ICON_UPLD_SERVLET = "servlets/EntityLogoUploadManager";
+ private final Label dialogInfoLabel;
+ private final FileUpload fileUpload = new FileUpload();
+ private final FormPanel form = new FormPanel();
+ private final I18nTranslationService i18n;
+ private OnAcceptCallback onAccept;
+ private final IconLabel tabTitle;
+ private final Hidden tokenField;
+ private final Hidden userhashField;
- // private final TextField file;
+ // private final TextField file;
- public EntityOptionsLogoPanel(final EventBus eventBus, final I18nTranslationService i18n, final String panelId,
- final String buttonId, final String inputId, final NavResources res) {
- super();
- this.i18n = i18n;
- tabTitle = new IconLabel(res.picture(), "");
- // super.setButtonAlign(HorizontalAlignment.LEFT);
- // super.setFrame(true);
- // super.setAutoScroll(false);
- // super.setBorder(false);
- // super.setFileUpload(true);
- // super.setWidth(400);
- // super.setIconCls("k-picture-icon");
- // super.setMethod(Method.POST);
- // super.setUrl(ICON_UPLD_SERVLET);
- // super.setWaitMsgTarget(true);
- // super.setHideLabels(true);
- // super.setPadding(10);
- // super.addFormListener(new FormListener() {
- // @Override
- // public boolean doBeforeAction(final Form form) {
- // return true;
- // }
- //
- // @Override
- // public void onActionComplete(final Form form, final int httpStatus,
- // final String responseText) {
- // presenter.onSubmitComplete(httpStatus, responseText);
- // }
- //
- // @Override
- // public void onActionFailed(final Form form, final int httpStatus,
- // final String responseText) {
- // presenter.onSubmitFailed(httpStatus, responseText);
- // }
- // });
- // super.add(dialogInfoLabel);
- // file = new TextField("File", inputId);
- // final EventCallback keyListener = new EventCallback() {
- // @Override
- // public void execute(final EventObject e) {
- // // setEnableFileField();
- // }
- // };
- // file.addKeyPressListener(keyListener);
- // file.setId(inputId);
- // file.setInputType("file");
- // super.add(file);
- // final FieldListenerAdapter changeListener = new
- // FieldListenerAdapter() {
- // @Override
- // public void onChange(final Field field, final Object newVal, final
- // Object oldVal) {
- // NotifyUser.info("change");
- // // setEnableFileField();
- // }
- // };
- // // Don't works:
- // file.addListener(changeListener);
- // setId(panelId);
- //
- // sendButton.setId(buttonId);
- // super.addButton(sendButton);
+ public EntityOptionsLogoPanel(final EventBus eventBus, final I18nTranslationService i18n,
+ final String panelId, final String buttonId, final String inputId, final NavResources res) {
+ super();
+ this.i18n = i18n;
+ tabTitle = new IconLabel(res.picture(), "");
+ // super.setButtonAlign(HorizontalAlignment.LEFT);
+ // super.setFrame(true);
+ // super.setAutoScroll(false);
+ // super.setBorder(false);
+ // super.setFileUpload(true);
+ // super.setWidth(400);
+ // super.setIconCls("k-picture-icon");
+ // super.setMethod(Method.POST);
+ // super.setUrl(ICON_UPLD_SERVLET);
+ // super.setWaitMsgTarget(true);
+ // super.setHideLabels(true);
+ // super.setPadding(10);
+ // super.addFormListener(new FormListener() {
+ // @Override
+ // public boolean doBeforeAction(final Form form) {
+ // return true;
+ // }
+ //
+ // @Override
+ // public void onActionComplete(final Form form, final int httpStatus,
+ // final String responseText) {
+ // presenter.onSubmitComplete(httpStatus, responseText);
+ // }
+ //
+ // @Override
+ // public void onActionFailed(final Form form, final int httpStatus,
+ // final String responseText) {
+ // presenter.onSubmitFailed(httpStatus, responseText);
+ // }
+ // });
+ // super.add(dialogInfoLabel);
+ // file = new TextField("File", inputId);
+ // final EventCallback keyListener = new EventCallback() {
+ // @Override
+ // public void execute(final EventObject e) {
+ // // setEnableFileField();
+ // }
+ // };
+ // file.addKeyPressListener(keyListener);
+ // file.setId(inputId);
+ // file.setInputType("file");
+ // super.add(file);
+ // final FieldListenerAdapter changeListener = new
+ // FieldListenerAdapter() {
+ // @Override
+ // public void onChange(final Field field, final Object newVal, final
+ // Object oldVal) {
+ // NotifyUser.info("change");
+ // // setEnableFileField();
+ // }
+ // };
+ // // Don't works:
+ // file.addListener(changeListener);
+ // setId(panelId);
+ //
+ // sendButton.setId(buttonId);
+ // super.addButton(sendButton);
- dialogInfoLabel = new Label();
- dialogInfoLabel.setWordWrap(true);
+ dialogInfoLabel = new Label();
+ dialogInfoLabel.setWordWrap(true);
+ dialogInfoLabel.addStyleName("kune-Margin-20-tb");
+ form.setEncoding(FormPanel.ENCODING_MULTIPART);
+ form.setMethod(FormPanel.METHOD_POST);
+ form.setAction(GWT.getModuleBaseURL() + ICON_UPLD_SERVLET);
- form.setEncoding(FormPanel.ENCODING_MULTIPART);
- form.setMethod(FormPanel.METHOD_POST);
- form.setAction(GWT.getModuleBaseURL() + ICON_UPLD_SERVLET);
+ userhashField = new Hidden(FileConstants.HASH, FileConstants.HASH);
+ tokenField = new Hidden(FileConstants.TOKEN, FileConstants.TOKEN);
- userhashField = new Hidden(FileConstants.HASH, FileConstants.HASH);
- tokenField = new Hidden(FileConstants.TOKEN, FileConstants.TOKEN);
+ final VerticalPanel holder = new VerticalPanel();
- final VerticalPanel holder = new VerticalPanel();
+ fileUpload.setName("upload");
+ holder.add(dialogInfoLabel);
+ holder.add(fileUpload);
+ holder.add(userhashField);
+ holder.add(tokenField);
+ holder.add(new Button(i18n.t("Send"), new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ Log.info("You selected: " + fileUpload.getFilename(), null);
+ form.submit();
+ }
+ }));
- fileUpload.setName("upload");
- holder.add(dialogInfoLabel);
- holder.add(fileUpload);
- holder.add(userhashField);
- holder.add(tokenField);
- holder.add(new Button(i18n.t("Send"), new ClickHandler() {
- @Override
- public void onClick(final ClickEvent event) {
- Log.info("You selected: " + fileUpload.getFilename(), null);
- form.submit();
- }
- }));
+ form.addSubmitHandler(new FormPanel.SubmitHandler() {
+ @Override
+ public void onSubmit(final SubmitEvent event) {
+ // final String filename = file.getValueAsString();
+ // if (filename != null && filename.length() > 0) {
+ // getForm().submit();
+ // }
- form.addSubmitHandler(new FormPanel.SubmitHandler() {
- @Override
- public void onSubmit(final SubmitEvent event) {
- // final String filename = file.getValueAsString();
- // if (filename != null && filename.length() > 0) {
- // getForm().submit();
- // }
+ if (!"".equalsIgnoreCase(fileUpload.getFilename())) {
+ GWT.log("UPLOADING FILE????", null);
+ // NOW WHAT????
+ } else {
+ event.cancel(); // cancel the event
+ }
- if (!"".equalsIgnoreCase(fileUpload.getFilename())) {
- GWT.log("UPLOADING FILE????", null);
- // NOW WHAT????
- } else {
- event.cancel(); // cancel the event
- }
+ }
+ });
- }
- });
+ form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
+ @Override
+ public void onSubmitComplete(final SubmitCompleteEvent event) {
+ CurrentLogoChangedEvent.fire(eventBus);
+ }
+ });
+ form.add(holder);
+ initWidget(form);
+ setHeight(String.valueOf(EntityOptionsView.HEIGHT) + "px");
+ setWidth(String.valueOf(EntityOptionsView.WIDTH) + "px");
+ addStyleName("k-overflow-y-auto");
+ addStyleName("k-tab-panel");
+ }
- form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
- @Override
- public void onSubmitComplete(final SubmitCompleteEvent event) {
- CurrentLogoChangedEvent.fire(eventBus);
- }
- });
- form.add(holder);
- initWidget(form);
- setHeight(String.valueOf(EntityOptionsView.HEIGHT));
- setWidth(String.valueOf(EntityOptionsView.WIDTH));
- }
+ @Override
+ public OnAcceptCallback getOnSubmit() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- @Override
- public OnAcceptCallback getOnSubmit() {
- // TODO Auto-generated method stub
- return null;
- }
+ @Override
+ public IsWidget getTabTitle() {
+ return tabTitle;
+ }
- @Override
- public IsWidget getTabTitle() {
- return tabTitle;
- }
+ public void reset() {
+ form.reset();
+ }
- public void reset() {
- form.reset();
- }
+ @Override
+ public void setNormalGroupsLabels() {
+ dialogInfoLabel.setText(i18n.t("Select an image in your computer as the logo for this group. "
+ + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
+ FileConstants.LOGO_DEF_HEIGHT, FileConstants.LOGO_DEF_HEIGHT));
+ tabTitle.setText(CoreMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
+ }
- @Override
- public void setNormalGroupsLabels() {
- dialogInfoLabel.setText(i18n.t("Select an image in your computer as the logo for this group. "
- + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
- FileConstants.LOGO_DEF_HEIGHT, FileConstants.LOGO_DEF_HEIGHT)
- + TextUtils.brbr());
- tabTitle.setText(CoreMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
- }
+ @Override
+ public void setPersonalGroupsLabels() {
+ dialogInfoLabel.setText(i18n.t("Select an image in your computer as your avatar. "
+ + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
+ FileConstants.LOGO_DEF_HEIGHT, FileConstants.LOGO_DEF_HEIGHT));
+ tabTitle.setText(CoreMessages.ENT_LOGO_SELECTOR_PERSON_TITLE);
+ }
- @Override
- public void setPersonalGroupsLabels() {
- dialogInfoLabel.setText(i18n.t("Select an image in your computer as your avatar. "
- + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
- FileConstants.LOGO_DEF_HEIGHT, FileConstants.LOGO_DEF_HEIGHT)
- + "<br/><br/>");
- tabTitle.setText(CoreMessages.ENT_LOGO_SELECTOR_PERSON_TITLE);
- }
+ @Override
+ public void setUploadParams(final String userHash, final String token) {
+ userhashField.setValue(userHash);
+ tokenField.setValue(token);
+ }
- @Override
- public void setUploadParams(final String userHash, final String token) {
- userhashField.setValue(userHash);
- tokenField.setValue(token);
- }
-
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/gspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java 2011-05-05 16:19:38 UTC (rev 1347)
@@ -35,13 +35,14 @@
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
-public class EntityOptionsPublicSpaceConfPanel extends VerticalPanel implements
+public class EntityOptionsPublicSpaceConfPanel extends FlowPanel implements
EntityOptionsPublicSpaceConfView {
private final Image backImage;
@@ -55,13 +56,8 @@
final FileDownloadUtils downUtils, final CoreResources res) {
this.downUtils = downUtils;
tabTitle = new IconLabel(res.themeChoose(), i18n.t("Style"));
- // super.setIconCls("k-colors-icon");
- // super.setAutoScroll(true);
- // super.setBorder(false);
- super.setHeight(String.valueOf(EntityOptionsView.HEIGHT));
- super.setWidth(String.valueOf(EntityOptionsView.WIDTH));
- // super.setFrame(true);
- // super.setPaddings(10);
+ super.setHeight(String.valueOf(EntityOptionsView.HEIGHT) + "px");
+ super.setWidth(String.valueOf(EntityOptionsView.WIDTH) + "px");
final HorizontalPanel wsHP = new HorizontalPanel();
final Label wsThemeInfo = new Label(i18n.t("Change this workspace theme:"));
@@ -92,7 +88,7 @@
@Override
public void onClick(final ClickEvent event) {
- NotifyUser.info(TextUtils.IN_DEVELOPMENT_P);
+ NotifyUser.info(TextUtils.IN_DEVELOPMENT);
}
};
for (int i = 1; i <= 6; i++) {
@@ -103,6 +99,8 @@
}
add(stylesPanel);
setBackImageVisibleImpl(false);
+ super.addStyleName("k-overflow-y-auto");
+ super.addStyleName("k-tab-panel");
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptionsToolsConfPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptionsToolsConfPanel.java 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/main/java/cc/kune/gspace/client/options/tools/EntityOptionsToolsConfPanel.java 2011-05-05 16:19:38 UTC (rev 1347)
@@ -48,12 +48,14 @@
public EntityOptionsToolsConfPanel(final I18nTranslationService i18n, final CoreResources res) {
tabTitle = new IconLabel(res.kunePreferences(), i18n.t("Tools"));
this.i18n = i18n;
- super.setHeight(EntityOptionsView.HEIGHT);
+ // super.setHeight(EntityOptionsView.HEIGHT);
super.setWidth(EntityOptionsView.WIDTH);
super.setFrame(true);
super.add(new HiddenField());
super.getFormPanel().setLabelWidth(20);
fields = new HashMap<String, CheckBox>();
+ super.addStyleName("k-overflow-y-auto");
+ // super.addStyleName("k-tab-panel");
}
@Override
@@ -65,7 +67,6 @@
@Override
public void handleEvent(final BaseEvent be) {
handler.onClick(null);
- // presenter.onCheck(tool, checked);
}
});
super.add(checkbox);
Modified: trunk/src/test/java/cc/kune/core/server/access/FinderTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/access/FinderTest.java 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/test/java/cc/kune/core/server/access/FinderTest.java 2011-05-05 16:19:38 UTC (rev 1347)
@@ -22,6 +22,7 @@
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
+import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -76,6 +77,15 @@
finder.getContent(new StateToken("groupShortName", "toolName", "5", "1"), null);
}
+ @Before
+ public void createSession() {
+ this.groupManager = Mockito.mock(GroupManager.class);
+ this.containerManager = Mockito.mock(ContainerManager.class);
+ this.contentManager = Mockito.mock(ContentManager.class);
+ this.rateManager = Mockito.mock(RateManager.class);
+ this.finder = new FinderServiceDefault(groupManager, containerManager, contentManager, rateManager);
+ }
+
@Test
public void getGroupDefaultContent() throws Exception {
final Group group = new Group();
Modified: trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceSaveTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceSaveTest.java 2011-05-05 14:46:37 UTC (rev 1346)
+++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceSaveTest.java 2011-05-05 16:19:38 UTC (rev 1347)
@@ -22,7 +22,6 @@
import static org.junit.Assert.assertEquals;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import cc.kune.core.server.TestDomainHelper;
@@ -31,39 +30,40 @@
public class ContentServiceSaveTest extends ContentServiceIntegrationTest {
- private StateContentDTO defaultContent;
+ private StateContentDTO defaultContent;
- @Before
- public void init() throws Exception {
- new IntegrationTestHelper(this);
- defaultContent = getSiteDefaultContent();
- doLogin();
- }
+ @Before
+ public void init() throws Exception {
+ new IntegrationTestHelper(this);
+ defaultContent = getSiteDefaultContent();
+ doLogin();
+ }
- @Test
- public void testSaveAndRetrieve() throws Exception {
- // We set the same content (in this case a wave id)
- final String text = defaultContent.getWaveRef();
- final int version = defaultContent.getVersion();
- contentService.save(getHash(), defaultContent.getStateToken(), text);
- final StateContentDTO again = (StateContentDTO) contentService.getContent(getHash(),
- defaultContent.getStateToken());
- assertEquals(text, again.getWaveRef());
- assertEquals(version + 1, again.getVersion());
- assertEquals(0, again.getRateByUsers().intValue());
- assertEquals(new Double(0), again.getRate());
- }
+ @Test
+ public void testSaveAndRetrieve() throws Exception {
+ final String text = "Some content";
+ final int version = defaultContent.getVersion();
+ contentService.save(getHash(), defaultContent.getStateToken(), text);
+ final StateContentDTO again = (StateContentDTO) contentService.getContent(getHash(),
+ defaultContent.getStateToken());
+ assertEquals(defaultContent.getWaveRef(), again.getWaveRef());
+ assertEquals(version + 2, again.getVersion());
+ assertEquals(0, again.getRateByUsers().intValue());
+ // Here we fetch the wave content (no the db content)
+ // assertEquals(text, again.getContent());
+ assertEquals(new Double(0), again.getRate());
+ }
- @Ignore
- @Test
- public void testSaveAndRetrieveBig() throws Exception {
- final String text = TestDomainHelper.createBigText();
- final int version = defaultContent.getVersion();
- contentService.save(getHash(), defaultContent.getStateToken(), text);
- final StateContentDTO again = (StateContentDTO) contentService.getContent(getHash(),
- defaultContent.getStateToken());
- assertEquals(version + 1, again.getVersion());
- assertEquals(text, again.getContent());
- }
+ @Test
+ public void testSaveAndRetrieveBig() throws Exception {
+ final String text = TestDomainHelper.createBigText();
+ final int version = defaultContent.getVersion();
+ contentService.save(getHash(), defaultContent.getStateToken(), text);
+ final StateContentDTO again = (StateContentDTO) contentService.getContent(getHash(),
+ defaultContent.getStateToken());
+ assertEquals(version + 2, again.getVersion());
+ // Here we fetch the wave content (no the db content)
+ // assertEquals(text, again.getContent());
+ }
}
1
0
Author: vjrj_
Date: 2011-05-05 16:46:37 +0200 (Thu, 05 May 2011)
New Revision: 1346
Added:
trunk/img/kune-intro-min.png
Removed:
trunk/src/main/java/cc/kune/core/server/content/CommentManager.java
trunk/src/main/java/cc/kune/core/server/content/CommentManagerDefault.java
trunk/src/main/java/cc/kune/core/shared/dto/CommentDTO.java
trunk/src/main/java/cc/kune/domain/Comment.java
trunk/src/test/java/cc/kune/core/server/integration/content/ContentCommentServiceTest.java
Modified:
trunk/img/kune-intro.svg
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
trunk/src/main/java/cc/kune/core/server/access/FinderService.java
trunk/src/main/java/cc/kune/core/server/access/FinderServiceDefault.java
trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
trunk/src/main/java/cc/kune/core/server/state/StateContent.java
trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
trunk/src/main/java/cc/kune/core/shared/dto/ContentSimpleDTO.java
trunk/src/main/java/cc/kune/core/shared/dto/StateContentDTO.java
trunk/src/main/java/cc/kune/domain/Content.java
trunk/src/main/java/cc/kune/gspace/client/actions/RenameAction.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemDescriptor.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemWidget.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemWidget.ui.xml
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
trunk/src/main/resources/META-INF/persistence.xml
trunk/src/main/resources/dozerBeanMapping.xml
trunk/src/test/java/cc/kune/core/server/TestConstants.java
trunk/src/test/java/cc/kune/core/server/access/FinderTest.java
trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java
trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java
Log:
Changes in db domain, some other fixes
Added: trunk/img/kune-intro-min.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/kune-intro-min.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/img/kune-intro.svg
===================================================================
--- trunk/img/kune-intro.svg 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/img/kune-intro.svg 2011-05-05 14:46:37 UTC (rev 1346)
@@ -24,9 +24,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="0.98994949"
- inkscape:cx="448.08112"
- inkscape:cy="520"
+ inkscape:zoom="1"
+ inkscape:cx="124.2033"
+ inkscape:cy="320.54641"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
@@ -432,60 +432,109 @@
sodipodi:type="arc" />
</g>
<g
- id="g8729"
- transform="matrix(0.69032837,0,0,0.69032837,-226.87213,174.45352)">
+ id="g8699-2"
+ transform="matrix(0.69032837,0,0,0.69032837,66.145968,308.75342)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- sodipodi:type="arc"
- style="color:#000000;fill:#aaeeff;fill-opacity:1;fill-rule:nonzero;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path4967"
+ sodipodi:type="star"
+ style="color:#000000;fill:none;stroke:#28220b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4963-9"
+ sodipodi:sides="5"
+ sodipodi:cx="35"
+ sodipodi:cy="12.362183"
+ sodipodi:r1="5"
+ sodipodi:r2="4.045085"
+ sodipodi:arg1="1.5707963"
+ sodipodi:arg2="2.1991149"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 35,17.362183 -4.755283,-3.454915 1.816357,-5.5901703 5.877852,-10e-8 1.816357,5.5901694 z"
+ inkscape:transform-center-y="-0.10735044"
+ transform="matrix(2.331168,0.83049401,-0.83049401,2.331168,12.776852,771.74251)"
+ inkscape:transform-center-x="1.078998" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceEnabled.png"
+ transform="matrix(1.1754752,0,0,2.3509505,-21.691738,753.33034)"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ sodipodi:ry="10"
+ sodipodi:rx="20"
+ sodipodi:cy="32.362183"
sodipodi:cx="90"
- sodipodi:cy="32.362183"
- sodipodi:rx="20"
- sodipodi:ry="10"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- transform="matrix(1.1754752,0,0,2.3509505,30.276632,753.33034)" />
+ id="path4965-9"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 130.79962,807.50532 c -2.85339,0.78923 -5.20625,2.69048 -7.74114,4.12698 -1.45578,1.08139 -3.17371,4.03552 -1.21347,5.32414 1.55176,0.2611 2.79811,-1.05921 4.32566,-1.15498 1.78407,-0.4112 3.60556,-0.7363 5.29696,-1.46265 2.88934,-0.9105 2.88934,-0.9105 3.18467,-1.97638 0.14032,-1.60483 -1.00047,-3.09256 -2.07745,-4.18939 -0.49137,-0.40285 -1.11497,-0.78049 -1.77523,-0.66772 z"
- id="path4969"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
+ transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,51.694712,721.54769)"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ sodipodi:ry="1"
+ sodipodi:rx="1"
+ sodipodi:cy="16.362183"
+ sodipodi:cx="15"
+ id="path4973-0"
+ style="color:#000000;fill:#dd8a3d;fill-opacity:1;stroke:#dd8a3d;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 153.3922,823.22551 c -4.04703,2.06374 -8.81245,4.142 -10.56886,8.25203 -0.54013,1.26397 0.22272,2.75445 0.4124,4.10295 0.7708,1.43658 -1.11269,2.70312 -0.55672,4.14497 0.66534,1.49717 2.56652,1.27157 3.82727,0.79099 1.28493,-0.44158 -0.53582,-1.70575 0,0 0.58286,1.36335 5.36635,1.77935 6.80857,1.16016 1.38701,-0.50855 2.33091,-0.74837 2.99303,-1.90611 2.17102,-4.41676 3.23712,-9.41812 2.89588,-14.33661 -0.10641,-1.32539 -0.51397,-2.60792 -0.99259,-3.83098 -0.49507,-1.61389 -2.16711,0.0173 -2.82476,0.68071 -0.60256,0.42631 -1.2709,0.77633 -1.99422,0.94189 z"
- id="path4983"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cacccccccccc" />
+ sodipodi:type="arc"
+ style="color:#000000;fill:#69312f;fill-opacity:1;stroke:#69312f;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4975-8"
+ sodipodi:cx="15"
+ sodipodi:cy="16.362183"
+ sodipodi:rx="1"
+ sodipodi:ry="1"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,38.408722,716.19953)" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- inkscape:connector-curvature="0"
- id="path4985"
- d="m 121.52672,824.27304 c -2.3826,0.90534 -4.95654,1.52602 -7.13172,2.85353 -1.8032,1.51882 -1.57875,4.29287 -0.64391,6.22636 1.14716,2.47466 2.05723,5.06419 3.4281,7.43042 1.32587,1.74784 -0.0893,0.98747 1.52127,2.46832 0.45524,0.54208 3.2913,3.28282 4.94937,2.47469 0.82652,-0.40286 0.61983,-1.62095 0.54826,-2.70337 0.52083,-2.24499 -0.82476,-4.39163 -0.7175,-6.65278 -0.0579,-2.83898 0.49943,-5.64398 0.8377,-8.45265 0.19302,-1.55725 -0.68561,-4.455 -2.79157,-3.64452 z"
- style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:nodetypes="cccccacccc" />
+ transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,50.908082,736.08463)"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ sodipodi:ry="1"
+ sodipodi:rx="1"
+ sodipodi:cy="16.362183"
+ sodipodi:cx="15"
+ id="path4977-1"
+ style="color:#000000;fill:#28220b;fill-opacity:1;stroke:#28220b;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceEnabled.png"
- transform="matrix(1.1754752,0,0,2.3509505,30.276632,753.33034)"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- sodipodi:ry="10"
- sodipodi:rx="20"
- sodipodi:cy="32.362183"
- sodipodi:cx="90"
- id="path4987"
- style="color:#000000;fill:none;stroke:#002255;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ sodipodi:type="arc"
+ style="color:#000000;fill:#cc6633;fill-opacity:1;stroke:#cc6633;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4979-3"
+ sodipodi:cx="15"
+ sodipodi:cy="16.362183"
+ sodipodi:rx="1"
+ sodipodi:ry="1"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,37.248612,739.8127)" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ transform="matrix(5.5489598,1.9768537,-1.9768537,5.5489598,20.951652,708.53981)"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ sodipodi:ry="1"
+ sodipodi:rx="1"
+ sodipodi:cy="16.362183"
+ sodipodi:cx="15"
+ id="path4981-1"
+ style="color:#000000;fill:#ffdb6b;fill-opacity:1;stroke:#dd8a3d;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="arc" />
</g>
<g
@@ -759,5 +808,283 @@
x="74.030479"
sodipodi:role="line"
id="tspan10129">in real time</tspan></text>
+ <g
+ id="g9950-6"
+ transform="matrix(1.1841718,0,0,1.1841718,152.99098,651.95049)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ inkscape:export-ydpi="399.59854"
+ inkscape:export-xdpi="399.59854"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+ id="path2585-8"
+ d="m 273.08439,61.656431 c -0.94086,0 -1.84521,0.0038 -2.7527,0.06255 -0.0847,0.01722 -0.16503,0.0466 -0.25025,0.06255 -0.84477,0.157787 -1.67823,0.292338 -2.56501,0.312813 -0.12283,0.01722 -0.25319,-0.01836 -0.37537,0 -7.23791,1.089665 -13.35321,4.232391 -18.26793,9.446767 -5.73951,6.06158 -8.63346,13.323179 -8.63347,21.771374 0,8.542995 2.89397,15.853925 8.63347,21.896495 6.21303,6.51614 14.2855,9.75956 24.21126,9.75958 5.26591,-2e-5 10.3285,-1.30838 15.13985,-3.94137 4.81128,-2.55719 8.9947,-6.17652 12.57485,-10.76056 l -10.82313,-6.00589 c -4.65983,6.21305 -10.38519,9.32165 -17.20437,9.32165 -4.7356,0 -8.98159,-1.53619 -12.63741,-4.56698 -3.71271,-3.03077 -5.56801,-6.72237 -5.56796,-11.135945 l 49.48606,0 0,-2.50246 c -5e-5,-10.702335 -3.62514,-19.272304 -10.82312,-25.712732 -6.06157,-5.360601 -12.77627,-8.007783 -20.14477,-8.007859 z m -230.100847,0.43793 0,23.961011 -8.383224,0 0,12.262047 8.383224,0 0,25.024561 12.762525,0 0,-25.024561 7.695059,0 15.702918,25.024561 15.139855,0 -21.083194,-31.781201 20.144769,-28.277758 -15.452668,0 -15.577788,22.772351 -6.568951,0 0,-23.961011 -12.762525,0 z m 156.591197,0 c -2.19697,0.392104 -4.24408,1.030291 -6.13103,2.001968 -3.18232,1.704844 -5.69466,3.953222 -7.56992,6.756633 l 0,-7.569941 -12.82509,0 0,60.058959 12.82509,0 0,-33.658041 c -2e-5,-4.811275 1.35771,-8.502905 4.0665,-11.13593 2.72765,-2.632924 6.18568,-3.941333 10.44774,-3.941371 4.50823,3.8e-5 8.0288,1.20973 10.51032,3.691123 2.48138,2.481482 3.69105,6.370493 3.69113,11.636428 l 0,33.407791 12.82509,0 0,-36.223052 c -7e-5,-7.36852 -2.24843,-13.456553 -6.75664,-18.267934 -3.38123,-3.60845 -7.29356,-5.854486 -11.76155,-6.756633 l -9.32164,0 z m -97.22042,1.18866 0,34.784148 c -2e-5,8.145201 2.74589,14.730761 8.2581,19.769411 5.1144,4.73557 11.44922,7.13197 18.89354,7.13199 7.52004,-2e-5 13.82273,-2.39642 18.95611,-7.13199 5.51215,-5.03865 8.25804,-11.62421 8.25811,-19.769411 l 0,-34.784148 -12.82509,0 0,33.658038 c -7e-5,4.432511 -1.35779,8.038631 -4.06649,10.823121 -2.80351,2.87925 -6.21219,4.31674 -10.32264,4.31674 -3.95896,2e-5 -7.39407,-1.45642 -10.19751,-4.31674 -2.78453,-2.87919 -4.12909,-6.46636 -4.12905,-10.823121 l 0,-33.658038 -12.82508,0 z M 271.4578,73.16773 c 4.18619,6.4e-5 7.84165,1.173592 10.94824,3.503441 3.01177,2.386754 5.22976,5.863768 6.63151,10.447757 l -34.47133,0 c 1.00391,-4.413515 3.087,-7.841158 6.19357,-10.32264 3.0118,-2.40562 6.56857,-3.628494 10.69801,-3.628558 z"
+ style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;font-family:Emblem"
+ inkscape:connector-curvature="0" />
+ <g
+ inkscape:export-ydpi="399.59854"
+ inkscape:export-xdpi="399.59854"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+ transform="matrix(0.43982058,0,0,0.4392609,-61.046168,-320.82474)"
+ id="g6020-0">
+ <path
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path6022-2"
+ d="m 60.321717,411.99998 377.014613,0"
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ inkscape:connector-curvature="0" />
+ <path
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path6024-1"
+ d="m 252.61203,788.60332 0,-377.01178"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ inkscape:connector-curvature="0" />
+ <path
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path6026-0"
+ d="m 252.86937,597.15755 377.0124,0"
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ inkscape:connector-curvature="0" />
+ <path
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path6028-5"
+ d="m 437.45588,596.97447 0,-377.01491"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ inkscape:connector-curvature="0" />
+ <path
+ transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)"
+ id="path6030-1"
+ d="m 372.87905,411.27704 64.93441,0"
+ style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <text
+ sodipodi:linespacing="125%"
+ id="text2991-8"
+ y="847.95343"
+ x="151.89561"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
+ y="847.95343"
+ x="151.89561"
+ id="tspan2993-4"
+ sodipodi:role="line">Comunicate with others</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="197.72444"
+ y="1189.9738"
+ id="text2995-7"
+ sodipodi:linespacing="125%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan2997-2"
+ x="197.72444"
+ y="1189.9738"
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold">Public</tspan></text>
+ <g
+ id="g8695-4"
+ transform="matrix(0.69032837,0,0,0.69032837,102.02122,263.35464)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/userSpaceEnabled.png"
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4961-0"
+ sodipodi:cx="90"
+ sodipodi:cy="32.362183"
+ sodipodi:rx="20"
+ sodipodi:ry="10"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ transform="matrix(1.1754752,0,0,2.3509505,-73.660121,753.33034)" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/userSpaceEnabled.png"
+ sodipodi:type="arc"
+ style="color:#000000;fill:#d45500;fill-opacity:1;stroke:#d45500;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4971-6"
+ sodipodi:cx="15"
+ sodipodi:cy="16.362183"
+ sodipodi:rx="1"
+ sodipodi:ry="1"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ transform="matrix(4.9493694,0,0,4.9493694,-42.107891,748.42974)" />
+ </g>
+ <g
+ transform="matrix(0.69032837,0,0,0.69032837,30.270728,354.20632)"
+ id="g3297"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ transform="matrix(1.1754752,0,0,2.3509505,30.276632,753.33034)"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ sodipodi:ry="10"
+ sodipodi:rx="20"
+ sodipodi:cy="32.362183"
+ sodipodi:cx="90"
+ id="path3299"
+ style="color:#000000;fill:#aaeeff;fill-opacity:1;fill-rule:nonzero;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ inkscape:connector-curvature="0"
+ id="path3301"
+ d="m 130.79962,807.50532 c -2.85339,0.78923 -5.20625,2.69048 -7.74114,4.12698 -1.45578,1.08139 -3.17371,4.03552 -1.21347,5.32414 1.55176,0.2611 2.79811,-1.05921 4.32566,-1.15498 1.78407,-0.4112 3.60556,-0.7363 5.29696,-1.46265 2.88934,-0.9105 2.88934,-0.9105 3.18467,-1.97638 0.14032,-1.60483 -1.00047,-3.09256 -2.07745,-4.18939 -0.49137,-0.40285 -1.11497,-0.78049 -1.77523,-0.66772 z"
+ style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ sodipodi:nodetypes="cacccccccccc"
+ inkscape:connector-curvature="0"
+ id="path3303"
+ d="m 153.3922,823.22551 c -4.04703,2.06374 -8.81245,4.142 -10.56886,8.25203 -0.54013,1.26397 0.22272,2.75445 0.4124,4.10295 0.7708,1.43658 -1.11269,2.70312 -0.55672,4.14497 0.66534,1.49717 2.56652,1.27157 3.82727,0.79099 1.28493,-0.44158 -0.53582,-1.70575 0,0 0.58286,1.36335 5.36635,1.77935 6.80857,1.16016 1.38701,-0.50855 2.33091,-0.74837 2.99303,-1.90611 2.17102,-4.41676 3.23712,-9.41812 2.89588,-14.33661 -0.10641,-1.32539 -0.51397,-2.60792 -0.99259,-3.83098 -0.49507,-1.61389 -2.16711,0.0173 -2.82476,0.68071 -0.60256,0.42631 -1.2709,0.77633 -1.99422,0.94189 z"
+ style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ sodipodi:nodetypes="cccccacccc"
+ style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 121.52672,824.27304 c -2.3826,0.90534 -4.95654,1.52602 -7.13172,2.85353 -1.8032,1.51882 -1.57875,4.29287 -0.64391,6.22636 1.14716,2.47466 2.05723,5.06419 3.4281,7.43042 1.32587,1.74784 -0.0893,0.98747 1.52127,2.46832 0.45524,0.54208 3.2913,3.28282 4.94937,2.47469 0.82652,-0.40286 0.61983,-1.62095 0.54826,-2.70337 0.52083,-2.24499 -0.82476,-4.39163 -0.7175,-6.65278 -0.0579,-2.83898 0.49943,-5.64398 0.8377,-8.45265 0.19302,-1.55725 -0.68561,-4.455 -2.79157,-3.64452 z"
+ id="path3305"
+ inkscape:connector-curvature="0"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;stroke:#002255;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path3307"
+ sodipodi:cx="90"
+ sodipodi:cy="32.362183"
+ sodipodi:rx="20"
+ sodipodi:ry="10"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ transform="matrix(1.1754752,0,0,2.3509505,30.276632,753.33034)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceEnabled.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ </g>
+ <g
+ id="g8721-1"
+ transform="matrix(0.69032837,0,0,0.69032837,-66.264583,578.73873)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
+ transform="matrix(1.1754752,0,0,2.3509505,30.940442,700.21488)"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ sodipodi:ry="10"
+ sodipodi:rx="20"
+ sodipodi:cy="32.362183"
+ sodipodi:cx="90"
+ id="path3047-0"
+ style="color:#000000;fill:#d5e5ff;fill-opacity:1;fill-rule:nonzero;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
+ sodipodi:nodetypes="cccccccc"
+ inkscape:connector-curvature="0"
+ id="path3129-3"
+ d="m 131.46342,754.38987 c -2.85339,0.78922 -5.20625,2.69047 -7.74114,4.12697 -1.45578,1.08139 -3.17371,4.03552 -1.21347,5.32414 1.55176,0.26111 2.79811,-1.05921 4.32566,-1.15498 1.78407,-0.4112 3.60556,-0.7363 5.29696,-1.46264 2.88934,-0.91051 2.88934,-0.91051 3.18467,-1.97638 0.14032,-1.60484 -1.00047,-3.09257 -2.07744,-4.1894 -0.49138,-0.40285 -1.11498,-0.78048 -1.77524,-0.66771 z"
+ style="color:#000000;fill:#87deaa;fill-opacity:1;fill-rule:nonzero;stroke:#87deaa;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
+ sodipodi:nodetypes="cacccccccccc"
+ inkscape:connector-curvature="0"
+ id="path4991-4"
+ d="m 154.056,770.13557 c -4.04703,2.06371 -8.81245,4.14198 -10.56886,8.252 -0.54013,1.26397 0.22272,2.75445 0.4124,4.10296 0.7708,1.43658 -1.11269,2.70312 -0.55672,4.14497 0.66534,1.49716 2.56652,1.27157 3.82727,0.79098 1.28493,-0.44158 -0.53582,-1.70574 0,0 0.58286,1.36336 5.36635,1.77935 6.80857,1.16016 1.38701,-0.50854 2.33091,-0.74836 2.99304,-1.90608 2.17101,-4.41678 3.23711,-9.41815 2.89587,-14.33663 -0.10641,-1.3254 -0.51397,-2.60792 -0.99259,-3.83099 -0.49507,-1.61389 -2.16711,0.0174 -2.82476,0.68074 -0.60256,0.42628 -1.2709,0.7763 -1.99422,0.94189 z"
+ style="color:#000000;fill:#87deaa;fill-opacity:1;fill-rule:nonzero;stroke:#87deaa;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
+ sodipodi:nodetypes="cccccacccc"
+ style="color:#000000;fill:#87deaa;fill-opacity:1;fill-rule:nonzero;stroke:#87deaa;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 122.19052,771.15758 c -2.3826,0.90535 -4.95654,1.52602 -7.13172,2.85354 -1.8032,1.51881 -1.57875,4.29286 -0.64391,6.22635 1.14716,2.47467 2.05723,5.0642 3.42811,7.43042 1.32586,1.74785 -0.0893,0.98748 1.52126,2.46833 0.45524,0.54208 3.2913,3.28281 4.94937,2.47468 0.82652,-0.40286 0.61983,-1.62095 0.54826,-2.70337 0.52083,-2.24498 -0.82476,-4.39163 -0.7175,-6.65277 -0.0579,-2.83898 0.49944,-5.64399 0.8377,-8.45266 0.19303,-1.55724 -0.68561,-4.455 -2.79157,-3.64452 z"
+ id="path3125-0"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path3007-3"
+ sodipodi:cx="90"
+ sodipodi:cy="32.362183"
+ sodipodi:rx="20"
+ sodipodi:ry="10"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ transform="matrix(1.1754752,0,0,2.3509505,30.940442,700.21488)" />
+ <path
+ transform="matrix(1.1754752,0,0,2.3509505,30.940442,700.21488)"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ sodipodi:ry="10"
+ sodipodi:rx="20"
+ sodipodi:cy="32.362183"
+ sodipodi:cx="90"
+ id="path3141-9"
+ style="color:#000000;fill:none;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ </g>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
+ xml:space="preserve"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="152.85562"
+ y="893.62335"
+ id="text3250"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3252"
+ x="152.85562"
+ y="893.62335"
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold">Work in collaboration</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3254"
+ y="938.97327"
+ x="152.31161"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
+ y="938.97327"
+ x="152.31161"
+ id="tspan3256"
+ sodipodi:role="line">And share with the rest</tspan></text>
</g>
</svg>
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -26,7 +26,6 @@
import cc.kune.core.shared.domain.RateResult;
import cc.kune.core.shared.domain.TagCloudResult;
import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.CommentDTO;
import cc.kune.core.shared.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.dto.StateAbstractDTO;
@@ -39,52 +38,47 @@
@RemoteServiceRelativePath("ContentService")
public interface ContentService extends RemoteService {
- void addAuthor(String userHash, StateToken token, String authorShortName) throws DefaultException;
+ void addAuthor(String userHash, StateToken token, String authorShortName) throws DefaultException;
- CommentDTO addComment(String userHash, StateToken token, Long parentCommentId, String commentText)
- throws DefaultException;
+ StateContentDTO addContent(String user, StateToken parentToken, String name, String typeId)
+ throws DefaultException;
- CommentDTO addComment(String userHash, StateToken token, String commentText) throws DefaultException;
+ StateContainerDTO addFolder(String hash, StateToken parentToken, String typeId, String title)
+ throws DefaultException;
- StateContentDTO addContent(String user, StateToken parentToken, String name, String typeId) throws DefaultException;
+ void addParticipant(String userHash, StateToken token, String participant) throws DefaultException;
- StateContainerDTO addFolder(String hash, StateToken parentToken, String typeId, String title)
- throws DefaultException;
+ StateContainerDTO addRoom(String user, StateToken parentToken, String name) throws DefaultException;
- void addParticipant(String userHash, StateToken token, String participant) throws DefaultException;
+ StateContentDTO delContent(String userHash, StateToken token) throws DefaultException;
- StateContainerDTO addRoom(String user, StateToken parentToken, String name) throws DefaultException;
+ StateAbstractDTO getContent(String userHash, StateToken token) throws DefaultException;
- StateContentDTO delContent(String userHash, StateToken token) throws DefaultException;
+ TagCloudResult getSummaryTags(String userHash, StateToken groupToken) throws DefaultException;
- StateAbstractDTO getContent(String userHash, StateToken token) throws DefaultException;
+ RateResult rateContent(String userHash, StateToken token, Double value) throws DefaultException;
- TagCloudResult getSummaryTags(String userHash, StateToken groupToken) throws DefaultException;
+ void removeAuthor(String userHash, StateToken token, String authorShortName) throws DefaultException;
- CommentDTO markCommentAsAbuse(String userHash, StateToken token, Long commentId) throws DefaultException;
+ StateAbstractDTO renameContainer(String userHash, StateToken token, String newName)
+ throws DefaultException;
- RateResult rateContent(String userHash, StateToken token, Double value) throws DefaultException;
+ StateAbstractDTO renameContent(String userHash, StateToken token, String newName)
+ throws DefaultException;
- void removeAuthor(String userHash, StateToken token, String authorShortName) throws DefaultException;
+ void save(String user, StateToken token, String content) throws DefaultException;
- StateAbstractDTO renameContainer(String userHash, StateToken token, String newName) throws DefaultException;
+ ContentSimpleDTO setAsDefaultContent(String userHash, StateToken token);
- StateAbstractDTO renameContent(String userHash, StateToken token, String newName) throws DefaultException;
+ I18nLanguageDTO setLanguage(String userHash, StateToken token, String languageCode)
+ throws DefaultException;
- void save(String user, StateToken token, String content) throws DefaultException;
+ void setPublishedOn(String userHash, StateToken token, Date date) throws DefaultException;
- ContentSimpleDTO setAsDefaultContent(String userHash, StateToken token);
+ StateAbstractDTO setStatus(String userHash, StateToken stateToken, ContentStatus status);
- I18nLanguageDTO setLanguage(String userHash, StateToken token, String languageCode) throws DefaultException;
+ StateAbstractDTO setStatusAsAdmin(String userHash, StateToken stateToken, ContentStatus status);
- void setPublishedOn(String userHash, StateToken token, Date date) throws DefaultException;
+ TagCloudResult setTags(String userHash, StateToken token, String tags) throws DefaultException;
- StateAbstractDTO setStatus(String userHash, StateToken stateToken, ContentStatus status);
-
- StateAbstractDTO setStatusAsAdmin(String userHash, StateToken stateToken, ContentStatus status);
-
- TagCloudResult 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/cc/kune/core/client/rpcservices/ContentServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -26,7 +26,6 @@
import cc.kune.core.shared.domain.RateResult;
import cc.kune.core.shared.domain.TagCloudResult;
import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.CommentDTO;
import cc.kune.core.shared.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.dto.StateAbstractDTO;
@@ -37,58 +36,57 @@
public interface ContentServiceAsync {
- void addAuthor(String userHash, StateToken token, String authorShortName, AsyncCallback<Void> asyncCallback);
+ void addAuthor(String userHash, StateToken token, String authorShortName,
+ AsyncCallback<Void> asyncCallback);
- void addComment(String userHash, StateToken token, Long parentCommentId, String commentText,
- AsyncCallback<CommentDTO> asyncCallback);
+ void addContent(String user, StateToken parentToken, String name, String typeId,
+ AsyncCallback<StateContentDTO> callback);
- void addComment(String userHash, StateToken token, String commentText, AsyncCallback<CommentDTO> asyncCallback);
+ void addFolder(String hash, StateToken parentToken, String title, String typeId,
+ AsyncCallback<StateContainerDTO> callback);
- void addContent(String user, StateToken parentToken, String name, String typeId,
- AsyncCallback<StateContentDTO> callback);
+ void addParticipant(String userHash, StateToken token, String authorShortName,
+ AsyncCallback<Void> asyncCallback) throws DefaultException;
- void addFolder(String hash, StateToken parentToken, String title, String typeId,
- AsyncCallback<StateContainerDTO> callback);
+ void addRoom(String user, StateToken parentToken, String name,
+ AsyncCallback<StateContainerDTO> callback);
- void addParticipant(String userHash, StateToken token, String authorShortName, AsyncCallback<Void> asyncCallback)
- throws DefaultException;
+ void delContent(String userHash, StateToken token, AsyncCallback<StateContentDTO> asyncCallback);
- void addRoom(String user, StateToken parentToken, String name, AsyncCallback<StateContainerDTO> callback);
+ void getContent(String user, StateToken newState, AsyncCallback<StateAbstractDTO> callback);
- void delContent(String userHash, StateToken token, AsyncCallback<StateContentDTO> asyncCallback);
+ void getSummaryTags(String userHash, StateToken groupToken, AsyncCallback<TagCloudResult> asyncCallback);
- void getContent(String user, StateToken newState, AsyncCallback<StateAbstractDTO> callback);
+ void rateContent(String userHash, StateToken token, Double value,
+ AsyncCallback<RateResult> asyncCallback);
- void getSummaryTags(String userHash, StateToken groupToken, AsyncCallback<TagCloudResult> asyncCallback);
+ void removeAuthor(String userHash, StateToken token, String authorShortName,
+ AsyncCallback<Void> asyncCallback);
- void markCommentAsAbuse(String userHash, StateToken token, Long commentId, AsyncCallback<CommentDTO> asyncCallback);
+ void renameContainer(String userHash, StateToken token, String newName,
+ AsyncCallback<StateAbstractDTO> asyncCallback);
- void rateContent(String userHash, StateToken token, Double value, AsyncCallback<RateResult> asyncCallback);
+ void renameContent(String userHash, StateToken token, String newName,
+ AsyncCallback<StateAbstractDTO> asyncCallback);
- void removeAuthor(String userHash, StateToken token, String authorShortName, AsyncCallback<Void> asyncCallback);
+ void save(String user, StateToken token, String content, AsyncCallback<Void> asyncCallback);
- void renameContainer(String userHash, StateToken token, String newName,
- AsyncCallback<StateAbstractDTO> asyncCallback);
+ void setAsDefaultContent(String userHash, StateToken token,
+ AsyncCallback<ContentSimpleDTO> asyncCallback);
- void renameContent(String userHash, StateToken token, String newName, AsyncCallback<StateAbstractDTO> asyncCallback);
+ void setLanguage(String userHash, StateToken token, String languageCode,
+ AsyncCallback<I18nLanguageDTO> asyncCallback);
- void save(String user, StateToken token, String content, AsyncCallback<Void> asyncCallback);
+ void setPublishedOn(String userHash, StateToken token, Date publishedOn,
+ AsyncCallback<Void> asyncCallback);
- void setAsDefaultContent(String userHash, StateToken token, AsyncCallback<ContentSimpleDTO> asyncCallback);
+ void setStatus(String userHash, StateToken stateToken, ContentStatus status,
+ AsyncCallback<StateAbstractDTO> asyncCallback);
- void setLanguage(String userHash, StateToken token, String languageCode,
- AsyncCallback<I18nLanguageDTO> asyncCallback);
+ void setStatusAsAdmin(String userHash, StateToken stateToken, ContentStatus status,
+ AsyncCallback<StateAbstractDTO> asyncCallback);
- void setPublishedOn(String userHash, StateToken token, Date publishedOn, AsyncCallback<Void> asyncCallback);
+ void setTags(String userHash, StateToken token, String tags,
+ AsyncCallback<TagCloudResult> asyncCallback);
- void setStatus(String userHash, StateToken stateToken, ContentStatus status,
- AsyncCallback<StateAbstractDTO> asyncCallback);
-
- void setStatusAsAdmin(String userHash, StateToken stateToken, ContentStatus status,
- AsyncCallback<StateAbstractDTO> asyncCallback);
-
- void setTags(String userHash, StateToken token, String tags, AsyncCallback<TagCloudResult> asyncCallback);
-
- void voteComment(String userHash, StateToken token, Long commentId, boolean votePositive,
- AsyncCallback<CommentDTO> asyncCallback);
}
Modified: trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -38,8 +38,6 @@
import cc.kune.core.server.auth.AuthorizatedMethodInterceptor;
import cc.kune.core.server.auth.SessionService;
import cc.kune.core.server.auth.SessionServiceDefault;
-import cc.kune.core.server.content.CommentManager;
-import cc.kune.core.server.content.CommentManagerDefault;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContainerManagerDefault;
import cc.kune.core.server.content.ContentManager;
@@ -95,7 +93,6 @@
import cc.kune.core.server.xmpp.XmppManager;
import cc.kune.core.server.xmpp.XmppManagerDefault;
import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.domain.Comment;
import cc.kune.domain.SocialNetwork;
import cc.kune.wave.server.KuneWaveManager;
import cc.kune.wave.server.KuneWaveManagerDefault;
@@ -104,80 +101,78 @@
import com.google.inject.matcher.Matchers;
public class PlatformServerModule extends AbstractExtendedModule {
- private void bindFinders() {
- // http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Inje…
- // (...) Just-in-time bindings created for child injectors will be
- // created in an ancestor injector whenever possible (...)
- // (This fails with finders, then we make explicit bindings)
+ private void bindFinders() {
+ // http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Inje…
+ // (...) Just-in-time bindings created for child injectors will be
+ // created in an ancestor injector whenever possible (...)
+ // (This fails with finders, then we make explicit bindings)
- bind(SocialNetwork.class);
- bind(Comment.class);
- }
+ bind(SocialNetwork.class);
+ }
- private void bindManagers() {
- bind(UserManager.class).to(UserManagerDefault.class);
- bind(GroupManager.class).to(GroupManagerDefault.class);
- bind(ContentManager.class).to(ContentManagerDefault.class);
- bind(ToolConfigurationManager.class).to(ToolConfigurationManagerDefault.class);
- bind(ContainerManager.class).to(ContainerManagerDefault.class);
- bind(LicenseManager.class).to(LicenseManagerDefault.class);
- bind(SocialNetworkManager.class).to(SocialNetworkManagerDefault.class);
- bind(XmppManager.class).to(XmppManagerDefault.class);
- bind(RateManager.class).to(RateManagerDefault.class);
- bind(I18nCountryManager.class).to(I18nCountryManagerDefault.class);
- bind(I18nLanguageManager.class).to(I18nLanguageManagerDefault.class);
- bind(I18nTranslationManager.class).to(I18nTranslationManagerDefault.class);
- bind(TagManager.class).to(TagManagerDefault.class);
- bind(TagUserContentManager.class).to(TagUserContentManagerDefault.class);
- bind(CommentManager.class).to(CommentManagerDefault.class);
- bind(FileManager.class).to(FileManagerDefault.class);
- bind(ExtMediaDescripManager.class).to(ExtMediaDescripManagerDefault.class);
- bind(KuneWaveManager.class).to(KuneWaveManagerDefault.class);
- }
+ private void bindManagers() {
+ bind(UserManager.class).to(UserManagerDefault.class);
+ bind(GroupManager.class).to(GroupManagerDefault.class);
+ bind(ContentManager.class).to(ContentManagerDefault.class);
+ bind(ToolConfigurationManager.class).to(ToolConfigurationManagerDefault.class);
+ bind(ContainerManager.class).to(ContainerManagerDefault.class);
+ bind(LicenseManager.class).to(LicenseManagerDefault.class);
+ bind(SocialNetworkManager.class).to(SocialNetworkManagerDefault.class);
+ bind(XmppManager.class).to(XmppManagerDefault.class);
+ bind(RateManager.class).to(RateManagerDefault.class);
+ bind(I18nCountryManager.class).to(I18nCountryManagerDefault.class);
+ bind(I18nLanguageManager.class).to(I18nLanguageManagerDefault.class);
+ bind(I18nTranslationManager.class).to(I18nTranslationManagerDefault.class);
+ bind(TagManager.class).to(TagManagerDefault.class);
+ bind(TagUserContentManager.class).to(TagUserContentManagerDefault.class);
+ bind(FileManager.class).to(FileManagerDefault.class);
+ bind(ExtMediaDescripManager.class).to(ExtMediaDescripManagerDefault.class);
+ bind(KuneWaveManager.class).to(KuneWaveManagerDefault.class);
+ }
- private void bindRPC() {
- bind(SiteService.class).to(SiteRPC.class);
- bind(GroupService.class).to(GroupRPC.class);
- bind(ContentService.class).to(ContentRPC.class);
- bind(UserService.class).to(UserRPC.class);
- bind(SocialNetworkService.class).to(SocialNetworkRPC.class);
- bind(I18nService.class).to(I18nRPC.class);
- }
+ private void bindRPC() {
+ bind(SiteService.class).to(SiteRPC.class);
+ bind(GroupService.class).to(GroupRPC.class);
+ bind(ContentService.class).to(ContentRPC.class);
+ bind(UserService.class).to(UserRPC.class);
+ bind(SocialNetworkService.class).to(SocialNetworkRPC.class);
+ bind(I18nService.class).to(I18nRPC.class);
+ }
- private void bindServices() {
- bind(UserInfoService.class).to(UserInfoServiceDefault.class);
- bind(CreationService.class).to(CreationServiceDefault.class);
- bind(AccessRightsService.class).to(AccessRightsServiceDefault.class);
- bind(AccessService.class).to(AccessServiceDefault.class);
- bind(FinderService.class).to(FinderServiceDefault.class);
- bind(StateService.class).to(StateServiceDefault.class);
- bind(I18nTranslationService.class).to(I18nTranslationServiceDefault.class);
- bind(SessionService.class).to(SessionServiceDefault.class);
- }
+ private void bindServices() {
+ bind(UserInfoService.class).to(UserInfoServiceDefault.class);
+ bind(CreationService.class).to(CreationServiceDefault.class);
+ bind(AccessRightsService.class).to(AccessRightsServiceDefault.class);
+ bind(AccessService.class).to(AccessServiceDefault.class);
+ bind(FinderService.class).to(FinderServiceDefault.class);
+ bind(StateService.class).to(StateServiceDefault.class);
+ bind(I18nTranslationService.class).to(I18nTranslationServiceDefault.class);
+ bind(SessionService.class).to(SessionServiceDefault.class);
+ }
- @Override
- protected void configure() {
- // install(PersistService.usingJpa().across(UnitOfWork.TRANSACTION).buildModule());
- bind(KunePersistenceService.class);
+ @Override
+ protected void configure() {
+ // install(PersistService.usingJpa().across(UnitOfWork.TRANSACTION).buildModule());
+ bind(KunePersistenceService.class);
- bindFinders();
- bindManagers();
- bindRPC();
- bindServices();
- bind(KuneProperties.class).to(KunePropertiesDefault.class);
- bind(Mapper.class).to(DozerMapper.class);
- bind(ServerToolRegistry.class);
- // bind(FileUploadManager.class).in(ServletScopes.REQUEST);
- bind(FileUploadManager.class);
- bind(FileDownloadManager.class);
- bind(EntityLogoUploadManager.class);
- bind(EntityLogoDownloadManager.class);
- bind(ParticipantUtils.class);
+ bindFinders();
+ bindManagers();
+ bindRPC();
+ bindServices();
+ bind(KuneProperties.class).to(KunePropertiesDefault.class);
+ bind(Mapper.class).to(DozerMapper.class);
+ bind(ServerToolRegistry.class);
+ // bind(FileUploadManager.class).in(ServletScopes.REQUEST);
+ bind(FileUploadManager.class);
+ bind(FileDownloadManager.class);
+ bind(EntityLogoUploadManager.class);
+ bind(EntityLogoDownloadManager.class);
+ bind(ParticipantUtils.class);
- bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authenticated.class),
- outermostCall(new AuthenticatedMethodInterceptor()));
- bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authorizated.class),
- outermostCall(new AuthorizatedMethodInterceptor()));
- }
+ bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authenticated.class),
+ outermostCall(new AuthenticatedMethodInterceptor()));
+ bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authorizated.class),
+ outermostCall(new AuthorizatedMethodInterceptor()));
+ }
}
Modified: trunk/src/main/java/cc/kune/core/server/access/FinderService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/access/FinderService.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/access/FinderService.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -19,10 +19,8 @@
*/
package cc.kune.core.server.access;
-
import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.domain.Comment;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
import cc.kune.domain.Group;
@@ -31,18 +29,16 @@
public interface FinderService {
- Comment getComment(Long commentId) throws DefaultException;
+ Content getContent(Long contentId) throws DefaultException;
- Content getContent(Long contentId) throws DefaultException;
+ Content getContent(StateToken token, Group defaultGroup) throws DefaultException;
- Content getContent(StateToken token, Group defaultGroup) throws DefaultException;
+ Container getFolder(Long folderId) throws DefaultException;
- Container getFolder(Long folderId) throws DefaultException;
+ Rate getRate(User user, Content content);
- Rate getRate(User user, Content content);
+ Double getRateAvg(Content content);
- Double getRateAvg(Content content);
+ Long getRateByUsers(Content content);
- Long getRateByUsers(Content content);
-
}
Modified: trunk/src/main/java/cc/kune/core/server/access/FinderServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/access/FinderServiceDefault.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/access/FinderServiceDefault.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -22,19 +22,16 @@
import javax.persistence.NoResultException;
import javax.persistence.PersistenceException;
-
import cc.kune.core.client.errors.ContentNotFoundException;
import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.client.errors.GroupNotFoundException;
import cc.kune.core.client.errors.NoDefaultContentException;
import cc.kune.core.client.errors.ToolNotFoundException;
-import cc.kune.core.server.content.CommentManager;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
import cc.kune.core.server.manager.GroupManager;
import cc.kune.core.server.manager.RateManager;
import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.domain.Comment;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
import cc.kune.domain.Group;
@@ -46,150 +43,147 @@
@Singleton
public class FinderServiceDefault implements FinderService {
- private final GroupManager groupManager;
- private final ContentManager contentManager;
- private final ContainerManager containerManager;
- private final RateManager rateManager;
- private final CommentManager commentManager;
+ private final ContainerManager containerManager;
+ private final ContentManager contentManager;
+ private final GroupManager groupManager;
+ private final RateManager rateManager;
- @Inject
- public FinderServiceDefault(final GroupManager groupManager, final ContainerManager containerManager,
- final ContentManager contentManager, final RateManager rateManager, final CommentManager commentManager) {
- this.groupManager = groupManager;
- this.containerManager = containerManager;
- this.contentManager = contentManager;
- this.rateManager = rateManager;
- this.commentManager = commentManager;
- }
+ @Inject
+ public FinderServiceDefault(final GroupManager groupManager, final ContainerManager containerManager,
+ final ContentManager contentManager, final RateManager rateManager) {
+ this.groupManager = groupManager;
+ this.containerManager = containerManager;
+ this.contentManager = contentManager;
+ this.rateManager = rateManager;
+ }
- public Long checkAndParse(final String s) throws ContentNotFoundException {
- if (s != null) {
- try {
- return Long.parseLong(s);
- } catch (final NumberFormatException e) {
- throw new ContentNotFoundException();
- }
- }
- return null;
+ public Long checkAndParse(final String s) throws ContentNotFoundException {
+ if (s != null) {
+ try {
+ return Long.parseLong(s);
+ } catch (final NumberFormatException e) {
+ throw new ContentNotFoundException();
+ }
}
+ return null;
+ }
- public Comment getComment(final Long commentId) throws ContentNotFoundException {
- try {
- return commentManager.find(commentId);
- } catch (final PersistenceException e) {
- throw new ContentNotFoundException();
- }
+ private Content findByContentReference(final String groupName, final String toolName,
+ final Long folderId, final Long contentId) throws ContentNotFoundException {
+ final Content content = contentManager.find(contentId);
+ if (content == null) {
+ throw new ContentNotFoundException();
}
+ final Container container = content.getContainer();
- public Content getContent(final Long contentId) throws ContentNotFoundException {
- try {
- return contentManager.find(contentId);
- } catch (final PersistenceException e) {
- throw new ContentNotFoundException();
- }
+ if (!container.getId().equals(folderId)) {
+ throw new ContentNotFoundException();
}
+ if (!container.getToolName().equals(toolName)) {
+ throw new ContentNotFoundException();
+ }
+ if (!container.getOwner().getShortName().equals(groupName)) {
+ throw new ContentNotFoundException();
+ }
+ return content;
+ }
- public Content getContent(final StateToken token, final Group defaultGroup) throws DefaultException {
- final Long contentId = checkAndParse(token.getDocument());
- final Long folderId = checkAndParse(token.getFolder());
-
- String group = token.getGroup();
- if (token.hasAll()) {
- return findByContentReference(group, token.getTool(), folderId, contentId);
- } else if (token.hasGroupToolAndFolder()) {
- return findByFolderReference(group, folderId);
- } else if (token.hasGroupAndTool()) {
- return findByRootOnGroup(group, token.getTool());
- } else if (token.hasGroup()) {
- return findDefaultContentOfGroup(group);
- } else if (token.hasNothing()) {
- return findDefaultContentOfGroup(defaultGroup);
- } else {
- throw new ContentNotFoundException();
- }
+ private Content findByFolderReference(final String groupName, final Long folderId) {
+ final Container container = containerManager.find(folderId);
+ if (container == null) {
+ throw new ContentNotFoundException();
+ } else {
+ return generateFolderFakeContent(container);
}
+ }
- public Container getFolder(final Long folderId) throws ContentNotFoundException {
- try {
- return containerManager.find(folderId);
- } catch (final PersistenceException e) {
- throw new ContentNotFoundException();
- }
+ private Content findByRootOnGroup(final String groupName, final String toolName)
+ throws DefaultException {
+ try {
+ final Group group = groupManager.findByShortName(groupName);
+ if (!group.existToolConfig(toolName)) {
+ throw new ToolNotFoundException();
+ }
+ final Container container = group.getRoot(toolName);
+ return generateFolderFakeContent(container);
+ } catch (final NoResultException e) {
+ throw new GroupNotFoundException();
}
+ }
- public Rate getRate(final User user, final Content content) {
- return rateManager.find(user, content);
+ private Content findDefaultContentOfGroup(final Group group) {
+ final Content defaultContent = group.getDefaultContent();
+ if (defaultContent == null) {
+ throw new NoDefaultContentException();
+ } else {
+ return defaultContent;
}
+ }
- public Double getRateAvg(final Content content) {
+ private Content findDefaultContentOfGroup(final String groupName) throws GroupNotFoundException {
+ final Group group = groupManager.findByShortName(groupName);
+ return findDefaultContentOfGroup(group);
+ }
- return rateManager.getRateAvg(content);
- }
+ private Content generateFolderFakeContent(final Container container) {
+ final Content content = new Content();
+ content.setContainer(container);
+ return content;
+ }
- public Long getRateByUsers(final Content content) {
- return rateManager.getRateByUsers(content);
+ @Override
+ public Content getContent(final Long contentId) throws ContentNotFoundException {
+ try {
+ return contentManager.find(contentId);
+ } catch (final PersistenceException e) {
+ throw new ContentNotFoundException();
}
+ }
- private Content findByContentReference(final String groupName, final String toolName, final Long folderId,
- final Long contentId) throws ContentNotFoundException {
- final Content content = contentManager.find(contentId);
- if (content == null) {
- throw new ContentNotFoundException();
- }
- final Container container = content.getContainer();
+ @Override
+ public Content getContent(final StateToken token, final Group defaultGroup) throws DefaultException {
+ final Long contentId = checkAndParse(token.getDocument());
+ final Long folderId = checkAndParse(token.getFolder());
- if (!container.getId().equals(folderId)) {
- throw new ContentNotFoundException();
- }
- if (!container.getToolName().equals(toolName)) {
- throw new ContentNotFoundException();
- }
- if (!container.getOwner().getShortName().equals(groupName)) {
- throw new ContentNotFoundException();
- }
- return content;
+ final String group = token.getGroup();
+ if (token.hasAll()) {
+ return findByContentReference(group, token.getTool(), folderId, contentId);
+ } else if (token.hasGroupToolAndFolder()) {
+ return findByFolderReference(group, folderId);
+ } else if (token.hasGroupAndTool()) {
+ return findByRootOnGroup(group, token.getTool());
+ } else if (token.hasGroup()) {
+ return findDefaultContentOfGroup(group);
+ } else if (token.hasNothing()) {
+ return findDefaultContentOfGroup(defaultGroup);
+ } else {
+ throw new ContentNotFoundException();
}
+ }
- private Content findByFolderReference(final String groupName, final Long folderId) {
- final Container container = containerManager.find(folderId);
- if (container == null) {
- throw new ContentNotFoundException();
- } else {
- return generateFolderFakeContent(container);
- }
+ @Override
+ public Container getFolder(final Long folderId) throws ContentNotFoundException {
+ try {
+ return containerManager.find(folderId);
+ } catch (final PersistenceException e) {
+ throw new ContentNotFoundException();
}
+ }
- private Content findByRootOnGroup(final String groupName, final String toolName) throws DefaultException {
- try {
- final Group group = groupManager.findByShortName(groupName);
- if (!group.existToolConfig(toolName)) {
- throw new ToolNotFoundException();
- }
- final Container container = group.getRoot(toolName);
- return generateFolderFakeContent(container);
- } catch (final NoResultException e) {
- throw new GroupNotFoundException();
- }
- }
+ @Override
+ public Rate getRate(final User user, final Content content) {
+ return rateManager.find(user, content);
+ }
- private Content findDefaultContentOfGroup(final Group group) {
- final Content defaultContent = group.getDefaultContent();
- if (defaultContent == null) {
- throw new NoDefaultContentException();
- } else {
- return defaultContent;
- }
- }
+ @Override
+ public Double getRateAvg(final Content content) {
- private Content findDefaultContentOfGroup(final String groupName) throws GroupNotFoundException {
- final Group group = groupManager.findByShortName(groupName);
- return findDefaultContentOfGroup(group);
- }
+ return rateManager.getRateAvg(content);
+ }
- private Content generateFolderFakeContent(final Container container) {
- final Content content = new Content();
- content.setContainer(container);
- return content;
- }
+ @Override
+ public Long getRateByUsers(final Content content) {
+ return rateManager.getRateByUsers(content);
+ }
}
Deleted: trunk/src/main/java/cc/kune/core/server/content/CommentManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/CommentManager.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/content/CommentManager.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -1,38 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package cc.kune.core.server.content;
-
-
-import cc.kune.core.client.errors.DefaultException;
-import cc.kune.core.server.manager.Manager;
-import cc.kune.domain.Comment;
-import cc.kune.domain.User;
-
-public interface CommentManager extends Manager<Comment, Long> {
-
- Comment addComment(User author, Long contentId, String commentText) throws DefaultException;
-
- Comment addComment(User author, Long contentId, String commentText, Long commentParentId) throws DefaultException;
-
- Comment markAsAbuse(User informer, Long contentId, Long commentId) throws DefaultException;
-
- Comment vote(User voter, Long contentId, Long commentId, boolean votePositive) throws DefaultException;
-
-}
Deleted: trunk/src/main/java/cc/kune/core/server/content/CommentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/CommentManagerDefault.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/content/CommentManagerDefault.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -1,98 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package cc.kune.core.server.content;
-
-import javax.persistence.EntityManager;
-
-
-import cc.kune.core.client.errors.ContentNotFoundException;
-import cc.kune.core.client.errors.DefaultException;
-import cc.kune.core.server.access.FinderService;
-import cc.kune.core.server.manager.impl.DefaultManager;
-import cc.kune.domain.Comment;
-import cc.kune.domain.Content;
-import cc.kune.domain.User;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-
-@Singleton
-public class CommentManagerDefault extends DefaultManager<Comment, Long> implements CommentManager {
-
- private final FinderService finder;
-
- @Inject
- public CommentManagerDefault(final Provider<EntityManager> provider, final FinderService finder) {
- super(provider, Comment.class);
- this.finder = finder;
- }
-
- public Comment addComment(final User author, final Long contentId, final String commentText)
- throws DefaultException {
- Comment comment = createComment(author, commentText, contentId);
- return persist(comment);
- }
-
- public Comment addComment(final User author, final Long contentId, final String commentText,
- final Long commentParentId) throws DefaultException {
- Comment comment = createComment(author, commentText, contentId);
- Comment parent = finder.getComment(commentParentId);
- comment.setParent(parent);
- return persist(comment);
- }
-
- public Comment markAsAbuse(final User informer, final Long contentId, final Long commentId) throws DefaultException {
- Comment comment = finder.getComment(commentId);
- checkCommentContent(contentId, comment);
- comment.addAbuseInformer(informer);
- return persist(comment);
- }
-
- public Comment vote(final User voter, final Long contentId, final Long commentId, final boolean votePositive)
- throws DefaultException {
- Comment comment = finder.getComment(commentId);
- checkCommentContent(contentId, comment);
- if (votePositive) {
- comment.addPositiveVoter(voter);
- return persist(comment);
- } else {
- comment.addNegativeVoter(voter);
- return persist(comment);
- }
- }
-
- private void checkCommentContent(final Long contentId, final Comment comment) throws ContentNotFoundException {
- if (!comment.getContent().getId().equals(contentId)) {
- throw new ContentNotFoundException();
- }
- }
-
- private Comment createComment(final User author, final String commentText, final Long contentId)
- throws DefaultException {
- final Content content = finder.getContent(contentId);
- Comment comment = new Comment();
- comment.setAuthor(author);
- comment.setText(commentText);
- comment.setContent(content);
- return comment;
- }
-
-}
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -33,56 +33,59 @@
public interface ContentManager extends Manager<Content, Long> {
- String[] DEF_GLOBAL_SEARCH_FIELDS = new String[] { "authors.name", "authors.shortName", "container.name",
- "language.code", "language.englishName", "language.nativeName", "lastRevision.body", "lastRevision.title" };
+ String[] DEF_GLOBAL_SEARCH_FIELDS = new String[] { "authors.name", "authors.shortName",
+ "container.name", "language.code", "language.englishName", "language.nativeName",
+ "lastRevision.body", "lastRevision.title" };
- String[] DEF_GLOBAL_SEARCH_FIELDS_WITH_MIME = new String[] { "authors.name", "authors.shortName", "container.name",
- "language.code", "language.englishName", "language.nativeName", "lastRevision.body", "lastRevision.title",
- "mimeType.mimetype" };
+ String[] DEF_GLOBAL_SEARCH_FIELDS_WITH_MIME = new String[] { "authors.name", "authors.shortName",
+ "container.name", "language.code", "language.englishName", "language.nativeName",
+ "lastRevision.body", "lastRevision.title", "mimeType.mimetype" };
- String[] DEF_GROUP_SEARCH_FIELDS_WITH_MIME = new String[] { "lastRevision.title", "container.owner_shortName",
- "mimeType.mimetype" };
+ String[] DEF_GROUP_SEARCH_FIELDS_WITH_MIME = new String[] { "lastRevision.title",
+ "container.owner_shortName", "mimeType.mimetype" };
- void addAuthor(User user, Long contentId, String authorShortName) throws DefaultException;
+ void addAuthor(User user, Long contentId, String authorShortName) throws DefaultException;
- void addParticipant(User user, Long contentId, String participant);
+ void addParticipant(User user, Long contentId, String participant);
- Content createContent(String title, String body, User author, Container container, String typeId);
+ Content createContent(String title, String body, User author, Container container, String typeId);
- boolean findIfExistsTitle(Container container, String title);
+ boolean findIfExistsTitle(Container container, String title);
- Double getRateAvg(Content content);
+ Double getRateAvg(Content content);
- Long getRateByUsers(Content content);
+ Long getRateByUsers(Content content);
- Double getRateContent(User user, Content content);
+ Double getRateContent(User user, Content content);
- RateResult rateContent(User rater, Long contentId, Double value) throws DefaultException;
+ RateResult rateContent(User rater, Long contentId, Double value) throws DefaultException;
- void removeAuthor(User user, Long contentId, String authorShortName) throws DefaultException;
+ void removeAuthor(User user, Long contentId, String authorShortName) throws DefaultException;
- Content renameContent(User user, Long contentId, String newName) throws DefaultException;
+ Content renameContent(User user, Long contentId, String newName) throws DefaultException;
- Content save(User user, Content content);
+ Content save(User user, Content content);
- Content save(User editor, Content content, String body);
+ Content save(User editor, Content content, String body);
- SearchResult<Content> search(String search);
+ SearchResult<Content> search(String search);
- SearchResult<Content> search(String search, Integer firstResult, Integer maxResults);
+ SearchResult<Content> search(String search, Integer firstResult, Integer maxResults);
- SearchResult<Content> searchMime(String search, Integer firstResult, Integer maxResults, String group,
- String mimetype);
+ SearchResult<Content> searchMime(String search, Integer firstResult, Integer maxResults, String group,
+ String mimetype);
- SearchResult<?> searchMime(String search, Integer firstResult, Integer maxResults, String group, String mimetype,
- String mimetype2);
+ SearchResult<?> searchMime(String search, Integer firstResult, Integer maxResults, String group,
+ String mimetype, String mimetype2);
- I18nLanguage setLanguage(User user, Long contentId, String languageCode) throws DefaultException;
+ I18nLanguage setLanguage(User user, Long contentId, String languageCode) throws DefaultException;
- void setPublishedOn(User user, Long contentId, Date publishedOn) throws DefaultException;
+ void setModifiedOn(Content content, long lastModifiedTime);
- Content setStatus(Long contentId, ContentStatus contentStatus);
+ void setPublishedOn(User user, Long contentId, Date publishedOn) throws DefaultException;
- void setTags(User user, Long contentId, String tags) throws DefaultException;
+ Content setStatus(Long contentId, ContentStatus contentStatus);
+ void setTags(User user, Long contentId, String tags) throws DefaultException;
+
}
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -113,7 +113,6 @@
@Override
public Content createContent(final String title, final String body, final User author,
final Container container, final String typeId) {
- String contentBody;
FilenameUtils.checkBasicFilename(title);
final String newtitle = findInexistentTitle(container, title);
final Content newContent = new Content();
@@ -128,11 +127,10 @@
if (newContent.isWave()) {
final WaveRef waveRef = kuneWaveManager.createWave(newtitle, body,
participantUtils.of(author.getShortName()));
- contentBody = JavaWaverefEncoder.encodeToUriPathSegment(waveRef);
- } else {
- contentBody = body;
+ newContent.setWaveId(JavaWaverefEncoder.encodeToUriPathSegment(waveRef));
+ newContent.setModifiedOn((new Date()).getTime());
}
- revision.setBody(contentBody);
+ revision.setBody(body);
newContent.addRevision(revision);
return persist(newContent);
}
@@ -179,7 +177,7 @@
private WaveRef getWaveRef(final Content content) {
try {
- return JavaWaverefEncoder.decodeWaveRefFromPath(String.valueOf(content.getLastRevision().getBody()));
+ return JavaWaverefEncoder.decodeWaveRefFromPath(String.valueOf(content.getWaveId()));
} catch (final InvalidWaveRefException e) {
throw new DefaultException("Error getting the wave");
}
@@ -297,6 +295,12 @@
}
@Override
+ public void setModifiedOn(final Content content, final long lastModifiedTime) {
+ content.setModifiedOn(lastModifiedTime);
+ persist(content);
+ }
+
+ @Override
public void setPublishedOn(final User user, final Long contentId, final Date publishedOn)
throws DefaultException {
final Content content = finder.getContent(contentId);
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -36,7 +36,6 @@
import cc.kune.core.server.auth.ActionLevel;
import cc.kune.core.server.auth.Authenticated;
import cc.kune.core.server.auth.Authorizated;
-import cc.kune.core.server.content.CommentManager;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
import cc.kune.core.server.content.ContentUtils;
@@ -54,7 +53,6 @@
import cc.kune.core.shared.domain.TagCloudResult;
import cc.kune.core.shared.domain.utils.AccessRights;
import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.CommentDTO;
import cc.kune.core.shared.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.dto.StateAbstractDTO;
@@ -62,7 +60,6 @@
import cc.kune.core.shared.dto.StateContentDTO;
import cc.kune.core.shared.dto.StateNoContentDTO;
import cc.kune.domain.AccessLists;
-import cc.kune.domain.Comment;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
import cc.kune.domain.Group;
@@ -75,448 +72,404 @@
@Singleton
public class ContentRPC implements ContentService, RPC {
- private final AccessService accessService;
- private final CommentManager commentManager;
- private final ContainerManager containerManager;
- private final ContentManager contentManager;
- private final CreationService creationService;
- private final FinderService finderService;
- private final GroupManager groupManager;
- private final Mapper mapper;
- private final AccessRightsService rightsService;
- private final StateService stateService;
- private final TagUserContentManager tagManager;
- private final Provider<UserSession> userSessionProvider;
- private final XmppManager xmppManager;
+ private final AccessService accessService;
+ private final ContainerManager containerManager;
+ private final ContentManager contentManager;
+ private final CreationService creationService;
+ private final FinderService finderService;
+ private final GroupManager groupManager;
+ private final Mapper mapper;
+ private final AccessRightsService rightsService;
+ private final StateService stateService;
+ private final TagUserContentManager tagManager;
+ private final Provider<UserSession> userSessionProvider;
+ private final XmppManager xmppManager;
- @Inject
- public ContentRPC(final FinderService finderService, final Provider<UserSession> userSessionProvider,
- final AccessService accessService, final AccessRightsService rightsService,
- final StateService stateService, final CreationService creationService, final GroupManager groupManager,
- final XmppManager xmppManager, final ContentManager contentManager,
- final ContainerManager containerManager, final TagUserContentManager tagManager,
- final CommentManager commentManager, final Mapper mapper) {
- this.finderService = finderService;
- this.userSessionProvider = userSessionProvider;
- this.accessService = accessService;
- this.rightsService = rightsService;
- this.stateService = stateService;
- this.creationService = creationService;
- this.groupManager = groupManager;
- this.xmppManager = xmppManager;
- this.contentManager = contentManager;
- this.containerManager = containerManager;
- this.tagManager = tagManager;
- this.commentManager = commentManager;
- this.mapper = mapper;
- }
+ @Inject
+ public ContentRPC(final FinderService finderService, final Provider<UserSession> userSessionProvider,
+ final AccessService accessService, final AccessRightsService rightsService,
+ final StateService stateService, final CreationService creationService,
+ final GroupManager groupManager, final XmppManager xmppManager,
+ final ContentManager contentManager, final ContainerManager containerManager,
+ final TagUserContentManager tagManager, final Mapper mapper) {
+ this.finderService = finderService;
+ this.userSessionProvider = userSessionProvider;
+ this.accessService = accessService;
+ this.rightsService = rightsService;
+ this.stateService = stateService;
+ this.creationService = creationService;
+ this.groupManager = groupManager;
+ this.xmppManager = xmppManager;
+ this.contentManager = contentManager;
+ this.containerManager = containerManager;
+ this.tagManager = tagManager;
+ this.mapper = mapper;
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public void addAuthor(final String userHash, final StateToken token, final String authorShortName)
- throws DefaultException {
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final User user = getCurrentUser();
- contentManager.addAuthor(user, contentId, authorShortName);
- }
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public void addAuthor(final String userHash, final StateToken token, final String authorShortName)
+ throws DefaultException {
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final User user = getCurrentUser();
+ contentManager.addAuthor(user, contentId, authorShortName);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional
- public CommentDTO addComment(final String userHash, final StateToken token, final Long parentCommentId,
- final String commentText) throws DefaultException {
- final User author = getCurrentUser();
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final Comment comment = commentManager.addComment(author, contentId, commentText, parentCommentId);
- return mapper.map(comment, CommentDTO.class);
- }
+ @Override
+ @Authenticated
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public StateContentDTO addContent(final String userHash, final StateToken parentToken,
+ final String title, final String typeId) throws DefaultException {
+ return createContent(parentToken, title, typeId);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional
- public CommentDTO addComment(final String userHash, final StateToken token, final String commentText)
- throws DefaultException {
- final User author = getCurrentUser();
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final Comment comment = commentManager.addComment(author, contentId, commentText);
- return mapper.map(comment, CommentDTO.class);
- }
+ @Override
+ @Authenticated
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public StateContainerDTO addFolder(final String userHash, final StateToken parentToken,
+ final String title, final String contentTypeId) throws DefaultException {
+ final User user = getCurrentUser();
+ final Container container = createFolder(parentToken.getGroup(),
+ ContentUtils.parseId(parentToken.getFolder()), title, contentTypeId);
+ return getState(user, container);
+ }
- @Override
- @Authenticated
- @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public StateContentDTO addContent(final String userHash, final StateToken parentToken, final String title,
- final String typeId) throws DefaultException {
- return createContent(parentToken, title, typeId);
- }
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public void addParticipant(final String userHash, final StateToken token, final String participant)
+ throws DefaultException {
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final User user = getCurrentUser();
+ contentManager.addParticipant(user, contentId, participant);
+ }
- @Override
- @Authenticated
- @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public StateContainerDTO addFolder(final String userHash, final StateToken parentToken, final String title,
- final String contentTypeId) throws DefaultException {
- final User user = getCurrentUser();
- final Container container = createFolder(parentToken.getGroup(), ContentUtils.parseId(parentToken.getFolder()),
- title, contentTypeId);
- return getState(user, container);
- }
+ @Override
+ @Authenticated
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor)
+ @Transactional
+ public StateContainerDTO addRoom(final String userHash, final StateToken parentToken,
+ final String roomName) throws DefaultException {
+ // final String groupShortName = parentToken.getGroup();
+ // final User user = getCurrentUser();
+ // final String userShortName = user.getShortName();
+ // final ChatConnection connection = xmppManager.login(userShortName,
+ // user.getPassword(), userHash);
+ // xmppManager.createRoom(connection, roomName, userShortName +
+ // userHash);
+ // xmppManager.disconnect(connection);
+ // try {
+ // final Container container = createFolder(groupShortName,
+ // ContentUtils.parseId(parentToken.getFolder()),
+ // roomName, ChatServerTool.TYPE_ROOM);
+ // return getState(user, container);
+ // } catch (final ContentNotFoundException e) {
+ // xmppManager.destroyRoom(connection, roomName);
+ // throw new ContentNotFoundException();
+ // } catch (final AccessViolationException e) {
+ // xmppManager.destroyRoom(connection, roomName);
+ // throw new AccessViolationException();
+ // } catch (final GroupNotFoundException e) {
+ // xmppManager.destroyRoom(connection, roomName);
+ // throw new GroupNotFoundException();
+ // }
+ return null;
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public void addParticipant(final String userHash, final StateToken token, final String participant)
- throws DefaultException {
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final User user = getCurrentUser();
- contentManager.addParticipant(user, contentId, participant);
- }
+ private StateContentDTO createContent(final StateToken parentToken, final String title,
+ final String typeId) {
+ final User user = getCurrentUser();
+ final Container container = accessService.accessToContainer(
+ ContentUtils.parseId(parentToken.getFolder()), user, AccessRol.Editor);
+ final String body = "";
+ final Content addedContent = creationService.createContent(title, body, user, container, typeId);
+ return getState(user, addedContent);
+ }
- @Override
- @Authenticated
- @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor)
- @Transactional
- public StateContainerDTO addRoom(final String userHash, final StateToken parentToken, final String roomName)
- throws DefaultException {
- // final String groupShortName = parentToken.getGroup();
- // final User user = getCurrentUser();
- // final String userShortName = user.getShortName();
- // final ChatConnection connection = xmppManager.login(userShortName,
- // user.getPassword(), userHash);
- // xmppManager.createRoom(connection, roomName, userShortName +
- // userHash);
- // xmppManager.disconnect(connection);
- // try {
- // final Container container = createFolder(groupShortName,
- // ContentUtils.parseId(parentToken.getFolder()),
- // roomName, ChatServerTool.TYPE_ROOM);
- // return getState(user, container);
- // } catch (final ContentNotFoundException e) {
- // xmppManager.destroyRoom(connection, roomName);
- // throw new ContentNotFoundException();
- // } catch (final AccessViolationException e) {
- // xmppManager.destroyRoom(connection, roomName);
- // throw new AccessViolationException();
- // } catch (final GroupNotFoundException e) {
- // xmppManager.destroyRoom(connection, roomName);
- // throw new GroupNotFoundException();
- // }
- return null;
- }
+ private Container createFolder(final String groupShortName, final Long parentFolderId,
+ final String title, final String typeId) throws DefaultException {
+ final User user = getCurrentUser();
+ final Group group = groupManager.findByShortName(groupShortName);
+ final Container container = creationService.createFolder(group, parentFolderId, title,
+ user.getLanguage(), typeId);
+ return container;
+ }
- private StateContentDTO createContent(final StateToken parentToken, final String title, final String typeId) {
- final User user = getCurrentUser();
- final Container container = accessService.accessToContainer(ContentUtils.parseId(parentToken.getFolder()),
- user, AccessRol.Editor);
- final String body = "";
- final Content addedContent = creationService.createContent(title, body, user, container, typeId);
- return getState(user, addedContent);
- }
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Administrator)
+ @Transactional
+ public StateContentDTO delContent(final String userHash, final StateToken token)
+ throws DefaultException {
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ return getState(getCurrentUser(), contentManager.setStatus(contentId, ContentStatus.inTheDustbin));
+ }
- private Container createFolder(final String groupShortName, final Long parentFolderId, final String title,
- final String typeId) throws DefaultException {
- final User user = getCurrentUser();
- final Group group = groupManager.findByShortName(groupShortName);
- final Container container = creationService.createFolder(group, parentFolderId, title, user.getLanguage(),
- typeId);
- return container;
+ @Override
+ @Authenticated(mandatory = false)
+ @Transactional
+ public StateAbstractDTO getContent(final String userHash, final StateToken token)
+ throws DefaultException {
+ Group defaultGroup;
+ final User user = getCurrentUser();
+ if (isUserLoggedIn()) {
+ defaultGroup = groupManager.getGroupOfUserWithId(user.getId());
+ if (groupManager.findEnabledTools(defaultGroup.getId()).size() == 0) {
+ // Groups with no homepage
+ defaultGroup = groupManager.getSiteDefaultGroup();
+ }
+ } else {
+ defaultGroup = groupManager.getSiteDefaultGroup();
}
-
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Administrator)
- @Transactional
- public StateContentDTO delContent(final String userHash, final StateToken token) throws DefaultException {
- final Long contentId = ContentUtils.parseId(token.getDocument());
- return getState(getCurrentUser(), contentManager.setStatus(contentId, ContentStatus.inTheDustbin));
+ try {
+ final Content content = finderService.getContent(token, defaultGroup);
+ return getContentOrDefContent(userHash, content.getStateToken(), user, content);
+ } catch (final NoResultException e) {
+ throw new ContentNotFoundException();
+ } catch (final ToolNotFoundException e) {
+ throw new ContentNotFoundException();
+ } catch (final NoDefaultContentException e) {
+ return mapper.map(stateService.createNoHome(user, token.getGroup()), StateNoContentDTO.class);
}
+ }
- @Override
- @Authenticated(mandatory = false)
- @Transactional
- public StateAbstractDTO getContent(final String userHash, final StateToken token) throws DefaultException {
- Group defaultGroup;
- final User user = getCurrentUser();
- if (isUserLoggedIn()) {
- defaultGroup = groupManager.getGroupOfUserWithId(user.getId());
- if (groupManager.findEnabledTools(defaultGroup.getId()).size() == 0) {
- // Groups with no homepage
- defaultGroup = groupManager.getSiteDefaultGroup();
- }
- } else {
- defaultGroup = groupManager.getSiteDefaultGroup();
- }
- try {
- final Content content = finderService.getContent(token, defaultGroup);
- return getContentOrDefContent(userHash, content.getStateToken(), user, content);
- } catch (final NoResultException e) {
- throw new ContentNotFoundException();
- } catch (final ToolNotFoundException e) {
- throw new ContentNotFoundException();
- } catch (final NoDefaultContentException e) {
- return mapper.map(stateService.createNoHome(user, token.getGroup()), StateNoContentDTO.class);
- }
+ @Authenticated(mandatory = false)
+ @Authorizated(accessRolRequired = AccessRol.Viewer)
+ private StateAbstractDTO getContentOrDefContent(final String userHash, final StateToken stateToken,
+ final User user, final Content content) {
+ final Long id = content.getId();
+ if (id != null) {
+ // Content
+ return mapState(stateService.create(user, content), user);
+ } else {
+ // Container
+ final Container container = content.getContainer();
+ return mapState(stateService.create(user, container), user);
}
+ }
- @Authenticated(mandatory = false)
- @Authorizated(accessRolRequired = AccessRol.Viewer)
- private StateAbstractDTO getContentOrDefContent(final String userHash, final StateToken stateToken,
- final User user, final Content content) {
- final Long id = content.getId();
- if (id != null) {
- // Content
- return mapState(stateService.create(user, content), user);
- } else {
- // Container
- final Container container = content.getContainer();
- return mapState(stateService.create(user, container), user);
- }
- }
+ private User getCurrentUser() {
+ return getUserSession().getUser();
+ }
- private User getCurrentUser() {
- return getUserSession().getUser();
- }
+ private StateContainerDTO getState(final User user, final Container container) {
+ final StateContainer state = stateService.create(user, container);
+ return mapState(state, user);
+ }
- private StateContainerDTO getState(final User user, final Container container) {
- final StateContainer state = stateService.create(user, container);
- return mapState(state, user);
- }
+ private StateContentDTO getState(final User user, final Content content) {
+ final StateContent state = stateService.create(user, content);
+ return mapState(state, user);
+ }
- private StateContentDTO getState(final User user, final Content content) {
- final StateContent state = stateService.create(user, content);
- return mapState(state, user);
- }
+ private TagCloudResult getSummaryTags(final Group group) {
+ final TagCloudResult result = tagManager.getTagCloudResultByGroup(group);
+ return result;
+ }
- private TagCloudResult getSummaryTags(final Group group) {
- final TagCloudResult result = tagManager.getTagCloudResultByGroup(group);
- return result;
- }
+ @Override
+ @Authenticated(mandatory = false)
+ @Authorizated(accessRolRequired = AccessRol.Viewer)
+ @Transactional
+ public TagCloudResult getSummaryTags(final String userHash, final StateToken groupToken) {
+ final Group group = groupManager.findByShortName(groupToken.getGroup());
+ return getSummaryTags(group);
+ }
- @Override
- @Authenticated(mandatory = false)
- @Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional
- public TagCloudResult getSummaryTags(final String userHash, final StateToken groupToken) {
- final Group group = groupManager.findByShortName(groupToken.getGroup());
- return getSummaryTags(group);
- }
+ private UserSession getUserSession() {
+ return userSessionProvider.get();
+ }
- private UserSession getUserSession() {
- return userSessionProvider.get();
- }
+ private boolean isUserLoggedIn() {
+ return getUserSession().isUserLoggedIn();
+ }
- private boolean isUserLoggedIn() {
- return getUserSession().isUserLoggedIn();
- }
+ private void mapContentRightsInstate(final User user, final AccessLists groupAccessList,
+ final ContentSimpleDTO siblingDTO) {
+ final Content sibling = contentManager.find(siblingDTO.getId());
+ final AccessLists lists = sibling.hasAccessList() ? sibling.getAccessLists() : groupAccessList;
+ siblingDTO.setRights(mapper.map(rightsService.get(user, lists), AccessRights.class));
+ }
- private void mapContentRightsInstate(final User user, final AccessLists groupAccessList,
- final ContentSimpleDTO siblingDTO) {
- final Content sibling = contentManager.find(siblingDTO.getId());
- final AccessLists lists = sibling.hasAccessList() ? sibling.getAccessLists() : groupAccessList;
- siblingDTO.setRights(mapper.map(rightsService.get(user, lists), AccessRights.class));
+ private StateContainerDTO mapState(final StateContainer state, final User user) {
+ final StateContainerDTO stateDTO = mapper.map(state, StateContainerDTO.class);
+ final AccessLists groupAccessList = state.getGroup().getSocialNetwork().getAccessLists();
+ for (final ContentSimpleDTO siblingDTO : stateDTO.getRootContainer().getContents()) {
+ mapContentRightsInstate(user, groupAccessList, siblingDTO);
}
-
- private StateContainerDTO mapState(final StateContainer state, final User user) {
- final StateContainerDTO stateDTO = mapper.map(state, StateContainerDTO.class);
- final AccessLists groupAccessList = state.getGroup().getSocialNetwork().getAccessLists();
- for (final ContentSimpleDTO siblingDTO : stateDTO.getRootContainer().getContents()) {
- mapContentRightsInstate(user, groupAccessList, siblingDTO);
- }
- for (final ContentSimpleDTO siblingDTO : stateDTO.getContainer().getContents()) {
- mapContentRightsInstate(user, groupAccessList, siblingDTO);
- }
- return stateDTO;
+ for (final ContentSimpleDTO siblingDTO : stateDTO.getContainer().getContents()) {
+ mapContentRightsInstate(user, groupAccessList, siblingDTO);
}
+ return stateDTO;
+ }
- private StateContentDTO mapState(final StateContent state, final User user) {
- final StateContentDTO stateDTO = mapper.map(state, StateContentDTO.class);
- final AccessLists groupAccessList = state.getGroup().getSocialNetwork().getAccessLists();
- for (final ContentSimpleDTO siblingDTO : stateDTO.getRootContainer().getContents()) {
- mapContentRightsInstate(user, groupAccessList, siblingDTO);
- }
- for (final ContentSimpleDTO siblingDTO : stateDTO.getContainer().getContents()) {
- mapContentRightsInstate(user, groupAccessList, siblingDTO);
- }
- return stateDTO;
+ private StateContentDTO mapState(final StateContent state, final User user) {
+ final StateContentDTO stateDTO = mapper.map(state, StateContentDTO.class);
+ final AccessLists groupAccessList = state.getGroup().getSocialNetwork().getAccessLists();
+ for (final ContentSimpleDTO siblingDTO : stateDTO.getRootContainer().getContents()) {
+ mapContentRightsInstate(user, groupAccessList, siblingDTO);
}
-
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional
- public CommentDTO markCommentAsAbuse(final String userHash, final StateToken token, final Long commentId)
- throws DefaultException {
- final User informer = getCurrentUser();
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final Comment comment = commentManager.markAsAbuse(informer, contentId, commentId);
- return mapper.map(comment, CommentDTO.class);
+ for (final ContentSimpleDTO siblingDTO : stateDTO.getContainer().getContents()) {
+ mapContentRightsInstate(user, groupAccessList, siblingDTO);
}
+ return stateDTO;
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional
- public RateResult rateContent(final String userHash, final StateToken token, final Double value)
- throws DefaultException {
- final User rater = getCurrentUser();
- final Long contentId = ContentUtils.parseId(token.getDocument());
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Viewer)
+ @Transactional
+ public RateResult rateContent(final String userHash, final StateToken token, final Double value)
+ throws DefaultException {
+ final User rater = getCurrentUser();
+ final Long contentId = ContentUtils.parseId(token.getDocument());
- if (isUserLoggedIn()) {
- return contentManager.rateContent(rater, contentId, value);
- } else {
- throw new AccessViolationException();
- }
+ if (isUserLoggedIn()) {
+ return contentManager.rateContent(rater, contentId, value);
+ } else {
+ throw new AccessViolationException();
}
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public void removeAuthor(final String userHash, final StateToken token, final String authorShortName)
- throws DefaultException {
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final User user = getCurrentUser();
- contentManager.removeAuthor(user, contentId, authorShortName);
- }
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public void removeAuthor(final String userHash, final StateToken token, final String authorShortName)
+ throws DefaultException {
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final User user = getCurrentUser();
+ contentManager.removeAuthor(user, contentId, authorShortName);
+ }
- @Override
- @Authenticated
- @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public StateAbstractDTO renameContainer(final String userHash, final StateToken token, final String newName)
- throws DefaultException {
- renameFolder(token.getGroup(), ContentUtils.parseId(token.getFolder()), newName);
- return getContent(userHash, token);
- }
+ @Override
+ @Authenticated
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public StateAbstractDTO renameContainer(final String userHash, final StateToken token,
+ final String newName) throws DefaultException {
+ renameFolder(token.getGroup(), ContentUtils.parseId(token.getFolder()), newName);
+ return getContent(userHash, token);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public StateAbstractDTO renameContent(final String userHash, final StateToken token, final String newName)
- throws DefaultException {
- final User user = getCurrentUser();
- try {
- accessService.accessToContent(ContentUtils.parseId(token.getDocument()), user, AccessRol.Editor);
- } catch (final NoResultException e) {
- throw new AccessViolationException();
- }
- renameContent(token.getDocument(), newName);
- return getContent(userHash, token);
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public StateAbstractDTO renameContent(final String userHash, final StateToken token,
+ final String newName) throws DefaultException {
+ final User user = getCurrentUser();
+ try {
+ accessService.accessToContent(ContentUtils.parseId(token.getDocument()), user, AccessRol.Editor);
+ } catch (final NoResultException e) {
+ throw new AccessViolationException();
}
+ renameContent(token.getDocument(), newName);
+ return getContent(userHash, token);
+ }
- private Content renameContent(final String documentId, final String newName) throws ContentNotFoundException,
- DefaultException {
- final Long contentId = ContentUtils.parseId(documentId);
- final User user = getCurrentUser();
- return contentManager.renameContent(user, contentId, newName);
- }
+ private Content renameContent(final String documentId, final String newName)
+ throws ContentNotFoundException, DefaultException {
+ final Long contentId = ContentUtils.parseId(documentId);
+ final User user = getCurrentUser();
+ return contentManager.renameContent(user, contentId, newName);
+ }
- private Container renameFolder(final String groupShortName, final Long folderId, final String newName)
- throws DefaultException {
- final Group group = groupManager.findByShortName(groupShortName);
- final User user = getCurrentUser();
- final Container container = accessService.accessToContainer(folderId, user, AccessRol.Editor);
- return containerManager.renameFolder(group, container, newName);
- }
+ private Container renameFolder(final String groupShortName, final Long folderId, final String newName)
+ throws DefaultException {
+ final Group group = groupManager.findByShortName(groupShortName);
+ final User user = getCurrentUser();
+ final Container container = accessService.accessToContainer(folderId, user, AccessRol.Editor);
+ return containerManager.renameFolder(group, container, newName);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public void save(final String userHash, final StateToken token, final String textContent) throws DefaultException {
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public void save(final String userHash, final StateToken token, final String textContent)
+ throws DefaultException {
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final User user = getCurrentUser();
- final Content content = accessService.accessToContent(contentId, user, AccessRol.Editor);
- creationService.saveContent(user, content, textContent);
- }
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final User user = getCurrentUser();
+ final Content content = accessService.accessToContent(contentId, user, AccessRol.Editor);
+ creationService.saveContent(user, content, textContent);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Administrator)
- @Transactional
- public ContentSimpleDTO setAsDefaultContent(final String userHash, final StateToken token) {
- final Content content = contentManager.find(ContentUtils.parseId(token.getDocument()));
- groupManager.setDefaultContent(token.getGroup(), content);
- return mapper.map(content, ContentSimpleDTO.class);
- }
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Administrator)
+ @Transactional
+ public ContentSimpleDTO setAsDefaultContent(final String userHash, final StateToken token) {
+ final Content content = contentManager.find(ContentUtils.parseId(token.getDocument()));
+ groupManager.setDefaultContent(token.getGroup(), content);
+ return mapper.map(content, ContentSimpleDTO.class);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public I18nLanguageDTO setLanguage(final String userHash, final StateToken token, final String languageCode)
- throws DefaultException {
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final User user = getCurrentUser();
- return mapper.map(contentManager.setLanguage(user, contentId, languageCode), I18nLanguageDTO.class);
- }
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public I18nLanguageDTO setLanguage(final String userHash, final StateToken token,
+ final String languageCode) throws DefaultException {
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final User user = getCurrentUser();
+ return mapper.map(contentManager.setLanguage(user, contentId, languageCode), I18nLanguageDTO.class);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public void setPublishedOn(final String userHash, final StateToken token, final Date publishedOn)
- throws DefaultException {
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final User user = getCurrentUser();
- contentManager.setPublishedOn(user, contentId, publishedOn);
- }
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public void setPublishedOn(final String userHash, final StateToken token, final Date publishedOn)
+ throws DefaultException {
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final User user = getCurrentUser();
+ contentManager.setPublishedOn(user, contentId, publishedOn);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor)
- @Transactional
- public StateAbstractDTO setStatus(final String userHash, final StateToken token, final ContentStatus status) {
- if (status.equals(ContentStatus.publishedOnline) || status.equals(ContentStatus.rejected)
- || status.equals(ContentStatus.inTheDustbin)) {
- throw new AccessViolationException();
- }
- final Content content = contentManager.setStatus(ContentUtils.parseId(token.getDocument()),
- ContentStatus.valueOf(status.toString()));
- return getState(getCurrentUser(), content);
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor)
+ @Transactional
+ public StateAbstractDTO setStatus(final String userHash, final StateToken token,
+ final ContentStatus status) {
+ if (status.equals(ContentStatus.publishedOnline) || status.equals(ContentStatus.rejected)
+ || status.equals(ContentStatus.inTheDustbin)) {
+ throw new AccessViolationException();
}
+ final Content content = contentManager.setStatus(ContentUtils.parseId(token.getDocument()),
+ ContentStatus.valueOf(status.toString()));
+ return getState(getCurrentUser(), content);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Administrator)
- @Transactional
- public StateAbstractDTO setStatusAsAdmin(final String userHash, final StateToken token, final ContentStatus status) {
- final Content content = contentManager.setStatus(ContentUtils.parseId(token.getDocument()),
- ContentStatus.valueOf(status.toString()));
- return getState(getCurrentUser(), content);
- }
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Administrator)
+ @Transactional
+ public StateAbstractDTO setStatusAsAdmin(final String userHash, final StateToken token,
+ final ContentStatus status) {
+ final Content content = contentManager.setStatus(ContentUtils.parseId(token.getDocument()),
+ ContentStatus.valueOf(status.toString()));
+ return getState(getCurrentUser(), content);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
- @Transactional
- public TagCloudResult setTags(final String userHash, final StateToken token, final String tags)
- throws DefaultException {
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final User user = getCurrentUser();
- final Group group = groupManager.findByShortName(token.getGroup());
- contentManager.setTags(user, contentId, tags);
- return getSummaryTags(group);
- }
+ @Override
+ @Authenticated
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public TagCloudResult setTags(final String userHash, final StateToken token, final String tags)
+ throws DefaultException {
+ final Long contentId = ContentUtils.parseId(token.getDocument());
+ final User user = getCurrentUser();
+ final Group group = groupManager.findByShortName(token.getGroup());
+ contentManager.setTags(user, contentId, tags);
+ return getSummaryTags(group);
+ }
- @Override
- @Authenticated
- @Authorizated(accessRolRequired = AccessRol.Viewer)
- @Transactional
- public CommentDTO voteComment(final String userHash, final StateToken token, final Long commentId,
- final boolean votePositive) throws DefaultException {
- final User voter = getCurrentUser();
- final Long contentId = ContentUtils.parseId(token.getDocument());
- final Comment comment = commentManager.vote(voter, contentId, commentId, votePositive);
- return mapper.map(comment, CommentDTO.class);
- }
-
}
Modified: trunk/src/main/java/cc/kune/core/server/state/StateContent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateContent.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/state/StateContent.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -34,8 +34,8 @@
private Double currentUserRate;
private String documentId;
private boolean isParticipant;
- private boolean isWave;
private BasicMimeType mimeType;
+ private Date modifiedOn;
private Date publishedOn;
private Double rate;
private Integer rateByUsers;
@@ -75,6 +75,10 @@
return mimeType;
}
+ public Date getModifiedOn() {
+ return modifiedOn;
+ }
+
public Date getPublishedOn() {
return publishedOn;
}
@@ -139,6 +143,10 @@
this.mimeType = mimeType;
}
+ public void setModifiedOn(final Date modifiedOn) {
+ this.modifiedOn = modifiedOn;
+ }
+
public void setPublishedOn(final Date publishedOn) {
this.publishedOn = publishedOn;
}
Modified: trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -19,6 +19,8 @@
*/
package cc.kune.core.server.state;
+import java.sql.Date;
+
import org.waveprotocol.wave.model.waveref.InvalidWaveRefException;
import org.waveprotocol.wave.util.escapers.jvm.JavaWaverefEncoder;
@@ -103,13 +105,18 @@
final char[] text = revision.getBody();
final String textBody = text == null ? null : new String(text);
if (content.isWave()) {
- state.setWaveRef(textBody);
+ final String waveId = content.getWaveId();
+ state.setWaveRef(waveId);
try {
final Wavelet wavelet = kuneWaveManager.fetchWavelet(
- JavaWaverefEncoder.decodeWaveRefFromPath(textBody),
- content.getAuthors().get(0).getShortName());
+ JavaWaverefEncoder.decodeWaveRefFromPath(waveId), content.getAuthors().get(0).getShortName());
state.setContent(wavelet.getRootBlip().getContent());
+ // Well we "cache" the last modified time of waves in db (w'll find
+ // another way to
+ // do it better in the future with db persitence of waves)
+ contentManager.setModifiedOn(content, wavelet.getLastModifiedTime());
state.setTitle(wavelet.getTitle());
+ state.setModifiedOn(new Date(wavelet.getLastModifiedTime()));
state.setIsParticipant(userLogged != User.UNKNOWN_USER ? kuneWaveManager.isParticipant(wavelet,
userLogged.getShortName()) : false);
} catch (final InvalidWaveRefException e) {
Deleted: trunk/src/main/java/cc/kune/core/shared/dto/CommentDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/CommentDTO.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/shared/dto/CommentDTO.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -1,173 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package cc.kune.core.shared.dto;
-
-import java.util.List;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
-public class CommentDTO implements IsSerializable {
-
- private Long id;
- // private ContentDTO content;
- private Long publishedOn;
- private UserSimpleDTO author;
- private CommentDTO parent;
- private List<CommentDTO> childs;
- private int positiveVotersCount;
- private int negativeVotersCount;
- private int abuseInformersCount;
- private String text;
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final CommentDTO other = (CommentDTO) obj;
- if (author == null) {
- if (other.author != null) {
- return false;
- }
- } else if (!author.equals(other.author)) {
- return false;
- }
- if (id == null) {
- if (other.id != null) {
- return false;
- }
- } else if (!id.equals(other.id)) {
- return false;
- }
- if (parent == null) {
- if (other.parent != null) {
- return false;
- }
- } else if (!parent.equals(other.parent)) {
- return false;
- }
- if (publishedOn == null) {
- if (other.publishedOn != null) {
- return false;
- }
- } else if (!publishedOn.equals(other.publishedOn)) {
- return false;
- }
- if (text == null) {
- if (other.text != null) {
- return false;
- }
- } else if (!text.equals(other.text)) {
- return false;
- }
- return true;
- }
-
- public int getAbuseInformersCount() {
- return abuseInformersCount;
- }
-
- public UserSimpleDTO getAuthor() {
- return author;
- }
-
- public List<CommentDTO> getChilds() {
- return childs;
- }
-
- public Long getId() {
- return id;
- }
-
- public int getNegativeVotersCount() {
- return negativeVotersCount;
- }
-
- public CommentDTO getParent() {
- return parent;
- }
-
- public int getPositiveVotersCount() {
- return positiveVotersCount;
- }
-
- public Long getPublishedOn() {
- return publishedOn;
- }
-
- public String getText() {
- return text;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (author == null ? 0 : author.hashCode());
- result = prime * result + (id == null ? 0 : id.hashCode());
- result = prime * result + (parent == null ? 0 : parent.hashCode());
- result = prime * result + (publishedOn == null ? 0 : publishedOn.hashCode());
- result = prime * result + (text == null ? 0 : text.hashCode());
- return result;
- }
-
- public void setAbuseInformersCount(final int abuseInformersCount) {
- this.abuseInformersCount = abuseInformersCount;
- }
-
- public void setAuthor(final UserSimpleDTO author) {
- this.author = author;
- }
-
- public void setChilds(final List<CommentDTO> childs) {
- this.childs = childs;
- }
-
- public void setId(final Long id) {
- this.id = id;
- }
-
- public void setNegativeVotersCount(final int negativeVotersCount) {
- this.negativeVotersCount = negativeVotersCount;
- }
-
- public void setParent(final CommentDTO parent) {
- this.parent = parent;
- }
-
- public void setPositiveVotersCount(final int positiveVotersCount) {
- this.positiveVotersCount = positiveVotersCount;
- }
-
- public void setPublishedOn(final Long publishedOn) {
- this.publishedOn = publishedOn;
- }
-
- public void setText(final String text) {
- this.text = text;
- }
-
-}
Modified: trunk/src/main/java/cc/kune/core/shared/dto/ContentSimpleDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/ContentSimpleDTO.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/shared/dto/ContentSimpleDTO.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -27,68 +27,86 @@
public class ContentSimpleDTO implements IsSerializable {
- private Long id;
- private String title;
- private String typeId;
- private StateToken stateToken;
- private ContentStatus status;
- private AccessRights rights;
- private BasicMimeTypeDTO mimeType;
+ private Long id;
+ private BasicMimeTypeDTO mimeType;
+ private Long modifiedOn;
+ private AccessRights rights;
+ private StateToken stateToken;
+ private ContentStatus status;
+ private String title;
+ private String typeId;
+ private String waveId;
- public Long getId() {
- return id;
- }
+ public Long getId() {
+ return id;
+ }
- public BasicMimeTypeDTO getMimeType() {
- return mimeType;
- }
+ public BasicMimeTypeDTO getMimeType() {
+ return mimeType;
+ }
- public AccessRights getRights() {
- return rights;
- }
+ public Long getModifiedOn() {
+ return modifiedOn;
+ }
- public StateToken getStateToken() {
- return stateToken;
- }
+ public AccessRights getRights() {
+ return rights;
+ }
- public ContentStatus getStatus() {
- return status;
- }
+ public StateToken getStateToken() {
+ return stateToken;
+ }
- public String getTitle() {
- return title;
- }
+ public ContentStatus getStatus() {
+ return status;
+ }
- public String getTypeId() {
- return typeId;
- }
+ public String getTitle() {
+ return title;
+ }
- public void setId(final Long id) {
- this.id = id;
- }
+ public String getTypeId() {
+ return typeId;
+ }
- public void setMimeType(final BasicMimeTypeDTO mimeType) {
- this.mimeType = mimeType;
- }
+ public String getWaveId() {
+ return waveId;
+ }
- public void setRights(final AccessRights rights) {
- this.rights = rights;
- }
+ public void setId(final Long id) {
+ this.id = id;
+ }
- public void setStateToken(final StateToken stateToken) {
- this.stateToken = stateToken;
- }
+ public void setMimeType(final BasicMimeTypeDTO mimeType) {
+ this.mimeType = mimeType;
+ }
- public void setStatus(final ContentStatus status) {
- this.status = status;
- }
+ public void setModifiedOn(final Long modifiedOn) {
+ this.modifiedOn = modifiedOn;
+ }
- public void setTitle(final String title) {
- this.title = title;
- }
+ public void setRights(final AccessRights rights) {
+ this.rights = rights;
+ }
- public void setTypeId(final String typeId) {
- this.typeId = typeId;
- }
+ public void setStateToken(final StateToken stateToken) {
+ this.stateToken = stateToken;
+ }
+ public void setStatus(final ContentStatus status) {
+ this.status = status;
+ }
+
+ public void setTitle(final String title) {
+ this.title = title;
+ }
+
+ public void setTypeId(final String typeId) {
+ this.typeId = typeId;
+ }
+
+ public void setWaveId(final String waveId) {
+ this.waveId = waveId;
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/shared/dto/StateContentDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/StateContentDTO.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/core/shared/dto/StateContentDTO.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -37,6 +37,7 @@
private String documentId;
private boolean isParticipant;
private BasicMimeTypeDTO mimeType;
+ private Date modifiedOn;
private Date publishedOn;
private Double rate;
private Integer rateByUsers;
@@ -76,6 +77,10 @@
return mimeType;
}
+ public Date getModifiedOn() {
+ return modifiedOn;
+ }
+
public Date getPublishedOn() {
return publishedOn;
}
@@ -140,6 +145,10 @@
this.mimeType = mimeType;
}
+ public void setModifiedOn(final Date modifiedOn) {
+ this.modifiedOn = modifiedOn;
+ }
+
public void setPublishedOn(final Date publishedOn) {
this.publishedOn = publishedOn;
}
Deleted: trunk/src/main/java/cc/kune/domain/Comment.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Comment.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/domain/Comment.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -1,222 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package cc.kune.domain;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToMany;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
-import javax.persistence.Transient;
-
-import org.hibernate.annotations.Fetch;
-import org.hibernate.annotations.FetchMode;
-import org.hibernate.search.annotations.DocumentId;
-import org.hibernate.search.annotations.Field;
-import org.hibernate.search.annotations.Index;
-import org.hibernate.search.annotations.IndexedEmbedded;
-import org.hibernate.search.annotations.Store;
-
-@Entity
-@Table(name = "comment")
-public class Comment {
-
- @IndexedEmbedded
- @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
- private List<User> abuseInformers;
-
- @IndexedEmbedded
- @OneToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
- private User author;
-
- @Fetch(FetchMode.JOIN)
- @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
- private Set<Comment> childs;
-
- @ManyToOne
- @JoinColumn
- @IndexedEmbedded
- private Content content;
-
- @Id
- @GeneratedValue
- @DocumentId
- private Long id;
-
- @IndexedEmbedded
- @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
- private List<User> negativeVoters;
-
- // Parent/Child pattern:
- // http://www.hibernate.org/hib_docs/reference/en/html/example-parentchild.html
- // http://www.researchkitchen.co.uk/blog/archives/57
- @ManyToOne(fetch = FetchType.LAZY)
- @JoinColumn
- private Comment parent;
-
- @IndexedEmbedded
- @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
- private List<User> positiveVoters;
-
- @Basic(optional = false)
- private Long publishedOn;
-
- @Field(index = Index.TOKENIZED, store = Store.NO)
- private String text;
-
- public Comment() {
- this.publishedOn = System.currentTimeMillis();
- this.childs = new HashSet<Comment>();
- this.positiveVoters = new ArrayList<User>();
- this.negativeVoters = new ArrayList<User>();
- this.abuseInformers = new ArrayList<User>();
- }
-
- public void addAbuseInformer(final User informer) {
- if (!abuseInformers.contains(informer)) {
- abuseInformers.add(informer);
- }
- }
-
- public void addNegativeVoter(final User voter) {
- if (!negativeVoters.contains(voter)) {
- negativeVoters.add(voter);
- }
- if (positiveVoters.contains(voter)) {
- positiveVoters.remove(voter);
- }
- }
-
- public void addPositiveVoter(final User voter) {
- if (!positiveVoters.contains(voter)) {
- positiveVoters.add(voter);
- }
- if (negativeVoters.contains(voter)) {
- negativeVoters.remove(voter);
- }
- }
-
- public List<User> getAbuseInformers() {
- return abuseInformers;
- }
-
- @Transient
- public int getAbuseInformersCount() {
- return abuseInformers.size();
- }
-
- public User getAuthor() {
- return author;
- }
-
- public Set<Comment> getChilds() {
- return childs;
- }
-
- public Content getContent() {
- return content;
- }
-
- public Long getId() {
- return id;
- }
-
- public List<User> getNegativeVoters() {
- return negativeVoters;
- }
-
- @Transient
- public int getNegativeVotersCount() {
- return negativeVoters.size();
- }
-
- public Comment getParent() {
- return parent;
- }
-
- public List<User> getPositiveVoters() {
- return positiveVoters;
- }
-
- @Transient
- public int getPositiveVotersCount() {
- return positiveVoters.size();
- }
-
- public Long getPublishedOn() {
- return publishedOn;
- }
-
- public String getText() {
- return text;
- }
-
- public void setAbuseInformers(final List<User> abuseInformers) {
- this.abuseInformers = abuseInformers;
- }
-
- public void setAuthor(final User author) {
- this.author = author;
- }
-
- public void setChilds(final Set<Comment> childs) {
- this.childs = childs;
- }
-
- public void setContent(final Content content) {
- this.content = content;
- }
-
- public void setId(final Long id) {
- this.id = id;
- }
-
- public void setNegativeVoters(final List<User> negativeVoters) {
- this.negativeVoters = negativeVoters;
- }
-
- public void setParent(final Comment parent) {
- this.parent = parent;
- }
-
- public void setPositiveVoters(final List<User> positiveVoters) {
- this.positiveVoters = positiveVoters;
- }
-
- public void setPublishedOn(final Long publishedOn) {
- this.publishedOn = publishedOn;
- }
-
- public void setText(final String text) {
- this.text = text;
- }
-}
Modified: trunk/src/main/java/cc/kune/domain/Content.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Content.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/domain/Content.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -1,5 +1,6 @@
/*
*
+
* Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
* This file is part of kune.
*
@@ -21,9 +22,7 @@
import java.util.ArrayList;
import java.util.Date;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
@@ -48,7 +47,6 @@
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
-import org.hibernate.search.annotations.ContainedIn;
import org.hibernate.search.annotations.DocumentId;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
@@ -78,11 +76,6 @@
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private List<User> authors;
- @Fetch(FetchMode.JOIN)
- @ContainedIn
- @OneToMany(mappedBy = "content", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
- private Set<Comment> comments;
-
@ManyToOne
@JoinColumn
@IndexedEmbedded
@@ -123,6 +116,9 @@
private BasicMimeType mimeType;
@Basic(optional = true)
+ private Long modifiedOn;
+
+ @Basic(optional = true)
private Date publishedOn;
@Enumerated(EnumType.STRING)
@@ -138,10 +134,11 @@
@Version
private int version;
+ private String waveId;
+
public Content() {
translations = new ArrayList<ContentTranslation>();
authors = new ArrayList<User>();
- comments = new HashSet<Comment>();
createdOn = System.currentTimeMillis();
lastRevision = new Revision(this);
accessLists = null;
@@ -154,13 +151,6 @@
}
}
- public void addComment(final Comment comment) {
- // FIXME: something related with lazy initialization (workaround using
- // size())
- comments.size();
- comments.add(comment);
- }
-
public void addRevision(final Revision revision) {
if (lastRevision == null) {
lastRevision = revision;
@@ -179,10 +169,6 @@
return authors;
}
- public Set<Comment> getComments() {
- return comments;
- }
-
public Container getContainer() {
return container;
}
@@ -219,6 +205,10 @@
return mimeType;
}
+ public Long getModifiedOn() {
+ return modifiedOn;
+ }
+
public Group getOwner(final Group group) {
return container.getOwner();
}
@@ -258,6 +248,10 @@
return version;
}
+ public String getWaveId() {
+ return waveId;
+ }
+
@Transient
public boolean hasAccessList() {
return accessLists != null;
@@ -280,10 +274,6 @@
this.authors = authors;
}
- public void setComments(final Set<Comment> comments) {
- this.comments = comments;
- }
-
public void setContainer(final Container container) {
this.container = container;
}
@@ -321,6 +311,10 @@
this.mimeType = mimeType;
}
+ public void setModifiedOn(final Long modifiedOn) {
+ this.modifiedOn = modifiedOn;
+ }
+
public void setPublishedOn(final Date publishedOn) {
this.publishedOn = publishedOn;
}
@@ -341,6 +335,10 @@
this.version = version;
}
+ public void setWaveId(final String waveId) {
+ this.waveId = waveId;
+ }
+
@Override
public String toString() {
return "Content[(" + getStateTokenEncoded() + "): " + getTitle() + "]";
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/RenameAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/RenameAction.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/RenameAction.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -20,6 +20,7 @@
package cc.kune.gspace.client.actions;
import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.errors.ErrorHandler;
import cc.kune.core.client.errors.NameInUseException;
import cc.kune.core.client.errors.NameNotPermittedException;
import cc.kune.core.client.rpcservices.ContentServiceAsync;
@@ -34,15 +35,17 @@
public class RenameAction {
private final Provider<ContentServiceAsync> contentService;
+ private final ErrorHandler errorHandler;
private final I18nTranslationService i18n;
private final Session session;
@Inject
public RenameAction(final I18nTranslationService i18n, final Session session,
- final Provider<ContentServiceAsync> contentService) {
+ final Provider<ContentServiceAsync> contentService, final ErrorHandler errorHandler) {
this.i18n = i18n;
this.session = session;
this.contentService = contentService;
+ this.errorHandler = errorHandler;
}
public void rename(final StateToken token, final String oldName, final String newName,
@@ -60,9 +63,10 @@
NotifyUser.error(i18n.tWithNT("This name is not permitted",
"It is used when a file or a folder does not have a permitted name"));
} else {
+ errorHandler.process(caught);
NotifyUser.error(i18n.t("Error renaming"));
}
- listener.onFail(token, newName);
+ listener.onFail(token, oldName);
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemDescriptor.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemDescriptor.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemDescriptor.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -24,70 +24,77 @@
import cc.kune.core.shared.domain.utils.StateToken;
public class FolderItemDescriptor {
- private final GuiActionDescCollection actionCollection;
- private final boolean allowDrag;
- private final boolean allowDrop;
- private final ContentStatus contentStatus;
- private final Object icon;
- private final String id;
- private final String parentId;
- private final String text;
- private final StateToken token;
- private final String tooltip;
+ private final GuiActionDescCollection actionCollection;
+ private final boolean allowDrag;
+ private final boolean allowDrop;
+ private final ContentStatus contentStatus;
+ private final Object icon;
+ private final String id;
+ private final long modififiedOn;
+ private final String parentId;
+ private final String text;
+ private final StateToken token;
+ private final String tooltip;
- public FolderItemDescriptor(final String id, final String parentId, final Object icon, final String text,
- final String tooltip, final ContentStatus contentStatus, final StateToken token, final boolean allowDrag,
- final boolean allowDrop, final GuiActionDescCollection actionCollection) {
- this.id = id;
- this.parentId = parentId;
- this.icon = icon;
- this.text = text;
- this.tooltip = tooltip;
- this.contentStatus = contentStatus;
- this.token = token;
- this.allowDrag = allowDrag;
- this.allowDrop = allowDrop;
- this.actionCollection = actionCollection;
- }
+ public FolderItemDescriptor(final String id, final String parentId, final Object icon,
+ final String text, final String tooltip, final ContentStatus contentStatus,
+ final StateToken token, final long modififiedOn, final boolean allowDrag, final boolean allowDrop,
+ final GuiActionDescCollection actionCollection) {
+ this.id = id;
+ this.parentId = parentId;
+ this.icon = icon;
+ this.text = text;
+ this.tooltip = tooltip;
+ this.contentStatus = contentStatus;
+ this.token = token;
+ this.modififiedOn = modififiedOn;
+ this.allowDrag = allowDrag;
+ this.allowDrop = allowDrop;
+ this.actionCollection = actionCollection;
+ }
- public GuiActionDescCollection getActionCollection() {
- return actionCollection;
- }
+ public GuiActionDescCollection getActionCollection() {
+ return actionCollection;
+ }
- public ContentStatus getContentStatus() {
- return contentStatus;
- }
+ public ContentStatus getContentStatus() {
+ return contentStatus;
+ }
- public Object getIcon() {
- return icon;
- }
+ public Object getIcon() {
+ return icon;
+ }
- public String getId() {
- return id;
- }
+ public String getId() {
+ return id;
+ }
- public String getParentId() {
- return parentId;
- }
+ public long getModififiedOn() {
+ return modififiedOn;
+ }
- public StateToken getStateToken() {
- return token;
- }
+ public String getParentId() {
+ return parentId;
+ }
- public String getText() {
- return text;
- }
+ public StateToken getStateToken() {
+ return token;
+ }
- public String getTooltip() {
- return tooltip;
- }
+ public String getText() {
+ return text;
+ }
- public boolean isDraggable() {
- return allowDrag;
- }
+ public String getTooltip() {
+ return tooltip;
+ }
- public boolean isDroppable() {
- return allowDrop;
- }
+ public boolean isDraggable() {
+ return allowDrag;
+ }
+ public boolean isDroppable() {
+ return allowDrop;
+ }
+
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemWidget.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemWidget.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemWidget.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -40,6 +40,8 @@
@UiField
SimplePanel menu;
@UiField
+ InlineLabel modified;
+ @UiField
InlineLabel title;
public FolderItemWidget(final ImageResource iconResource, final String title) {
@@ -102,6 +104,14 @@
menu.add(toolbar);
}
+ public void setMenuVisible(final boolean visible) {
+ menu.getElement().getStyle().setOpacity(visible ? 1d : 0.2d);
+ }
+
+ public void setModifiedText(final String text) {
+ modified.setText(text);
+ }
+
public void setSelect(final boolean selected) {
clearFocusStyles();
focusPanel.removeStyleDependentName(selected ? "noselected" : "selected");
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemWidget.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemWidget.ui.xml 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderItemWidget.ui.xml 2011-05-05 14:46:37 UTC (rev 1346)
@@ -35,6 +35,17 @@
outline: 0;
}
+ .modified {
+ margin-right: 5px;
+ color: #A05A2C;
+ font-size: 17px;
+ line-height: 1.3em;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ float: right;
+ font-style: italic;
+ }
+
.title {
margin-left: 5px;
color: #A05A2C;
@@ -57,6 +68,8 @@
<g:Image styleName="{style.icon}" ui:field="icon" />
<g:InlineLabel styleName="{style.title}" ui:field="title" />
<g:SimplePanel styleName="{style.menu}" ui:field="menu" />
+ <g:InlineLabel styleName="{style.modified}"
+ ui:field="modified" />
</g:FlowPanel>
</g:FocusPanel>
</ui:UiBinder>
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -1,5 +1,7 @@
package cc.kune.gspace.client.viewers;
+import org.waveprotocol.wave.client.common.util.DateUtils;
+
import cc.kune.common.client.actions.ui.ActionSimplePanel;
import cc.kune.common.client.actions.ui.bind.GuiProvider;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
@@ -9,6 +11,7 @@
import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.gspace.client.GSpaceArmor;
+import cc.kune.gspace.client.viewers.FolderViewerPresenter.FolderViewerView;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -57,12 +60,17 @@
final FolderItemWidget itemWidget = new FolderItemWidget((ImageResource) item.getIcon(),
item.getText());
final ActionSimplePanel toolbar = new ActionSimplePanel(guiProvider);
+ final long modifiedOn = item.getModififiedOn();
+ if (modifiedOn != FolderViewerView.NO_DATE) {
+ // String dateFormat = session.getCurrentLanguage().getDateFormatShort();
+ itemWidget.setModifiedText(DateUtils.getInstance().formatPastDate(modifiedOn));
+ }
itemWidget.setMenu(toolbar);
// Tooltip.to(itemWidget, item.getTooltip());
final MenuDescriptor menu = new MenuDescriptor(i18n.t("Actions"));
menu.withIcon(res.arrowdown()).withStyles("k-def-docbtn, k-btn, k-button");
menu.setStandalone(false);
- menu.setVisible(false);
+ itemWidget.setMenuVisible(false);
toolbar.add(menu);
for (final GuiActionDescrip menuItem : item.getActionCollection()) {
menuItem.setParent(menu);
@@ -82,7 +90,8 @@
itemWidget.getRowMouse().addMouseOutHandler(new MouseOutHandler() {
@Override
public void onMouseOut(final MouseOutEvent event) {
- menu.setVisible(false);
+ itemWidget.setMenuVisible(false);
+ // menu.setVisible(false);
// itemWidget.setSelect(false);
// menu.hide();
}
@@ -90,7 +99,8 @@
itemWidget.getRowMouse().addMouseOverHandler(new MouseOverHandler() {
@Override
public void onMouseOver(final MouseOverEvent event) {
- menu.setVisible(true);
+ // menu.setVisible(true);
+ itemWidget.setMenuVisible(true);
}
});
flex.setWidget(rowCount + 1, 0, itemWidget);
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -55,6 +55,8 @@
public interface FolderViewerView extends View {
+ long NO_DATE = 0;
+
void addItem(FolderItemDescriptor item, ClickHandler clickHandler,
DoubleClickHandler doubleClickHandler);
@@ -111,11 +113,11 @@
private void addItem(final String title, final String contentTypeId, final BasicMimeTypeDTO mimeType,
final ContentStatus status, final StateToken stateToken, final StateToken parentStateToken,
- final AccessRights rights) {
+ final AccessRights rights, final long modifiedOn) {
final Object icon = getIcon(stateToken, contentTypeId, mimeType);
final String tooltip = getTooltip(stateToken, mimeType);
final FolderItemDescriptor item = new FolderItemDescriptor(genId(stateToken),
- genId(parentStateToken), icon, title, tooltip, status, stateToken,
+ genId(parentStateToken), icon, title, tooltip, status, stateToken, modifiedOn,
capabilitiesRegistry.isDragable(contentTypeId) && rights.isAdministrable(),
capabilitiesRegistry.isDropable(contentTypeId) && rights.isAdministrable(),
actionsRegistry.getCurrentActions(stateToken, contentTypeId, session.isLogged(), rights,
@@ -155,12 +157,13 @@
addItem(childFolder.getName(), childFolder.getTypeId(), null, ContentStatus.publishedOnline,
childFolder.getStateToken(),
childFolder.getStateToken().copy().setFolder(childFolder.getParentFolderId()),
- containerRights);
+ containerRights, FolderViewerView.NO_DATE);
}
// Other contents (docs, etc)
for (final ContentSimpleDTO content : container.getContents()) {
addItem(content.getTitle(), content.getTypeId(), content.getMimeType(), content.getStatus(),
- content.getStateToken(), content.getStateToken().copy().clearDocument(), content.getRights());
+ content.getStateToken(), content.getStateToken().copy().clearDocument(),
+ content.getRights(), content.getModifiedOn());
}
}
}
Modified: trunk/src/main/resources/META-INF/persistence.xml
===================================================================
--- trunk/src/main/resources/META-INF/persistence.xml 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/resources/META-INF/persistence.xml 2011-05-05 14:46:37 UTC (rev 1346)
@@ -11,7 +11,6 @@
<!-- src/main/java/cc/kune/domain$ ls -1 *.java | sed 's/.java/<\/class>/g' | sed 's/^/<class>cc.kune.domain./g' -->
<class>cc.kune.domain.AccessLists</class>
<class>cc.kune.domain.BasicMimeType</class>
- <class>cc.kune.domain.Comment</class>
<class>cc.kune.domain.Container</class>
<class>cc.kune.domain.ContainerTranslation</class>
<class>cc.kune.domain.Content</class>
@@ -68,7 +67,6 @@
<!-- JPA entities must be registered here -->
<class>cc.kune.domain.AccessLists</class>
<class>cc.kune.domain.BasicMimeType</class>
- <class>cc.kune.domain.Comment</class>
<class>cc.kune.domain.Container</class>
<class>cc.kune.domain.ContainerTranslation</class>
<class>cc.kune.domain.Content</class>
@@ -121,7 +119,6 @@
<!-- JPA entities must be registered here -->
<class>cc.kune.domain.AccessLists</class>
<class>cc.kune.domain.BasicMimeType</class>
- <class>cc.kune.domain.Comment</class>
<class>cc.kune.domain.Container</class>
<class>cc.kune.domain.ContainerTranslation</class>
<class>cc.kune.domain.Content</class>
Modified: trunk/src/main/resources/dozerBeanMapping.xml
===================================================================
--- trunk/src/main/resources/dozerBeanMapping.xml 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/main/resources/dozerBeanMapping.xml 2011-05-05 14:46:37 UTC (rev 1346)
@@ -209,34 +209,6 @@
<class-b>cc.kune.domain.Tag</class-b>
</mapping>
<mapping>
- <class-a> cc.kune.domain.Comment </class-a>
- <class-b> cc.kune.core.shared.dto.CommentDTO </class-b>
- <field>
- <a>author</a>
- <b>author</b>
- <a-hint> cc.kune.domain.User </a-hint>
- <b-hint> cc.kune.core.shared.dto.UserSimpleDTO </b-hint>
- </field>
- <field>
- <a>childs</a>
- <b>childs</b>
- <a-hint> cc.kune.domain.Comment </a-hint>
- <b-hint> cc.kune.core.shared.dto.CommentDTO </b-hint>
- </field>
- <field type="one-way">
- <a get-method="getPositiveVotersCount"> positiveVotersCount </a>
- <b>positiveVotersCount</b>
- </field>
- <field type="one-way">
- <a get-method="getNegativeVotersCount"> negativeVotersCount </a>
- <b>negativeVotersCount</b>
- </field>
- <field type="one-way">
- <a get-method="getAbuseInformersCount"> abuseInformersCount </a>
- <b>abuseInformersCount</b>
- </field>
- </mapping>
- <mapping>
<class-a>cc.kune.core.shared.dto.LinkDTO</class-a>
<class-b>cc.kune.domain.User</class-b>
<field>
Modified: trunk/src/test/java/cc/kune/core/server/TestConstants.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/TestConstants.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/test/java/cc/kune/core/server/TestConstants.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -1,12 +1,12 @@
package cc.kune.core.server;
public final class TestConstants {
- // test: use memory
- // test_db: use mysql
- // public static final String PERSISTENCE_UNIT = "test_db";
- public static final String PERSISTENCE_UNIT = "test";
- public static final String WAVE_TEST_PROPFILE = "wave-server-testing.properties";
+ // test: use memory
+ // test_db: use mysql
+ // public static final String PERSISTENCE_UNIT = "test_db";
+ public static final String PERSISTENCE_UNIT = "test";
+ public static final String WAVE_TEST_PROPFILE = "wave-server-testing.properties";
- private TestConstants() {
- }
+ private TestConstants() {
+ }
}
Modified: trunk/src/test/java/cc/kune/core/server/access/FinderTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/access/FinderTest.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/test/java/cc/kune/core/server/access/FinderTest.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -22,14 +22,11 @@
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
-import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import cc.kune.core.client.errors.ContentNotFoundException;
import cc.kune.core.server.TestDomainHelper;
-import cc.kune.core.server.access.FinderServiceDefault;
-import cc.kune.core.server.content.CommentManager;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
import cc.kune.core.server.manager.GroupManager;
@@ -42,147 +39,139 @@
public class FinderTest {
- private GroupManager groupManager;
- private ContainerManager containerManager;
- private ContentManager contentManager;
- private RateManager rateManager;
- private FinderServiceDefault finder;
- private CommentManager commentManager;
+ private ContainerManager containerManager;
+ private ContentManager contentManager;
+ private FinderServiceDefault finder;
+ private GroupManager groupManager;
+ private RateManager rateManager;
- @Test(expected = ContentNotFoundException.class)
- public void contentAndFolderMatch() throws Exception {
- final Content descriptor = new Content();
- final Container container = TestDomainHelper.createFolderWithIdAndToolName(5, "toolName2");
- descriptor.setContainer(container);
- Mockito.when(contentManager.find(1L)).thenReturn(descriptor);
+ @Test(expected = ContentNotFoundException.class)
+ public void contentAndFolderMatch() throws Exception {
+ final Content descriptor = new Content();
+ final Container container = TestDomainHelper.createFolderWithIdAndToolName(5, "toolName2");
+ descriptor.setContainer(container);
+ Mockito.when(contentManager.find(1L)).thenReturn(descriptor);
- finder.getContent(new StateToken("groupShortName", "toolName", "5", "1"), null);
- }
+ finder.getContent(new StateToken("groupShortName", "toolName", "5", "1"), null);
+ }
- @Test(expected = ContentNotFoundException.class)
- public void contentAndGrouplMatch() throws Exception {
- final Content descriptor = new Content();
- final Container container = TestDomainHelper.createFolderWithIdAndGroupAndTool(5, "groupOther", "toolName");
- descriptor.setContainer(container);
- Mockito.when(contentManager.find(1L)).thenReturn(descriptor);
+ @Test(expected = ContentNotFoundException.class)
+ public void contentAndGrouplMatch() throws Exception {
+ final Content descriptor = new Content();
+ final Container container = TestDomainHelper.createFolderWithIdAndGroupAndTool(5, "groupOther",
+ "toolName");
+ descriptor.setContainer(container);
+ Mockito.when(contentManager.find(1L)).thenReturn(descriptor);
- finder.getContent(new StateToken("groupShortName", "toolName", "5", "1"), null);
- }
+ finder.getContent(new StateToken("groupShortName", "toolName", "5", "1"), null);
+ }
- @Test(expected = ContentNotFoundException.class)
- public void contentAndToolMatch() throws Exception {
- final Content descriptor = new Content();
- final Container container = TestDomainHelper.createFolderWithId(1);
- descriptor.setContainer(container);
- Mockito.when(contentManager.find(1L)).thenReturn(descriptor);
+ @Test(expected = ContentNotFoundException.class)
+ public void contentAndToolMatch() throws Exception {
+ final Content descriptor = new Content();
+ final Container container = TestDomainHelper.createFolderWithId(1);
+ descriptor.setContainer(container);
+ Mockito.when(contentManager.find(1L)).thenReturn(descriptor);
- finder.getContent(new StateToken("groupShortName", "toolName", "5", "1"), null);
- }
+ finder.getContent(new StateToken("groupShortName", "toolName", "5", "1"), null);
+ }
- @Before
- public void createSession() {
- this.groupManager = Mockito.mock(GroupManager.class);
- this.containerManager = Mockito.mock(ContainerManager.class);
- this.contentManager = Mockito.mock(ContentManager.class);
- this.rateManager = Mockito.mock(RateManager.class);
- this.commentManager = Mockito.mock(CommentManager.class);
- this.finder = new FinderServiceDefault(groupManager, containerManager, contentManager, rateManager,
- commentManager);
- }
+ @Test
+ public void getGroupDefaultContent() throws Exception {
+ final Group group = new Group();
+ final Content descriptor = new Content();
+ group.setDefaultContent(descriptor);
+ Mockito.when(groupManager.findByShortName("groupShortName")).thenReturn(group);
- @Test
- public void getGroupDefaultContent() throws Exception {
- final Group group = new Group();
- final Content descriptor = new Content();
- group.setDefaultContent(descriptor);
- Mockito.when(groupManager.findByShortName("groupShortName")).thenReturn(group);
+ final Content content = finder.getContent(new StateToken("groupShortName", null, null, null), null);
+ assertSame(descriptor, content);
+ }
- final Content content = finder.getContent(new StateToken("groupShortName", null, null, null), null);
- assertSame(descriptor, content);
- }
+ @Test
+ public void testCompleteToken() throws Exception {
+ final Container container = TestDomainHelper.createFolderWithIdAndGroupAndTool(1, "groupShortName",
+ "toolName");
+ final Content descriptor = new Content();
+ descriptor.setId(1L);
+ descriptor.setContainer(container);
- @Test
- public void testCompleteToken() throws Exception {
- final Container container = TestDomainHelper.createFolderWithIdAndGroupAndTool(1, "groupShortName", "toolName");
- final Content descriptor = new Content();
- descriptor.setId(1L);
- descriptor.setContainer(container);
+ Mockito.when(contentManager.find(2L)).thenReturn(descriptor);
- Mockito.when(contentManager.find(2L)).thenReturn(descriptor);
+ final Content content = finder.getContent(new StateToken("groupShortName", "toolName", "1", "2"),
+ null);
+ assertSame(descriptor, content);
+ }
- final Content content = finder.getContent(new StateToken("groupShortName", "toolName", "1", "2"), null);
- assertSame(descriptor, content);
- }
+ @Test(expected = ContentNotFoundException.class)
+ public void testContainerExistsButContentNotFound() throws Exception {
+ finder.getContent(new StateToken("groupShortName", "toolName", "1", "999"), null);
+ }
- @Test(expected = ContentNotFoundException.class)
- public void testContainerExistsButContentNotFound() throws Exception {
- finder.getContent(new StateToken("groupShortName", "toolName", "1", "999"), null);
- }
+ @Test
+ public void testDefaultGroupContent() throws Exception {
+ final Group userGroup = new Group();
+ final Content descriptor = TestDomainHelper.createDescriptor(1L, "title", "content");
+ userGroup.setDefaultContent(descriptor);
- @Test
- public void testDefaultGroupContent() throws Exception {
- final Group userGroup = new Group();
- final Content descriptor = TestDomainHelper.createDescriptor(1L, "title", "content");
- userGroup.setDefaultContent(descriptor);
+ final Content content = finder.getContent(new StateToken(), userGroup);
+ assertSame(descriptor, content);
+ }
- final Content content = finder.getContent(new StateToken(), userGroup);
- assertSame(descriptor, content);
- }
+ @Test
+ public void testDefaultGroupContentHasDefLicense() throws Exception {
+ final Group userGroup = new Group();
+ final Content descriptor = TestDomainHelper.createDescriptor(1L, "title", "content");
+ userGroup.setDefaultContent(descriptor);
- @Test
- public void testDefaultGroupContentHasDefLicense() throws Exception {
- final Group userGroup = new Group();
- final Content descriptor = TestDomainHelper.createDescriptor(1L, "title", "content");
- userGroup.setDefaultContent(descriptor);
+ final Content content = finder.getContent(new StateToken(), userGroup);
+ assertSame(userGroup.getDefaultLicense(), content.getLicense());
+ }
- final Content content = finder.getContent(new StateToken(), userGroup);
- assertSame(userGroup.getDefaultLicense(), content.getLicense());
- }
+ @Test
+ public void testDefaultUserContent() throws Exception {
+ final Content content = new Content();
+ final Group group = new Group();
+ group.setDefaultContent(content);
+ final Content response = finder.getContent(new StateToken(), group);
+ assertSame(content, response);
+ }
- @Test
- public void testDefaultUserContent() throws Exception {
- final Content content = new Content();
- final Group group = new Group();
- group.setDefaultContent(content);
- final Content response = finder.getContent(new StateToken(), group);
- assertSame(content, response);
- }
+ @Test
+ public void testDocMissing() throws Exception {
+ final Container container = new Container();
+ Mockito.when(containerManager.find(1L)).thenReturn(container);
- @Test
- public void testDocMissing() throws Exception {
- final Container container = new Container();
- Mockito.when(containerManager.find(1L)).thenReturn(container);
+ final Content content = finder.getContent(new StateToken("groupShortName", "toolName", "1", null),
+ null);
+ assertNotNull(content);
+ assertSame(container, content.getContainer());
+ }
- final Content content = finder.getContent(new StateToken("groupShortName", "toolName", "1", null), null);
- assertNotNull(content);
- assertSame(container, content.getContainer());
- }
+ @Test
+ public void testFolderMissing() throws Exception {
+ final Group group = new Group();
+ final ToolConfiguration config = group.setToolConfig("toolName", new ToolConfiguration());
+ final Container container = config.setRoot(new Container());
+ Mockito.when(groupManager.findByShortName("groupShortName")).thenReturn(group);
- @Test
- public void testFolderMissing() throws Exception {
- final Group group = new Group();
- final ToolConfiguration config = group.setToolConfig("toolName", new ToolConfiguration());
- final Container container = config.setRoot(new Container());
- Mockito.when(groupManager.findByShortName("groupShortName")).thenReturn(group);
+ final StateToken token = new StateToken("groupShortName", "toolName", null, null);
+ final Content content = finder.getContent(token, null);
+ assertSame(container, content.getContainer());
+ }
- final StateToken token = new StateToken("groupShortName", "toolName", null, null);
- final Content content = finder.getContent(token, null);
- assertSame(container, content.getContainer());
- }
+ @Test(expected = ContentNotFoundException.class)
+ public void testIds() throws Exception {
+ final Content descriptor = new Content();
+ final Container container = TestDomainHelper.createFolderWithIdAndToolName(5, "toolName");
+ descriptor.setContainer(container);
+ Mockito.when(contentManager.find(1L)).thenReturn(descriptor);
- @Test(expected = ContentNotFoundException.class)
- public void testIds() throws Exception {
- final Content descriptor = new Content();
- final Container container = TestDomainHelper.createFolderWithIdAndToolName(5, "toolName");
- descriptor.setContainer(container);
- Mockito.when(contentManager.find(1L)).thenReturn(descriptor);
+ finder.getContent(new StateToken("groupShortName", "toolName", "5", "1a"), null);
+ }
- finder.getContent(new StateToken("groupShortName", "toolName", "5", "1a"), null);
- }
+ @Test(expected = ContentNotFoundException.class)
+ public void voyAJoder() throws Exception {
+ finder.getContent(new StateToken(null, "toolName", "1", "2"), null);
+ }
- @Test(expected = ContentNotFoundException.class)
- public void voyAJoder() throws Exception {
- finder.getContent(new StateToken(null, "toolName", "1", "2"), null);
- }
-
}
Deleted: trunk/src/test/java/cc/kune/core/server/integration/content/ContentCommentServiceTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/content/ContentCommentServiceTest.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentCommentServiceTest.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -1,61 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.core.server.integration.content;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import cc.kune.core.client.errors.DefaultException;
-import cc.kune.core.client.errors.UserMustBeLoggedException;
-import cc.kune.core.server.integration.IntegrationTestHelper;
-import cc.kune.core.shared.dto.CommentDTO;
-import cc.kune.core.shared.dto.StateContainerDTO;
-
-public class ContentCommentServiceTest extends ContentServiceIntegrationTest {
-
- private StateContainerDTO defaultContent;
-
- @Test
- public void commentDefaultContent() throws Exception {
- doLogin();
- final String commentText = "Some comment";
- final CommentDTO commentDTO = contentService.addComment(session.getHash(), defaultContent.getStateToken(),
- commentText);
- assertEquals(commentDTO.getText(), commentText);
- assertEquals(commentDTO.getPositiveVotersCount(), 0);
- assertEquals(commentDTO.getNegativeVotersCount(), 0);
- assertEquals(commentDTO.getAbuseInformersCount(), 0);
- }
-
- @Test(expected = UserMustBeLoggedException.class)
- public void commentWithoutLoginMustFail() throws DefaultException {
- final String commentText = "Some comment";
- contentService.addComment(session.getHash(), defaultContent.getStateToken(), commentText);
- }
-
- @Before
- public void init() throws Exception {
- new IntegrationTestHelper(this);
- defaultContent = getSiteDefaultContent();
- }
-
-}
Modified: trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/test/java/cc/kune/core/server/manager/ContentManagerTest.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -33,87 +33,86 @@
public class ContentManagerTest extends PersistencePreLoadedDataTest {
- private static final String BODY = "body";
- private static final String MIMETYPE = "image";
- private static final String TITLE = "title";
+ private static final String BODY = "body";
+ private static final String MIMETYPE = "image";
+ private static final String TITLE = "title";
- private void createContent() {
- final Content cnt = contentManager.createContent(TITLE, BODY, user, container, TYPE_UPLOADEDFILE);
- persist(cnt);
- }
+ private void createContent() {
+ final Content cnt = contentManager.createContent(TITLE, BODY, user, container, TYPE_UPLOADEDFILE);
+ persist(cnt);
+ }
- private void createContentWithMimeAndCheck(final String mimetype) {
- final Content cnt = contentManager.createContent(TITLE, BODY, user, container, TYPE_UPLOADEDFILE);
- cnt.setMimeType(new BasicMimeType(mimetype));
- persist(cnt);
- final Content newCnt = contentManager.find(cnt.getId());
- assertEquals(mimetype, newCnt.getMimeType().toString());
- }
+ private void createContentWithMimeAndCheck(final String mimetype) {
+ final Content cnt = contentManager.createContent(TITLE, BODY, user, container, TYPE_UPLOADEDFILE);
+ cnt.setMimeType(new BasicMimeType(mimetype));
+ persist(cnt);
+ final Content newCnt = contentManager.find(cnt.getId());
+ assertEquals(mimetype, newCnt.getMimeType().toString());
+ }
- @Ignore
- @Test
- public void testBasicBodySearch() {
- createContent();
- final SearchResult<Content> search = contentManager.search(BODY);
- contentManager.reIndex();
- assertEquals(1, search.getSize());
- }
+ @Test
+ public void testBasicBodySearch() {
+ createContent();
+ final SearchResult<Content> search = contentManager.search(BODY);
+ contentManager.reIndex();
+ assertEquals(1, search.getSize());
+ }
- @Test
- public void testBasicMimePersist() {
- final String mimetype = "application/pdf";
- createContentWithMimeAndCheck(mimetype);
- }
+ @Test
+ public void testBasicMimePersist() {
+ final String mimetype = "application/pdf";
+ createContentWithMimeAndCheck(mimetype);
+ }
- @Test
- public void testBasicMimePersistWithoutSubtype() {
- final String mimetype = "application";
- createContentWithMimeAndCheck(mimetype);
- }
+ @Test
+ public void testBasicMimePersistWithoutSubtype() {
+ final String mimetype = "application";
+ createContentWithMimeAndCheck(mimetype);
+ }
- @Test
- public void testBasicMimeSearchWithQueriesAndFields() {
- createContentWithMimeAndCheck(MIMETYPE + "/png");
- contentManager.reIndex();
- final SearchResult<Content> search = contentManager.search(new String[] { MIMETYPE },
- new String[] { "mimeType.mimetype" }, 0, 10);
- assertEquals(1, search.getSize());
- }
+ @Test
+ public void testBasicMimeSearchWithQueriesAndFields() {
+ createContentWithMimeAndCheck(MIMETYPE + "/png");
+ contentManager.reIndex();
+ final SearchResult<Content> search = contentManager.search(new String[] { MIMETYPE },
+ new String[] { "mimeType.mimetype" }, 0, 10);
+ assertEquals(1, search.getSize());
+ }
- @Test
- public void testBasicSearchWithQueriesAndFields() {
- createContentWithMimeAndCheck(MIMETYPE);
- final SearchResult<Content> search = contentManager.search(new String[] { BODY },
- new String[] { "lastRevision.body" }, 0, 10);
- contentManager.reIndex();
- assertEquals(1, search.getSize());
- }
+ @Test
+ public void testBasicSearchWithQueriesAndFields() {
+ createContentWithMimeAndCheck(MIMETYPE);
+ final SearchResult<Content> search = contentManager.search(new String[] { BODY },
+ new String[] { "lastRevision.body" }, 0, 10);
+ contentManager.reIndex();
+ assertEquals(1, search.getSize());
+ }
- @Test
- public void testBasicTitleSearch() {
- createContent();
- final SearchResult<Content> search = contentManager.search(TITLE);
- contentManager.reIndex();
- assertEquals(1, search.getSize());
- }
+ @Test
+ public void testBasicTitleSearch() {
+ createContent();
+ final SearchResult<Content> search = contentManager.search(TITLE);
+ contentManager.reIndex();
+ assertEquals(1, search.getSize());
+ }
- @Ignore
- @Test
- public void testtMimeSearch() {
- createContentWithMimeAndCheck(MIMETYPE + "/png");
- contentManager.reIndex();
- final SearchResult<Content> search = contentManager.searchMime(BODY, 0, 10, "asb", MIMETYPE);
- assertEquals(1, search.getSize());
- }
+ @Ignore
+ @Test
+ public void testtMimeSearch() {
+ createContentWithMimeAndCheck(MIMETYPE + "/png");
+ contentManager.reIndex();
+ final SearchResult<Content> search = contentManager.searchMime(BODY, 0, 10, "asb", MIMETYPE);
+ assertEquals(1, search.getSize());
+ }
- /**
- * This normally fails with mysql (not configured for utf-8), see the
- * INSTALL mysql section
- */
- @Test
- public void testUTF8Persist() {
- final Content cnt = contentManager.createContent("汉语/漢語", "汉语/漢語", user, container, TYPE_DOCUMENT);
- final Content newCnt = contentManager.find(cnt.getId());
- assertEquals("汉语/漢語", newCnt.getTitle());
- }
+ /**
+ * This normally fails with mysql (not configured for utf-8), see the INSTALL
+ * mysql section
+ */
+ @Test
+ public void testUTF8Persist() {
+ final Content cnt = contentManager.createContent("汉语/漢語", "汉语/漢語", user, container, TYPE_DOCUMENT);
+ final Content newCnt = contentManager.find(cnt.getId());
+ assertEquals("汉语/漢語", newCnt.getTitle());
+ }
}
Modified: trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java 2011-05-05 03:41:52 UTC (rev 1345)
+++ trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java 2011-05-05 14:46:37 UTC (rev 1346)
@@ -39,7 +39,6 @@
import cc.kune.core.shared.domain.UserSNetVisibility;
import cc.kune.core.shared.domain.utils.AccessRights;
import cc.kune.core.shared.domain.utils.StateToken;
-import cc.kune.core.shared.dto.CommentDTO;
import cc.kune.core.shared.dto.ContainerDTO;
import cc.kune.core.shared.dto.ContainerSimpleDTO;
import cc.kune.core.shared.dto.ContentSimpleDTO;
@@ -50,7 +49,6 @@
import cc.kune.core.shared.dto.SocialNetworkDataDTO;
import cc.kune.core.shared.dto.StateContentDTO;
import cc.kune.domain.BasicMimeType;
-import cc.kune.domain.Comment;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
import cc.kune.domain.Group;
@@ -146,41 +144,6 @@
}
@Test
- public void testCommentMapper() {
- final Content d = createDefContent();
- final Comment comment = new Comment();
- comment.setContent(d);
- comment.setText("Some text");
- final User user = new User();
- comment.addPositiveVoter(user);
- comment.addPositiveVoter(user);
- CommentDTO commentDTO = mapper.map(comment, CommentDTO.class);
- assertEquals(0, commentDTO.getNegativeVotersCount());
- assertEquals(0, commentDTO.getAbuseInformersCount());
- assertEquals(1, commentDTO.getPositiveVotersCount());
- comment.addNegativeVoter(user);
- comment.addNegativeVoter(user);
- commentDTO = mapper.map(comment, CommentDTO.class);
- assertEquals(1, commentDTO.getNegativeVotersCount());
- assertEquals(0, commentDTO.getAbuseInformersCount());
- assertEquals(0, commentDTO.getPositiveVotersCount());
- comment.addAbuseInformer(user);
- comment.addAbuseInformer(user);
- commentDTO = mapper.map(comment, CommentDTO.class);
- assertEquals(1, commentDTO.getNegativeVotersCount());
- assertEquals(1, commentDTO.getAbuseInformersCount());
- assertEquals(0, commentDTO.getPositiveVotersCount());
- final Comment childComment = new Comment();
- childComment.setContent(d);
- childComment.setParent(comment);
- comment.getChilds().add(childComment);
- commentDTO = mapper.map(comment, CommentDTO.class);
- final CommentDTO childCommentDTO = mapper.map(childComment, CommentDTO.class);
- assertEquals(1, comment.getChilds().size());
- assertEquals(commentDTO, childCommentDTO.getParent());
- }
-
- @Test
public void testContentDescriptorMapping() {
final Content d = createDefContent();
final StateToken expectedToken = new StateToken(TESTGROUPSHORTNAME, TESTTOOL, "1", "1");
1
0