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
- 1587 discussions
Author: vjrj_
Date: 2011-05-04 22:47:33 +0200 (Wed, 04 May 2011)
New Revision: 1341
Modified:
trunk/src/main/java/cc/kune/domain/Content.java
Log:
Fixing some tests
Modified: trunk/src/main/java/cc/kune/domain/Content.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Content.java 2011-05-04 20:29:42 UTC (rev 1340)
+++ trunk/src/main/java/cc/kune/domain/Content.java 2011-05-04 20:47:33 UTC (rev 1341)
@@ -74,7 +74,6 @@
@OneToOne(cascade = CascadeType.ALL)
private AccessLists accessLists;
- @Fetch(FetchMode.JOIN)
@IndexedEmbedded
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private List<User> authors;
1
0
Author: vjrj_
Date: 2011-05-04 22:29:42 +0200 (Wed, 04 May 2011)
New Revision: 1340
Added:
trunk/src/main/java/cc/kune/core/client/resources/IconConstants.java
trunk/src/main/java/cc/kune/core/client/resources/bug.png
trunk/src/main/java/cc/kune/core/client/resources/checked.png
trunk/src/main/java/cc/kune/core/client/resources/del-green.png
trunk/src/main/java/cc/kune/core/client/resources/radiochecked.png
trunk/src/main/java/cc/kune/core/client/resources/radiounchecked.png
trunk/src/main/java/cc/kune/core/client/resources/unchecked.png
trunk/src/main/java/cc/kune/core/client/sitebar/search/FormFeedback.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/MultivalueSuggestBox.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/public/images/vborder.png
trunk/src/main/java/cc/kune/core/public/images/vborder_ie6.png
Removed:
trunk/src/main/java/cc/kune/core/client/resources/icons/IconConstants.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearch.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPanel.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchView.java
Modified:
trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java
trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java
trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java
trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuDescriptor.java
trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
trunk/src/main/java/cc/kune/core/client/resources/core.css
trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java
trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java
trunk/src/main/java/cc/kune/core/shared/SearcherConstants.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml
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/options/GroupOptionsPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java
trunk/src/main/java/cc/kune/pspace/client/PSpaceGinModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java
Log:
search of users & groups
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-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -28,7 +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.icons.IconResources;
+import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateChangedEvent;
import cc.kune.core.client.state.StateChangedEvent.StateChangedHandler;
@@ -45,76 +45,76 @@
public class AddAsBuddieHeaderButton {
- public static class AddAsBuddieAction extends AbstractExtendedAction {
- private final ChatClient chatEngine;
- private final Session session;
+ public static class AddAsBuddieAction extends AbstractExtendedAction {
+ private final ChatClient chatEngine;
+ private final Session session;
- @Inject
- public AddAsBuddieAction(final ChatClient chatEngine, final Session session, final StateManager stateManager,
- final I18nTranslationService i18n, final IconResources img) {
- super();
- this.chatEngine = chatEngine;
- this.session = session;
- stateManager.onStateChanged(true, new StateChangedHandler() {
- @Override
- public void onStateChanged(final StateChangedEvent event) {
- setState(event.getState());
- }
- });
- Suco.get(XmppRoster.class).addRosterGroupChangedHandler(new RosterGroupChangedHandler() {
-
- @Override
- public void onGroupChanged(final RosterGroupChangedEvent event) {
- final StateAbstractDTO currentState = session.getCurrentState();
- if (currentState != null) {
- setState(currentState);
- }
- }
- });
- putValue(Action.NAME, i18n.t("Add as a buddie"));
- putValue(Action.SMALL_ICON, img.addGreen());
+ @Inject
+ public AddAsBuddieAction(final ChatClient chatEngine, final Session session,
+ final StateManager stateManager, final I18nTranslationService i18n, final CoreResources img) {
+ super();
+ this.chatEngine = chatEngine;
+ this.session = session;
+ stateManager.onStateChanged(true, new StateChangedHandler() {
+ @Override
+ public void onStateChanged(final StateChangedEvent event) {
+ setState(event.getState());
}
+ });
+ Suco.get(XmppRoster.class).addRosterGroupChangedHandler(new RosterGroupChangedHandler() {
@Override
- public void actionPerformed(final ActionEvent event) {
- chatEngine.addNewBuddie(session.getCurrentState().getGroup().getShortName());
- NotifyUser.info("Added as buddie. Waiting buddie response");
- setEnabled(false);
+ public void onGroupChanged(final RosterGroupChangedEvent event) {
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (currentState != null) {
+ setState(currentState);
+ }
}
+ });
+ putValue(Action.NAME, i18n.t("Add as a buddie"));
+ putValue(Action.SMALL_ICON, img.addGreen());
+ }
- private boolean currentGroupsIsAsPerson(final StateAbstractDTO state) {
- return state.getGroup().isPersonal();
- }
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ chatEngine.addNewBuddie(session.getCurrentState().getGroup().getShortName());
+ NotifyUser.info("Added as buddie. Waiting buddie response");
+ setEnabled(false);
+ }
- private boolean isNotMe(final String groupName) {
- return !session.getCurrentUser().getShortName().equals(groupName);
- }
+ private boolean currentGroupsIsAsPerson(final StateAbstractDTO state) {
+ return state.getGroup().isPersonal();
+ }
- private void setState(final StateAbstractDTO state) {
- final String groupName = state.getGroup().getShortName();
- final boolean imLogged = session.isLogged();
- final boolean isNotBuddie = !chatEngine.isBuddie(groupName);
- if (imLogged && currentGroupsIsAsPerson(state) && isNotBuddie && isNotMe(groupName)) {
- setEnabled(true);
- } else {
- setEnabled(false);
- }
- }
+ private boolean isNotMe(final String groupName) {
+ return !session.getCurrentUser().getShortName().equals(groupName);
}
- @Inject
- public AddAsBuddieHeaderButton(final AddAsBuddieAction buddieAction, final EntityHeader entityHeader) {
- final ButtonDescriptor button = new ButtonDescriptor(buddieAction);
- button.setVisible(false);
- button.setStyles("k-chat-add-as-buddie");
- buddieAction.addPropertyChangeListener(new PropertyChangeListener() {
- @Override
- public void propertyChange(final PropertyChangeEvent event) {
- if (event.getPropertyName().equals(AbstractAction.ENABLED)) {
- button.setVisible((Boolean) event.getNewValue());
- }
- }
- });
- entityHeader.addAction(button);
+ private void setState(final StateAbstractDTO state) {
+ final String groupName = state.getGroup().getShortName();
+ final boolean imLogged = session.isLogged();
+ final boolean isNotBuddie = !chatEngine.isBuddie(groupName);
+ if (imLogged && currentGroupsIsAsPerson(state) && isNotBuddie && isNotMe(groupName)) {
+ setEnabled(true);
+ } else {
+ setEnabled(false);
+ }
}
+ }
+
+ @Inject
+ public AddAsBuddieHeaderButton(final AddAsBuddieAction buddieAction, final EntityHeader entityHeader) {
+ final ButtonDescriptor button = new ButtonDescriptor(buddieAction);
+ button.setVisible(false);
+ button.setStyles("k-chat-add-as-buddie");
+ buddieAction.addPropertyChangeListener(new PropertyChangeListener() {
+ @Override
+ public void propertyChange(final PropertyChangeEvent event) {
+ if (event.getPropertyName().equals(AbstractAction.ENABLED)) {
+ button.setVisible((Boolean) event.getNewValue());
+ }
+ }
+ });
+ entityHeader.addAction(button);
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -45,186 +45,189 @@
public abstract class AbstractGwtMenuItemGui extends AbstractGuiItem {
- private IconLabel iconLabel;
- private GwtBaseMenuItem item;
- private final CommonIconResources res = CommonIconResources.INSTANCE;
+ private IconLabel iconLabel;
+ private GwtBaseMenuItem item;
+ private final CommonIconResources res = CommonIconResources.INSTANCE;
- private void confCheckListener(final MenuCheckItemDescriptor descriptor, final GwtCheckItem checkItem) {
- descriptor.addPropertyChangeListener(new PropertyChangeListener() {
- @Override
- public void propertyChange(final PropertyChangeEvent event) {
- if (event.getPropertyName().equals(MenuCheckItemDescriptor.CHECKED)) {
- final Boolean checked = (Boolean) event.getNewValue();
- setCheckedIcon(checked);
- layout();
- }
- }
- });
- setCheckedIcon(descriptor.isChecked());
- iconLabel.setWidth("100%");
- }
-
- private void confRadioCheckListener(final MenuRadioItemDescriptor descriptor, final GwtCheckItem checkItem) {
- descriptor.addPropertyChangeListener(new PropertyChangeListener() {
- @Override
- public void propertyChange(final PropertyChangeEvent event) {
-
- if (event.getPropertyName().equals(MenuCheckItemDescriptor.CHECKED)) {
- final Boolean checked = (Boolean) event.getNewValue();
- setRadioChecked(checked);
- layout();
- }
- }
- });
- setRadioChecked(descriptor.isChecked());
- iconLabel.setWidth("100%");
- }
-
- @Override
- public AbstractGuiItem create(final GuiActionDescrip descriptor) {
- super.descriptor = descriptor;
- iconLabel = new IconLabel("");
- if (descriptor instanceof MenuRadioItemDescriptor) {
- final GwtCheckItem checkItem = createCheckItem((MenuItemDescriptor) descriptor);
- final MenuRadioItemDescriptor radioDescrip = (MenuRadioItemDescriptor) descriptor;
- confRadioCheckListener(radioDescrip, checkItem);
- item = checkItem;
- } else if (descriptor instanceof MenuCheckItemDescriptor) {
- final GwtCheckItem checkItem = createCheckItem((MenuItemDescriptor) descriptor);
- confCheckListener((MenuCheckItemDescriptor) descriptor, checkItem);
- item = checkItem;
- } else if (descriptor instanceof MenuTitleItemDescriptor) {
- item = new GwtBaseMenuItem("", true);
- item.setStyleName("k-menuimtem-title");
- } else {
- item = new GwtBaseMenuItem("", true);
+ private void confCheckListener(final MenuCheckItemDescriptor descriptor, final GwtCheckItem checkItem) {
+ descriptor.addPropertyChangeListener(new PropertyChangeListener() {
+ @Override
+ public void propertyChange(final PropertyChangeEvent event) {
+ if (event.getPropertyName().equals(MenuCheckItemDescriptor.CHECKED)) {
+ final Boolean checked = (Boolean) event.getNewValue();
+ setCheckedIcon(checked);
+ layout();
}
+ }
+ });
+ setCheckedIcon(descriptor.isChecked());
+ iconLabel.setWidth("100%");
+ }
- final String id = descriptor.getId();
- if (id != null) {
- item.ensureDebugId(id);
- }
- // initWidget(item);
- item.setCommand(new Command() {
- @Override
- public void execute() {
- getParentMenu(descriptor).hide();
- final AbstractAction action = descriptor.getAction();
- if (action != null) {
- if (descriptor instanceof MenuRadioItemDescriptor) {
- final MenuRadioItemDescriptor checkItem = (MenuRadioItemDescriptor) descriptor;
- if (!checkItem.isChecked()) {
- checkItem.setChecked(true);
- }
- } else if (descriptor instanceof MenuCheckItemDescriptor) {
- final MenuCheckItemDescriptor checkItem = (MenuCheckItemDescriptor) descriptor;
- final boolean currentValue = checkItem.isChecked();
- checkItem.setChecked(!currentValue);
- }
- descriptor.getAction().actionPerformed(
- new ActionEvent(item, getTargetObjectOfAction(descriptor), Event.getCurrentEvent()));
- }
- }
- });
- configureItemFromProperties();
+ private void confRadioCheckListener(final MenuRadioItemDescriptor descriptor,
+ final GwtCheckItem checkItem) {
+ descriptor.addPropertyChangeListener(new PropertyChangeListener() {
+ @Override
+ public void propertyChange(final PropertyChangeEvent event) {
- final int position = descriptor.getPosition();
- final AbstractGwtMenuGui menu = getParentMenu(descriptor);
- if (menu == null) {
- throw new UIException("Warning: To add a menu item you need to add the menu before. Item: " + descriptor);
+ if (event.getPropertyName().equals(MenuCheckItemDescriptor.CHECKED)) {
+ final Boolean checked = (Boolean) event.getNewValue();
+ setRadioChecked(checked);
+ layout();
}
- if (position == GuiActionDescrip.NO_POSITION) {
- menu.add(item);
- } else {
- menu.insert(position, item);
- }
- return this;
- }
+ }
+ });
+ setRadioChecked(descriptor.isChecked());
+ iconLabel.setWidth("100%");
+ }
- private GwtCheckItem createCheckItem(final MenuItemDescriptor descriptor) {
- final GwtCheckItem checkItem = new GwtCheckItem();
- checkItem.setChecked(((MenuCheckItemDescriptor) descriptor).isChecked());
- return checkItem;
+ @Override
+ public AbstractGuiItem create(final GuiActionDescrip descriptor) {
+ super.descriptor = descriptor;
+ iconLabel = new IconLabel("");
+ if (descriptor instanceof MenuRadioItemDescriptor) {
+ final GwtCheckItem checkItem = createCheckItem((MenuItemDescriptor) descriptor);
+ final MenuRadioItemDescriptor radioDescrip = (MenuRadioItemDescriptor) descriptor;
+ confRadioCheckListener(radioDescrip, checkItem);
+ item = checkItem;
+ } else if (descriptor instanceof MenuCheckItemDescriptor) {
+ final GwtCheckItem checkItem = createCheckItem((MenuItemDescriptor) descriptor);
+ confCheckListener((MenuCheckItemDescriptor) descriptor, checkItem);
+ item = checkItem;
+ } else if (descriptor instanceof MenuTitleItemDescriptor) {
+ item = new GwtBaseMenuItem("", true);
+ item.setStyleName("k-menuimtem-title");
+ } else {
+ item = new GwtBaseMenuItem("", true);
}
- private String createShortCut(final KeyStroke key, final String style) {
- // See: https://yui-ext.com/forum/showthread.php?t=5762
- final Element keyLabel = DOM.createSpan();
- keyLabel.setId(style);
- keyLabel.setInnerText(key.toString());
- return keyLabel.getString();
+ final String id = descriptor.getId();
+ if (id != null) {
+ item.ensureDebugId(id);
}
+ // initWidget(item);
+ item.setCommand(new Command() {
+ @Override
+ public void execute() {
+ getParentMenu(descriptor).hide();
+ final AbstractAction action = descriptor.getAction();
+ if (action != null) {
+ if (descriptor instanceof MenuRadioItemDescriptor) {
+ final MenuRadioItemDescriptor checkItem = (MenuRadioItemDescriptor) descriptor;
+ if (!checkItem.isChecked()) {
+ checkItem.setChecked(true);
+ }
+ } else if (descriptor instanceof MenuCheckItemDescriptor) {
+ final MenuCheckItemDescriptor checkItem = (MenuCheckItemDescriptor) descriptor;
+ final boolean currentValue = checkItem.isChecked();
+ checkItem.setChecked(!currentValue);
+ }
+ descriptor.getAction().actionPerformed(
+ new ActionEvent(item, getTargetObjectOfAction(descriptor), Event.getCurrentEvent()));
+ }
+ }
+ });
+ configureItemFromProperties();
- public GwtBaseMenuItem getItem() {
- return item;
+ final int position = descriptor.getPosition();
+ final AbstractGwtMenuGui menu = getParentMenu(descriptor);
+ if (menu == null) {
+ throw new UIException("Warning: To add a menu item you need to add the menu before. Item: "
+ + descriptor);
}
-
- private AbstractGwtMenuGui getParentMenu(final GuiActionDescrip descriptor) {
- return ((AbstractGwtMenuGui) descriptor.getParent().getValue(ParentWidget.PARENT_UI));
+ if (position == GuiActionDescrip.NO_POSITION) {
+ menu.add(item);
+ } else {
+ menu.insert(position, item);
}
+ return this;
+ }
- private void layout() {
- item.setHTML(iconLabel.toString());
- }
+ private GwtCheckItem createCheckItem(final MenuItemDescriptor descriptor) {
+ final GwtCheckItem checkItem = new GwtCheckItem();
+ checkItem.setChecked(((MenuCheckItemDescriptor) descriptor).isChecked());
+ return checkItem;
+ }
- private void setCheckedIcon(final Boolean checked) {
- iconLabel.setLeftIconResource(checked ? res.checked() : res.unChecked());
- }
+ private String createShortCut(final KeyStroke key, final String style) {
+ // See: https://yui-ext.com/forum/showthread.php?t=5762
+ final Element keyLabel = DOM.createSpan();
+ keyLabel.setId(style);
+ keyLabel.setInnerText(key.toString());
+ return keyLabel.getString();
+ }
- @Override
- protected void setEnabled(final boolean enabled) {
- item.setEnabled(enabled);
- setVisible(enabled);
- }
+ public GwtBaseMenuItem getItem() {
+ return item;
+ }
- @Override
- public void setIconResource(final ImageResource icon) {
- iconLabel.setRightIconResource(icon);
- layout();
- }
+ private AbstractGwtMenuGui getParentMenu(final GuiActionDescrip descriptor) {
+ return ((AbstractGwtMenuGui) descriptor.getParent().getValue(ParentWidget.PARENT_UI));
+ }
- @Override
- protected void setIconStyle(final String style) {
- iconLabel.setRightIcon(style);
- layout();
- }
+ private void layout() {
+ item.setHTML(iconLabel.toString());
+ }
- private void setRadioChecked(final Boolean checked) {
- iconLabel.setLeftIconResource(checked ? res.radioChecked() : res.radioUnChecked());
- }
+ private void setCheckedIcon(final Boolean checked) {
+ iconLabel.setLeftIconResource(checked ? res.checked() : res.unChecked());
+ }
- @Override
- protected void setText(final String text) {
- if (text != null) {
- final KeyStroke key = (KeyStroke) descriptor.getValue(Action.ACCELERATOR_KEY);
- if (key == null) {
- iconLabel.setText(text);
- } else {
- iconLabel.setLabelText(text + createShortCut(key, "oc-mshortcut-hidden")
- + createShortCut(key, "oc-mshortcut"));
- }
- }
- layout();
- }
+ @Override
+ protected void setEnabled(final boolean enabled) {
+ item.setEnabled(enabled);
+ setVisible(enabled);
+ }
- @Override
- protected void setToolTipText(final String text) {
- if (text != null) {
- final KeyStroke key = (KeyStroke) descriptor.getValue(Action.ACCELERATOR_KEY);
- Tooltip.to(iconLabel, key == null ? text : text + key.toString());
- layout();
- }
+ @Override
+ public void setIconResource(final ImageResource icon) {
+ iconLabel.setRightIconResource(icon);
+ iconLabel.addRightIconStyle("k-fl");
+ layout();
+ }
+
+ @Override
+ protected void setIconStyle(final String style) {
+ iconLabel.setRightIcon(style);
+ layout();
+ }
+
+ private void setRadioChecked(final Boolean checked) {
+ iconLabel.setLeftIconResource(checked ? res.radioChecked() : res.radioUnChecked());
+ }
+
+ @Override
+ protected void setText(final String text) {
+ if (text != null) {
+ final KeyStroke key = (KeyStroke) descriptor.getValue(Action.ACCELERATOR_KEY);
+ if (key == null) {
+ iconLabel.setText(text);
+ } else {
+ iconLabel.setLabelText(text + createShortCut(key, "oc-mshortcut-hidden")
+ + createShortCut(key, "oc-mshortcut"));
+ }
}
+ layout();
+ }
- @Override
- public void setVisible(final boolean visible) {
- item.setVisible(visible);
- iconLabel.setVisible(visible);
- layout();
+ @Override
+ protected void setToolTipText(final String text) {
+ if (text != null) {
+ final KeyStroke key = (KeyStroke) descriptor.getValue(Action.ACCELERATOR_KEY);
+ Tooltip.to(iconLabel, key == null ? text : text + key.toString());
+ layout();
}
+ }
- @Override
- public boolean shouldBeAdded() { // NOPMD by vjrj on 18/01/11 0:48
- return false;
- }
+ @Override
+ public void setVisible(final boolean visible) {
+ item.setVisible(visible);
+ iconLabel.setVisible(visible);
+ layout();
+ }
+
+ @Override
+ public boolean shouldBeAdded() { // NOPMD by vjrj on 18/01/11 0:48
+ return false;
+ }
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -1,6 +1,6 @@
/*
*
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * opyright (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
@@ -34,102 +34,107 @@
public class GwtMenuGui extends AbstractGwtMenuGui {
- private Button button;
- private IconLabel iconLabel;
- private boolean notStandAlone;
+ private Button button;
+ private IconLabel iconLabel;
+ private boolean notStandAlone;
- @Override
- protected void addStyle(final String style) {
- if (notStandAlone) {
- iconLabel.addStyleName(style);
- button.addStyleName(style);
- layout();
- }
+ @Override
+ protected void addStyle(final String style) {
+ if (notStandAlone) {
+ iconLabel.addStyleName(style);
+ button.addStyleName(style);
+ layout();
}
+ }
- @Override
- public AbstractGuiItem create(final GuiActionDescrip descriptor) {
- super.descriptor = descriptor;
- descriptor.putValue(ParentWidget.PARENT_UI, this);
- // Standalone menus are menus without and associated button in a toolbar
- // (sometimes, a menu showed in a grid, or other special widgets)
- notStandAlone = !((MenuDescriptor) descriptor).isStandalone();
- if (notStandAlone) {
- button = new Button();
- button.setStylePrimaryName("oc-button");
- iconLabel = new IconLabel("");
- button.addClickHandler(new ClickHandler() {
- @Override
- public void onClick(final ClickEvent event) {
- show(button);
- }
- });
- final String id = descriptor.getId();
- if (id != null) {
- button.ensureDebugId(id);
- }
- if (!descriptor.isChild()) {
- initWidget(button);
- } else {
- child = button;
- }
- } else {
- initWidget(new Label());
+ @Override
+ public AbstractGuiItem create(final GuiActionDescrip descriptor) {
+ super.descriptor = descriptor;
+ descriptor.putValue(ParentWidget.PARENT_UI, this);
+ // Standalone menus are menus without and associated button in a toolbar
+ // (sometimes, a menu showed in a grid, or other special widgets)
+ notStandAlone = !((MenuDescriptor) descriptor).isStandalone();
+ if (notStandAlone) {
+ button = new Button();
+ button.setStylePrimaryName("oc-button");
+ iconLabel = new IconLabel("");
+ final ImageResource rightIcon = ((MenuDescriptor) descriptor).getRightIcon();
+ if (rightIcon != null) {
+ iconLabel.setRightIconResource(rightIcon);
+ iconLabel.addRightIconStyle("k-fr");
+ }
+ button.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ show(button);
}
- super.create(descriptor);
- configureItemFromProperties();
- return this;
+ });
+ final String id = descriptor.getId();
+ if (id != null) {
+ button.ensureDebugId(id);
+ }
+ if (!descriptor.isChild()) {
+ initWidget(button);
+ } else {
+ child = button;
+ }
+ } else {
+ initWidget(new Label());
}
+ super.create(descriptor);
+ configureItemFromProperties();
+ return this;
+ }
- private void layout() {
- button.setHTML(iconLabel.getElement().getInnerHTML());
- }
+ private void layout() {
+ button.setHTML(iconLabel.getElement().getInnerHTML());
+ }
- @Override
- public void setEnabled(final boolean enabled) {
- if (notStandAlone) {
- button.setVisible(enabled);
- }
+ @Override
+ public void setEnabled(final boolean enabled) {
+ if (notStandAlone) {
+ button.setVisible(enabled);
}
+ }
- @Override
- public void setIconResource(final ImageResource resource) {
- if (notStandAlone) {
- iconLabel.setLeftIconResource(resource);
- layout();
- }
+ @Override
+ public void setIconResource(final ImageResource resource) {
+ if (notStandAlone) {
+ iconLabel.setLeftIconResource(resource);
+ layout();
}
+ }
- @Override
- public void setIconStyle(final String style) {
- if (notStandAlone) {
- iconLabel.setRightIcon(style);
- layout();
- }
+ @Override
+ public void setIconStyle(final String style) {
+ if (notStandAlone) {
+ iconLabel.setRightIcon(style);
+ layout();
}
+ }
- @Override
- public void setText(final String text) {
- if (notStandAlone) {
- iconLabel.setText(text);
- layout();
- }
+ @Override
+ public void setText(final String text) {
+ if (notStandAlone) {
+ iconLabel.setText(text);
+ layout();
}
+ }
- @Override
- public void setToolTipText(final String tooltip) {
- if (notStandAlone) {
- Tooltip.to(button, tooltip);
- }
+ @Override
+ public void setToolTipText(final String tooltip) {
+ if (notStandAlone) {
+ Tooltip.to(button, tooltip);
}
+ }
- @Override
- public void setVisible(final boolean visible) {
- if (notStandAlone) {
- button.setVisible(visible);
- } else {
- // button.setVisible(visible);
- }
+ @Override
+ public void setVisible(final boolean visible) {
+ if (notStandAlone) {
+ button.setVisible(visible);
+ } else {
+ // button.setVisible(visible);
}
+ }
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -28,7 +28,7 @@
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.errors.NotImplementedException;
import cc.kune.common.client.utils.TextUtils;
-import cc.kune.core.client.resources.icons.IconConstants;
+import cc.kune.core.client.resources.IconConstants;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.ui.Composite;
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuDescriptor.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuDescriptor.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuDescriptor.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -27,115 +27,124 @@
public class MenuDescriptor extends AbstractGuiActionDescrip {
- public static final String MENU_CLEAR = "menuclear";
- public static final String MENU_HIDE = "hidemenu";
- public static final String MENU_ONHIDE = "menuonhide";
- public static final String MENU_ONSHOW = "menuonshow";
- public static final String MENU_SHOW = "showmenu";
- public static final String MENU_SHOW_NEAR_TO = "showmenunearto";
- protected static final String MENU_STANDALONE = "menustandalone";
+ public static final String MENU_CLEAR = "menuclear";
+ public static final String MENU_HIDE = "hidemenu";
+ public static final String MENU_ONHIDE = "menuonhide";
+ public static final String MENU_ONSHOW = "menuonshow";
+ protected static final String MENU_RIGHTICON = "menurighicon";
+ public static final String MENU_SHOW = "showmenu";
+ public static final String MENU_SHOW_NEAR_TO = "showmenunearto";
+ protected static final String MENU_STANDALONE = "menustandalone";
- public MenuDescriptor() {
- this(new BaseAction(null, null));
- }
+ public MenuDescriptor() {
+ this(new BaseAction(null, null));
+ }
- public MenuDescriptor(final AbstractAction action) {
- this(NO_PARENT, action);
- }
+ public MenuDescriptor(final AbstractAction action) {
+ this(NO_PARENT, action);
+ }
- public MenuDescriptor(final GuiActionDescrip parent, final AbstractAction action) {
- super(action);
- setParent(parent);
- putValue(MENU_HIDE, false);
- putValue(MENU_SHOW, false);
- putValue(MENU_CLEAR, false);
- putValue(MENU_STANDALONE, false);
- }
+ public MenuDescriptor(final GuiActionDescrip parent, final AbstractAction action) {
+ super(action);
+ setParent(parent);
+ putValue(MENU_HIDE, false);
+ putValue(MENU_SHOW, false);
+ putValue(MENU_CLEAR, false);
+ putValue(MENU_STANDALONE, false);
+ }
- public MenuDescriptor(final String text) {
- this(new BaseAction(text, null));
- }
+ public MenuDescriptor(final String text) {
+ this(new BaseAction(text, null));
+ }
- public MenuDescriptor(final String text, final ImageResource icon) {
- this(new BaseAction(text, null, icon));
- }
+ public MenuDescriptor(final String text, final ImageResource icon) {
+ this(new BaseAction(text, null, icon));
+ }
- public MenuDescriptor(final String text, final String tooltip) {
- this(new BaseAction(text, tooltip));
- }
+ public MenuDescriptor(final String text, final String tooltip) {
+ this(new BaseAction(text, tooltip));
+ }
- public MenuDescriptor(final String text, final String tooltip, final ImageResource icon) {
- this(new BaseAction(text, tooltip, icon));
- }
+ public MenuDescriptor(final String text, final String tooltip, final ImageResource icon) {
+ this(new BaseAction(text, tooltip, icon));
+ }
- public MenuDescriptor(final String text, final String tooltip, final String icon) {
- this(new BaseAction(text, tooltip, icon));
- }
+ public MenuDescriptor(final String text, final String tooltip, final String icon) {
+ this(new BaseAction(text, tooltip, icon));
+ }
- public void clear() {
- // Action detects changes in values, then we fire a change (whatever) to
- // fire this method in the UI
- putValue(MENU_CLEAR, !((Boolean) getValue(MENU_CLEAR)));
- }
+ public void clear() {
+ // Action detects changes in values, then we fire a change (whatever) to
+ // fire this method in the UI
+ putValue(MENU_CLEAR, !((Boolean) getValue(MENU_CLEAR)));
+ }
- @Override
- public Class<?> getType() {
- return MenuDescriptor.class;
- }
+ public ImageResource getRightIcon() {
+ return (ImageResource) super.getValue(MENU_RIGHTICON);
+ }
- public void hide() {
- putValue(MENU_HIDE, !((Boolean) getValue(MENU_HIDE)));
- }
+ @Override
+ public Class<?> getType() {
+ return MenuDescriptor.class;
+ }
- public boolean isStandalone() {
- return (Boolean) super.getValue(MENU_STANDALONE);
- }
+ public void hide() {
+ putValue(MENU_HIDE, !((Boolean) getValue(MENU_HIDE)));
+ }
- /**
- * Sets the standalone property (if the menu should have button (for a
- * toolbar) or is a menu independent.
- *
- * @param standalone
- * the new standalone
- */
- public void setStandalone(final boolean standalone) {
- putValue(MENU_STANDALONE, standalone);
- }
+ public boolean isStandalone() {
+ return (Boolean) super.getValue(MENU_STANDALONE);
+ }
- public void setText(final String text) {
- putValue(Action.NAME, text);
- }
+ public void setRightIcon(final ImageResource icon) {
+ putValue(MENU_RIGHTICON, icon);
+ }
- /**
- * Show the menu near the Element object specified
- *
- * @param object
- * the element to show menu near of it
- */
- public void show(final Object object) {
- putValue(MENU_SHOW_NEAR_TO, object);
- putValue(MENU_SHOW, !((Boolean) getValue(MENU_SHOW)));
- }
+ /**
+ * Sets the standalone property (if the menu should have button (for a
+ * toolbar) or is a menu independent.
+ *
+ * @param standalone
+ * the new standalone
+ */
+ public void setStandalone(final boolean standalone) {
+ putValue(MENU_STANDALONE, standalone);
+ }
- /**
- * Show the menu near the position specified
- *
- * @param position
- * the position to show menu near of it
- */
- public void show(final Position position) {
- putValue(MENU_SHOW_NEAR_TO, position);
- putValue(MENU_SHOW, !((Boolean) getValue(MENU_SHOW)));
- }
+ public void setText(final String text) {
+ putValue(Action.NAME, text);
+ }
- /**
- * Show the menu near the Element id specified
- *
- * @param id
- * the element id to show menu near of it
- */
- public void show(final String id) {
- putValue(MENU_SHOW_NEAR_TO, id);
- putValue(MENU_SHOW, !((Boolean) getValue(MENU_SHOW)));
- }
+ /**
+ * Show the menu near the Element object specified
+ *
+ * @param object
+ * the element to show menu near of it
+ */
+ public void show(final Object object) {
+ putValue(MENU_SHOW_NEAR_TO, object);
+ putValue(MENU_SHOW, !((Boolean) getValue(MENU_SHOW)));
+ }
+
+ /**
+ * Show the menu near the position specified
+ *
+ * @param position
+ * the position to show menu near of it
+ */
+ public void show(final Position position) {
+ putValue(MENU_SHOW_NEAR_TO, position);
+ putValue(MENU_SHOW, !((Boolean) getValue(MENU_SHOW)));
+ }
+
+ /**
+ * Show the menu near the Element id specified
+ *
+ * @param id
+ * the element id to show menu near of it
+ */
+ public void show(final String id) {
+ putValue(MENU_SHOW_NEAR_TO, id);
+ putValue(MENU_SHOW, !((Boolean) getValue(MENU_SHOW)));
+ }
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -40,131 +40,135 @@
public class IconLabel extends Composite implements HasWidgets, HasDirectionalText {
- interface IconTitleUiBinder extends UiBinder<Widget, IconLabel> {
- }
+ interface IconTitleUiBinder extends UiBinder<Widget, IconLabel> {
+ }
- private static IconTitleUiBinder uiBinder = GWT.create(IconTitleUiBinder.class);
+ private static IconTitleUiBinder uiBinder = GWT.create(IconTitleUiBinder.class);
- @UiField
- FlowPanel flow;
- @UiField
- Image iconLeft;
- @UiField
- Image iconRight;
- @UiField
- InlineLabel label;
- @UiField
- FocusPanel self;
+ @UiField
+ FlowPanel flow;
+ @UiField
+ Image iconLeft;
+ @UiField
+ Image iconRight;
+ @UiField
+ InlineLabel label;
+ @UiField
+ FocusPanel self;
- public IconLabel() {
- this("");
- }
+ public IconLabel() {
+ this("");
+ }
- public IconLabel(final ImageResource imgRes, final String text) {
- this(text);
- if (imgRes != null) {
- iconLeft.setResource(imgRes);
- }
+ public IconLabel(final ImageResource imgRes, final String text) {
+ this(text);
+ if (imgRes != null) {
+ iconLeft.setResource(imgRes);
}
+ }
- public IconLabel(final String text) {
- initWidget(uiBinder.createAndBindUi(this));
- label.setText(text);
- label.addStyleName("k-space-nowrap");
- label.addStyleName("k-iconlabel-text");
- }
+ public IconLabel(final String text) {
+ initWidget(uiBinder.createAndBindUi(this));
+ label.setText(text);
+ label.addStyleName("k-space-nowrap");
+ label.addStyleName("k-iconlabel-text");
+ }
- @Override
- public void add(final Widget w) {
- flow.add(w);
- }
+ @Override
+ public void add(final Widget w) {
+ flow.add(w);
+ }
- @Override
- public void addStyleName(final String style) {
- flow.addStyleName(style);
- }
+ public void addRightIconStyle(final String style) {
+ iconRight.addStyleName(style);
+ }
- public void addTextStyleName(final String style) {
- label.addStyleName(style);
- }
+ @Override
+ public void addStyleName(final String style) {
+ flow.addStyleName(style);
+ }
- @Override
- public void clear() {
- flow.clear();
- }
+ public void addTextStyleName(final String style) {
+ label.addStyleName(style);
+ }
- public HasClickHandlers getFocus() {
- return self;
- }
+ @Override
+ public void clear() {
+ flow.clear();
+ }
- @Override
- public String getText() {
- return label.getText();
- }
+ public HasClickHandlers getFocus() {
+ return self;
+ }
- @Override
- public Direction getTextDirection() {
- return label.getTextDirection();
- }
+ @Override
+ public String getText() {
+ return label.getText();
+ }
- @Override
- public Iterator<Widget> iterator() {
- return flow.iterator();
- }
+ @Override
+ public Direction getTextDirection() {
+ return label.getTextDirection();
+ }
- @Override
- public boolean remove(final Widget w) {
- return flow.remove(w);
- }
+ @Override
+ public Iterator<Widget> iterator() {
+ return flow.iterator();
+ }
- public void setLabelText(final String text) {
- label.setText(text);
- }
+ @Override
+ public boolean remove(final Widget w) {
+ return flow.remove(w);
+ }
- public void setLeftIcon(final String imgCss) {
- iconLeft.setUrl("images/clear.gif");
- iconLeft.setStyleName(imgCss);
- iconLeft.addStyleName("k-iconlabel-left");
- iconLeft.addStyleName("oc-ico-pad");
- }
+ public void setLabelText(final String text) {
+ label.setText(text);
+ }
- public void setLeftIconResource(final ImageResource res) {
- iconLeft.setResource(res);
- iconLeft.addStyleName("k-iconlabel-left");
- }
+ public void setLeftIcon(final String imgCss) {
+ iconLeft.setUrl("images/clear.gif");
+ iconLeft.setStyleName(imgCss);
+ iconLeft.addStyleName("k-iconlabel-left");
+ iconLeft.addStyleName("oc-ico-pad");
+ }
- public void setRightIcon(final String imgCss) {
- iconRight.setUrl("images/clear.gif");
- iconRight.setStyleName(imgCss);
- iconRight.addStyleName("oc-ico-pad");
- iconRight.addStyleName("k-iconlabel-right");
- }
+ public void setLeftIconResource(final ImageResource res) {
+ iconLeft.setResource(res);
+ iconLeft.addStyleName("k-iconlabel-left");
+ }
- public void setRightIconResource(final ImageResource res) {
- iconRight.setResource(res);
- iconRight.addStyleName("k-iconlabel-right");
- }
+ public void setRightIcon(final String imgCss) {
+ iconRight.setUrl("images/clear.gif");
+ iconRight.setStyleName(imgCss);
+ iconRight.addStyleName("oc-ico-pad");
+ iconRight.addStyleName("k-iconlabel-right");
+ }
- @Override
- public void setStyleName(final String style) {
- flow.setStyleName(style);
- }
+ public void setRightIconResource(final ImageResource res) {
+ iconRight.setResource(res);
+ iconRight.addStyleName("k-iconlabel-right");
+ }
- @Override
- public void setText(final String text) {
- label.setText(text);
- }
+ @Override
+ public void setStyleName(final String style) {
+ flow.setStyleName(style);
+ }
- @Override
- public void setText(final String text, final Direction dir) {
- label.setText(text, dir);
- }
+ @Override
+ public void setText(final String text) {
+ label.setText(text);
+ }
- public void setTooltip(final String text) {
- Tooltip.to(label, text);
- }
+ @Override
+ public void setText(final String text, final Direction dir) {
+ label.setText(text, dir);
+ }
- public void setWordWrap(final boolean wordWrap) {
- label.setWordWrap(wordWrap);
- }
+ public void setTooltip(final String text) {
+ Tooltip.to(label, text);
+ }
+
+ public void setWordWrap(final boolean wordWrap) {
+ label.setWordWrap(wordWrap);
+ }
}
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-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-05-04 20:29:42 UTC (rev 1340)
@@ -470,7 +470,7 @@
}
.k-iconlabel-right {
- float: left;
+ /* float: left; */
/* margin-left: 5px; */
}
Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -24,467 +24,491 @@
import com.google.gwt.resources.client.ImageResource;
public interface CoreResources extends ClientBundle {
- public interface Style extends CssResource {
- String loadingSpiner();
- }
+ public interface Style extends CssResource {
+ String loadingSpiner();
+ }
- @Source("accept.png")
- ImageResource accept();
+ @Source("accept.png")
+ ImageResource accept();
- @Source("add.png")
- ImageResource add();
+ @Source("add.png")
+ ImageResource add();
- @Source("add-green.png")
- ImageResource addGreen();
+ @Source("add-green.png")
+ ImageResource addGreen();
- @Source("alert.png")
- ImageResource alert();
+ @Source("alert.png")
+ ImageResource alert();
- @Source("anybody.png")
- ImageResource anybody();
+ @Source("anybody.png")
+ ImageResource anybody();
- @Source("arrowdown.png")
- ImageResource arrowdown();
+ @Source("arrowdown.png")
+ ImageResource arrowdown();
- @Source("arrow-down-black.gif")
- ImageResource arrowDownBlack();
+ @Source("arrow-down-black.gif")
+ ImageResource arrowDownBlack();
- @Source("arrow-down-green.png")
- ImageResource arrowDownGreen();
+ @Source("arrow-down-green.png")
+ ImageResource arrowDownGreen();
- @Source("arrowdownsitebar.gif")
- ImageResource arrowdownsitebar();
+ @Source("arrowdownsitebar.gif")
+ ImageResource arrowdownsitebar();
- @Source("arrowdownsquarewhite.gif")
- ImageResource arrowdownsquarewhite();
+ @Source("arrowdownsquarewhite.gif")
+ ImageResource arrowdownsquarewhite();
- @Source("arrow-down-white.gif")
- ImageResource arrowDownWhite();
+ @Source("arrow-down-white.gif")
+ ImageResource arrowDownWhite();
- @Source("arrow_in.png")
- ImageResource arrowIn();
+ @Source("arrow_in.png")
+ ImageResource arrowIn();
- @Source("arrow-left-green.png")
- ImageResource arrowLeftGreen();
+ @Source("arrow-left-green.png")
+ ImageResource arrowLeftGreen();
- @Source("arrow_out.png")
- ImageResource arrowOut();
+ @Source("arrow_out.png")
+ ImageResource arrowOut();
- @Source("arrow-right-black.gif")
- ImageResource arrowRightBlack();
+ @Source("arrow-right-black.gif")
+ ImageResource arrowRightBlack();
- @Source("arrow-right-green.png")
- ImageResource arrowRightGreen();
+ @Source("arrow-right-green.png")
+ ImageResource arrowRightGreen();
- @Source("arrow-right-white.gif")
- ImageResource arrowRightWhite();
+ @Source("arrow-right-white.gif")
+ ImageResource arrowRightWhite();
- @Source("arrow-up-green.png")
- ImageResource arrowUpGreen();
+ @Source("arrow-up-green.png")
+ ImageResource arrowUpGreen();
- @Source("browser-32.png")
- ImageResource browser32();
+ @Source("browser-32.png")
+ ImageResource browser32();
- @Source("bullet_add.png")
- ImageResource bulletAdd();
+ @Source("bug.png")
+ ImageResource bug();
- @Source("bullet_black.png")
- ImageResource bulletBlack();
+ @Source("bullet_add.png")
+ ImageResource bulletAdd();
- @Source("bullet_blue.png")
- ImageResource bulletBlue();
+ @Source("bullet_black.png")
+ ImageResource bulletBlack();
- @Source("bullet_delete.png")
- ImageResource bulletDelete();
+ @Source("bullet_blue.png")
+ ImageResource bulletBlue();
- @Source("bullet_green.png")
- ImageResource bulletGreen();
+ @Source("bullet_delete.png")
+ ImageResource bulletDelete();
- @Source("bullet_pink.png")
- ImageResource bulletPink();
+ @Source("bullet_green.png")
+ ImageResource bulletGreen();
- @Source("bullet_purple.png")
- ImageResource bulletPurple();
+ @Source("bullet_pink.png")
+ ImageResource bulletPink();
- @Source("bullet_red.png")
- ImageResource bulletRed();
+ @Source("bullet_purple.png")
+ ImageResource bulletPurple();
- @Source("bullet_star.png")
- ImageResource bulletStar();
+ @Source("bullet_red.png")
+ ImageResource bulletRed();
- @Source("bullet_toggle_minus.png")
- ImageResource bulletToggleMinus();
+ @Source("bullet_star.png")
+ ImageResource bulletStar();
- @Source("bullet_toggle_plus.png")
- ImageResource bulletTogglePlus();
+ @Source("bullet_toggle_minus.png")
+ ImageResource bulletToggleMinus();
- @Source("bullet_yellow.png")
- ImageResource bulletYellow();
+ @Source("bullet_toggle_plus.png")
+ ImageResource bulletTogglePlus();
- @Source("button15cblue.png")
- ImageResource button15cblue();
+ @Source("bullet_yellow.png")
+ ImageResource bulletYellow();
- @Source("button15cdark.png")
- ImageResource button15cdark();
+ @Source("button15cblue.png")
+ ImageResource button15cblue();
- @Source("button15clight.png")
- ImageResource button15clight();
+ @Source("button15cdark.png")
+ ImageResource button15cdark();
- @Source("button15cxlight.png")
- ImageResource button15cxlight();
+ @Source("button15clight.png")
+ ImageResource button15clight();
- @Source("button15lblue.png")
- ImageResource button15lblue();
+ @Source("button15cxlight.png")
+ ImageResource button15cxlight();
- @Source("button15ldark.png")
- ImageResource button15ldark();
+ @Source("button15lblue.png")
+ ImageResource button15lblue();
- @Source("button15llight.png")
- ImageResource button15llight();
+ @Source("button15ldark.png")
+ ImageResource button15ldark();
- @Source("button15lxlight.png")
- ImageResource button15lxlight();
+ @Source("button15llight.png")
+ ImageResource button15llight();
- @Source("button15rblue.png")
- ImageResource button15rblue();
+ @Source("button15lxlight.png")
+ ImageResource button15lxlight();
- @Source("button15rdark.png")
- ImageResource button15rdark();
+ @Source("button15rblue.png")
+ ImageResource button15rblue();
- @Source("button15rlight.png")
- ImageResource button15rlight();
+ @Source("button15rdark.png")
+ ImageResource button15rdark();
- @Source("button15rxlight.png")
- ImageResource button15rxlight();
+ @Source("button15rlight.png")
+ ImageResource button15rlight();
- @Source("button17cblue.png")
- ImageResource button17cblue();
+ @Source("button15rxlight.png")
+ ImageResource button15rxlight();
- @Source("button17cdark.png")
- ImageResource button17cdark();
+ @Source("button17cblue.png")
+ ImageResource button17cblue();
- @Source("button17clight.png")
- ImageResource button17clight();
+ @Source("button17cdark.png")
+ ImageResource button17cdark();
- @Source("button17cxlight.png")
- ImageResource button17cxlight();
+ @Source("button17clight.png")
+ ImageResource button17clight();
- @Source("button17lblue.png")
- ImageResource button17lblue();
+ @Source("button17cxlight.png")
+ ImageResource button17cxlight();
- @Source("button17ldark.png")
- ImageResource button17ldark();
+ @Source("button17lblue.png")
+ ImageResource button17lblue();
- @Source("button17llight.png")
- ImageResource button17llight();
+ @Source("button17ldark.png")
+ ImageResource button17ldark();
- @Source("button17lxlight.png")
- ImageResource button17lxlight();
+ @Source("button17llight.png")
+ ImageResource button17llight();
- @Source("button17rblue.png")
- ImageResource button17rblue();
+ @Source("button17lxlight.png")
+ ImageResource button17lxlight();
- @Source("button17rdark.png")
- ImageResource button17rdark();
+ @Source("button17rblue.png")
+ ImageResource button17rblue();
- @Source("button17rlight.png")
- ImageResource button17rlight();
+ @Source("button17rdark.png")
+ ImageResource button17rdark();
- @Source("button17rxlight.png")
- ImageResource button17rxlight();
+ @Source("button17rlight.png")
+ ImageResource button17rlight();
- @Source("button20cblue.png")
- ImageResource button20cblue();
+ @Source("button17rxlight.png")
+ ImageResource button17rxlight();
- @Source("button20cdark.png")
- ImageResource button20cdark();
+ @Source("button20cblue.png")
+ ImageResource button20cblue();
- @Source("button20clight.png")
- ImageResource button20clight();
+ @Source("button20cdark.png")
+ ImageResource button20cdark();
- @Source("button20cxlight.png")
- ImageResource button20cxlight();
+ @Source("button20clight.png")
+ ImageResource button20clight();
- @Source("button20lblue.png")
- ImageResource button20lblue();
+ @Source("button20cxlight.png")
+ ImageResource button20cxlight();
- @Source("button20ldark.png")
- ImageResource button20ldark();
+ @Source("button20lblue.png")
+ ImageResource button20lblue();
- @Source("button20llight.png")
- ImageResource button20llight();
+ @Source("button20ldark.png")
+ ImageResource button20ldark();
- @Source("button20lxlight.png")
- ImageResource button20lxlight();
+ @Source("button20llight.png")
+ ImageResource button20llight();
- @Source("button20rblue.png")
- ImageResource button20rblue();
+ @Source("button20lxlight.png")
+ ImageResource button20lxlight();
- @Source("button20rdark.png")
- ImageResource button20rdark();
+ @Source("button20rblue.png")
+ ImageResource button20rblue();
- @Source("button20rlight.png")
- ImageResource button20rlight();
+ @Source("button20rdark.png")
+ ImageResource button20rdark();
- @Source("button20rxlight.png")
- ImageResource button20rxlight();
+ @Source("button20rlight.png")
+ ImageResource button20rlight();
- @Source("button-arrow-down.png")
- ImageResource buttonArrowDown();
+ @Source("button20rxlight.png")
+ ImageResource button20rxlight();
- @Source("button-help-blue.png")
- ImageResource buttonHelpBlue();
+ @Source("button-arrow-down.png")
+ ImageResource buttonArrowDown();
- @Source("button-help-dark.png")
- ImageResource buttonHelpDark();
+ @Source("button-help-blue.png")
+ ImageResource buttonHelpBlue();
- @Source("button-help-light.png")
- ImageResource buttonHelpLight();
+ @Source("button-help-dark.png")
+ ImageResource buttonHelpDark();
- @Source("by80x15.png")
- ImageResource by80x15();
+ @Source("button-help-light.png")
+ ImageResource buttonHelpLight();
- @Source("bync80x15.png")
- ImageResource bync80x15();
+ @Source("by80x15.png")
+ ImageResource by80x15();
- @Source("byncnd80x15.png")
- ImageResource byncnd80x15();
+ @Source("bync80x15.png")
+ ImageResource bync80x15();
- @Source("byncsa80x15.png")
- ImageResource byncsa80x15();
+ @Source("byncnd80x15.png")
+ ImageResource byncnd80x15();
- @Source("bynd80x15.png")
- ImageResource bynd80x15();
+ @Source("byncsa80x15.png")
+ ImageResource byncsa80x15();
- @Source("bysa80x15.png")
- ImageResource bysa80x15();
+ @Source("bynd80x15.png")
+ ImageResource bynd80x15();
- @Source("cancel.png")
- ImageResource cancel();
+ @Source("bysa80x15.png")
+ ImageResource bysa80x15();
- @Source("cancel-32.png")
- ImageResource cancel32();
+ @Source("cancel.png")
+ ImageResource cancel();
- @Source("charfontname.png")
- ImageResource charfontname();
+ @Source("cancel-32.png")
+ ImageResource cancel32();
- @Source("clear.png")
- ImageResource clear();
+ @Source("charfontname.png")
+ ImageResource charfontname();
- @Source("content_edit.png")
- ImageResource contentEdit();
+ @Source("checked.png")
+ ImageResource checked();
- @Source("copyleft.png")
- ImageResource copyleft();
+ @Source("clear.png")
+ ImageResource clear();
- @Source("cross.png")
- ImageResource cross();
+ @Source("content_edit.png")
+ ImageResource contentEdit();
- @Source("cross-dark.png")
- ImageResource crossDark();
+ @Source("copyleft.png")
+ ImageResource copyleft();
- @Source("core.css")
- Style css();
+ @Source("cross.png")
+ ImageResource cross();
- @Source("del.png")
- ImageResource del();
+ @Source("cross-dark.png")
+ ImageResource crossDark();
- @Source("emblem-important.png")
- ImageResource emblemImportant();
+ @Source("core.css")
+ Style css();
- @Source("emblem-system.png")
- ImageResource emblemSystem();
+ @Source("del.png")
+ ImageResource del();
- @Source("emite-room.png")
- ImageResource emiteRoom();
+ @Source("del-green.png")
+ ImageResource delGreen();
- @Source("error.png")
- ImageResource error();
+ @Source("emblem-important.png")
+ ImageResource emblemImportant();
- @Source("everybody.png")
- ImageResource everybody();
+ @Source("emblem-system.png")
+ ImageResource emblemSystem();
- @Source("folder-go-up.gif")
- ImageResource folderGoUp();
+ @Source("emite-room.png")
+ ImageResource emiteRoom();
- @Source("folderpathmenu.gif")
- ImageResource folderpathmenu();
+ @Source("error.png")
+ ImageResource error();
- @Source("fontheight.png")
- ImageResource fontheight();
+ @Source("everybody.png")
+ ImageResource everybody();
- @Source("fullscreen.png")
- ImageResource fullscreen();
+ @Source("folder-go-up.gif")
+ ImageResource folderGoUp();
- @Source("gnu-fdl.gif")
- ImageResource gnuFdl();
+ @Source("folderpathmenu.gif")
+ ImageResource folderpathmenu();
- @Source("group-def-icon.png")
- ImageResource groupDefIcon();
+ @Source("fontheight.png")
+ ImageResource fontheight();
- @Source("group-home.png")
- ImageResource groupHome();
+ @Source("fullscreen.png")
+ ImageResource fullscreen();
- @Source("important.png")
- ImageResource important();
+ @Source("gnu-fdl.gif")
+ ImageResource gnuFdl();
- @Source("important-32.png")
- ImageResource important32();
+ @Source("group-def-icon.png")
+ ImageResource groupDefIcon();
- @Source("info.png")
- ImageResource info();
+ @Source("group-home.png")
+ ImageResource groupHome();
- @Source("info-light.png")
- ImageResource infoLight();
+ @Source("important.png")
+ ImageResource important();
- @Source("kune-anim.gif")
- ImageResource kuneAnim();
+ @Source("important-32.png")
+ ImageResource important32();
- @Source("kune-anim-g.gif")
- ImageResource kuneAnimG();
+ @Source("info.png")
+ ImageResource info();
- @Source("kune-close.png")
- ImageResource kuneClose();
+ @Source("info-light.png")
+ ImageResource infoLight();
- @Source("kune-external-window.png")
- ImageResource kuneExternalWindow();
+ @Source("kune-anim.gif")
+ ImageResource kuneAnim();
- @Source("kune-help-translation-icon.png")
- ImageResource kuneHelpTranslationIcon();
+ @Source("kune-anim-g.gif")
+ ImageResource kuneAnimG();
- @Source("kuneicon16.gif")
- ImageResource kuneicon16();
+ @Source("kune-close.png")
+ ImageResource kuneClose();
- @Source("kune-icon16.png")
- ImageResource kuneIcon16();
+ @Source("kune-external-window.png")
+ ImageResource kuneExternalWindow();
- @Source("kune-logo-16px.png")
- ImageResource kuneLogo16px();
+ @Source("kune-help-translation-icon.png")
+ ImageResource kuneHelpTranslationIcon();
- @Source("kune-preferences.png")
- ImageResource kunePreferences();
+ @Source("kuneicon16.gif")
+ ImageResource kuneicon16();
- @Source("kune-search-ico.png")
- ImageResource kuneSearchIco();
+ @Source("kune-icon16.png")
+ ImageResource kuneIcon16();
- @Source("kune-search-ico-push.png")
- ImageResource kuneSearchIcoPush();
+ @Source("kune-logo-16px.png")
+ ImageResource kuneLogo16px();
- @Source("language.png")
- ImageResource language();
+ @Source("kune-preferences.png")
+ ImageResource kunePreferences();
- @Source("loading_gadget.gif")
- ImageResource loadingGadget();
+ @Source("kune-search-ico.png")
+ ImageResource kuneSearchIco();
- @Source("loading_gadget_small.gif")
- ImageResource loadingGadgetSmall();
+ @Source("kune-search-ico-push.png")
+ ImageResource kuneSearchIcoPush();
- @Source("loading-spiner.gif")
- ImageResource loadingSpiner();
+ @Source("language.png")
+ ImageResource language();
- @Source("new-chat.gif")
- ImageResource newChat();
+ @Source("loading_gadget.gif")
+ ImageResource loadingGadget();
- @Source("nobody.png")
- ImageResource nobody();
+ @Source("loading_gadget_small.gif")
+ ImageResource loadingGadgetSmall();
- @Source("no-copyleft.png")
- ImageResource noCopyleft();
+ @Source("loading-spiner.gif")
+ ImageResource loadingSpiner();
- @Source("nt.png")
- ImageResource nt();
+ @Source("arrow_out.png")
+ ImageResource maximize();
- @Source("opentriangle.gif")
- ImageResource opentriangle();
+ @Source("arrow_in.png")
+ ImageResource minimize();
- @Source("person2-60.png")
- ImageResource person260();
+ @Source("new-chat.gif")
+ ImageResource newChat();
- @Source("person-def.png")
- ImageResource personDef();
+ @Source("nobody.png")
+ ImageResource nobody();
- @Source("prefs.png")
- ImageResource prefs();
+ @Source("no-copyleft.png")
+ ImageResource noCopyleft();
- @Source("remove.png")
- ImageResource remove();
+ @Source("nt.png")
+ ImageResource nt();
- @Source("rss-icon.png")
- ImageResource rssIcon();
+ @Source("opentriangle.gif")
+ ImageResource opentriangle();
- @Source("search-ico.png")
- ImageResource searchIco();
+ @Source("person2-60.png")
+ ImageResource person260();
- @Source("spin-kune-thund-green.gif")
- ImageResource spinKuneThundGreen();
+ @Source("person-def.png")
+ ImageResource personDef();
- @Source("splitter-vert-bar.gif")
- ImageResource splitterVertBar();
+ @Source("prefs.png")
+ ImageResource prefs();
- @Source("star-10.png")
- ImageResource star10();
+ @Source("radiochecked.png")
+ ImageResource radiochecked();
- @Source("star-20.png")
- ImageResource star20();
+ @Source("radiounchecked.png")
+ ImageResource radioUnChecked();
- @Source("star-30.png")
- ImageResource star30();
+ @Source("remove.png")
+ ImageResource remove();
- @Source("star-40.png")
- ImageResource star40();
+ @Source("rss-icon.png")
+ ImageResource rssIcon();
- @Source("star-50.png")
- ImageResource star50();
+ @Source("search-ico.png")
+ ImageResource searchIco();
- @Source("star-60.png")
- ImageResource star60();
+ @Source("spin-kune-thund-green.gif")
+ ImageResource spinKuneThundGreen();
- @Source("star-70.png")
- ImageResource star70();
+ @Source("splitter-vert-bar.gif")
+ ImageResource splitterVertBar();
- @Source("star-80.png")
- ImageResource star80();
+ @Source("star-10.png")
+ ImageResource star10();
- @Source("star-90.png")
- ImageResource star90();
+ @Source("star-20.png")
+ ImageResource star20();
- @Source("star-grey.png")
- ImageResource starGrey();
+ @Source("star-30.png")
+ ImageResource star30();
- @Source("star-small-yellow.png")
- ImageResource starSmallYellow();
+ @Source("star-40.png")
+ ImageResource star40();
- @Source("star-vsmall-yellow.png")
- ImageResource starVsmallYellow();
+ @Source("star-50.png")
+ ImageResource star50();
- @Source("star-yellow.png")
- ImageResource starYellow();
+ @Source("star-60.png")
+ ImageResource star60();
- @Source("step1.png")
- ImageResource step1();
+ @Source("star-70.png")
+ ImageResource star70();
- @Source("step2.png")
- ImageResource step2();
+ @Source("star-80.png")
+ ImageResource star80();
- @Source("step3.png")
- ImageResource step3();
+ @Source("star-90.png")
+ ImageResource star90();
- @Source("step4.png")
- ImageResource step4();
+ @Source("star-grey.png")
+ ImageResource starGrey();
- @Source("step5.png")
- ImageResource step5();
+ @Source("star-small-yellow.png")
+ ImageResource starSmallYellow();
- @Source("theme-choose.png")
- ImageResource themeChoose();
+ @Source("star-vsmall-yellow.png")
+ ImageResource starVsmallYellow();
- @Source("triangle.gif")
- ImageResource triangle();
+ @Source("star-yellow.png")
+ ImageResource starYellow();
- @Source("unknown-60.png")
- ImageResource unknown60();
+ @Source("step1.png")
+ ImageResource step1();
- @Source("wave-icon.png")
- ImageResource waveIcon();
+ @Source("step2.png")
+ ImageResource step2();
+ @Source("step3.png")
+ ImageResource step3();
+
+ @Source("step4.png")
+ ImageResource step4();
+
+ @Source("step5.png")
+ ImageResource step5();
+
+ @Source("theme-choose.png")
+ ImageResource themeChoose();
+
+ @Source("triangle.gif")
+ ImageResource triangle();
+
+ @Source("unchecked.png")
+ ImageResource unChecked();
+
+ @Source("unknown-60.png")
+ ImageResource unknown60();
+
+ @Source("wave-icon.png")
+ ImageResource waveIcon();
+
}
Copied: trunk/src/main/java/cc/kune/core/client/resources/IconConstants.java (from rev 1339, trunk/src/main/java/cc/kune/core/client/resources/icons/IconConstants.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/IconConstants.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/resources/IconConstants.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -0,0 +1,39 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.resources;
+
+import com.google.gwt.resources.client.ImageResource;
+
+@Deprecated
+public final class IconConstants {
+
+ @Deprecated
+ public static final String CSS_SUFFIX = "k-icon-";
+
+ private static final String PATH_PREFIX = "images/";
+
+ @Deprecated
+ public static String toPath(final ImageResource img) {
+ return PATH_PREFIX + img.getName() + ".png";
+ }
+
+ private IconConstants() {
+ }
+}
Added: trunk/src/main/java/cc/kune/core/client/resources/bug.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/bug.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/client/resources/checked.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/checked.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/cc/kune/core/client/resources/core.css
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/core.css 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/resources/core.css 2011-05-04 20:29:42 UTC (rev 1340)
@@ -1,9 +1,46 @@
@CHARSET "UTF-8";
+@external k-icon-info,k-icon-language,k-icon-kuneIcon16,k-icon-bug,k-icon-prefs,k-icon-groupHome,k-icon-addGreen,k-icon-maximize,k-icon-minimize,k-*;
-/* @sprite */
+/* @sprite */
.loadingSpiner {
- /* Unused
- gwt-image: 'loadingSpiner';
- */
- margin-top: 2px;
+ /* Unused
+ gwt-image: 'loadingSpiner';
+ */
+ margin-top: 2px;
}
+
+@sprite div .k-icon-info {
+ gwt-image: "info";
+}
+
+@sprite div .k-icon-language {
+ gwt-image: "language";
+}
+
+@sprite div .k-icon-kuneIcon16 {
+ gwt-image: "kuneIcon16";
+}
+
+@sprite div .k-icon-bug {
+ gwt-image: "bug";
+}
+
+@sprite div .k-icon-prefs {
+ gwt-image: "prefs";
+}
+
+@sprite div .k-icon-groupHome {
+ gwt-image: "groupHome";
+}
+
+@sprite div .k-icon-addGreen {
+ gwt-image: "addGreen";
+}
+
+@sprite div .k-icon-maximize {
+ gwt-image: "maximize";
+}
+
+@sprite div .k-icon-minimize {
+ gwt-image: "minimize";
+}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/core/client/resources/del-green.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/del-green.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: trunk/src/main/java/cc/kune/core/client/resources/icons/IconConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/icons/IconConstants.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/resources/icons/IconConstants.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -1,39 +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.client.resources.icons;
-
-import com.google.gwt.resources.client.ImageResource;
-
-@Deprecated
-public final class IconConstants {
-
- @Deprecated
- public static final String CSS_SUFFIX = "k-icon-";
-
- private static final String PATH_PREFIX = "images/";
-
- @Deprecated
- public static String toPath(final ImageResource img) {
- return PATH_PREFIX + img.getName() + ".png";
- }
-
- private IconConstants() {
- }
-}
Modified: trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -22,50 +22,51 @@
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
+@Deprecated
public interface IconResources extends ClientBundle {
- @Source("add-green.png")
- ImageResource addGreen();
+ @Source("add-green.png")
+ ImageResource addGreen();
- @Source("bug.png")
- ImageResource bug();
+ @Source("bug.png")
+ ImageResource bug();
- @Source("checked.png")
- ImageResource checked();
+ @Source("checked.png")
+ ImageResource checked();
- @Source("kicon.css")
- IconCssResource css();
+ @Source("kicon.css")
+ IconCssResource css();
- @Source("del-green.png")
- ImageResource delGreen();
+ @Source("del-green.png")
+ ImageResource delGreen();
- @Source("group-home.png")
- ImageResource groupHome();
+ @Source("group-home.png")
+ ImageResource groupHome();
- @Source("info.png")
- ImageResource info();
+ @Source("info.png")
+ ImageResource info();
- @Source("kune-icon16.png")
- ImageResource kuneIcon16();
+ @Source("kune-icon16.png")
+ ImageResource kuneIcon16();
- @Source("language.png")
- ImageResource language();
+ @Source("language.png")
+ ImageResource language();
- @Source("arrow_out.png")
- ImageResource maximize();
+ @Source("arrow_out.png")
+ ImageResource maximize();
- @Source("arrow_in.png")
- ImageResource minimize();
+ @Source("arrow_in.png")
+ ImageResource minimize();
- @Source("prefs.png")
- ImageResource prefs();
+ @Source("prefs.png")
+ ImageResource prefs();
- @Source("radiochecked.png")
- ImageResource radiochecked();
+ @Source("radiochecked.png")
+ ImageResource radiochecked();
- @Source("radiounchecked.png")
- ImageResource radioUnChecked();
+ @Source("radiounchecked.png")
+ ImageResource radioUnChecked();
- @Source("unchecked.png")
- ImageResource unChecked();
+ @Source("unchecked.png")
+ ImageResource unChecked();
}
Added: trunk/src/main/java/cc/kune/core/client/resources/radiochecked.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/radiochecked.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/client/resources/radiounchecked.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/radiounchecked.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/client/resources/unchecked.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/unchecked.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -31,7 +31,7 @@
import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor;
import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor.Type;
import cc.kune.core.client.resources.CoreMessages;
-import cc.kune.core.client.resources.icons.IconResources;
+import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.services.FileDownloadUtils;
import cc.kune.core.client.sn.actions.GotoGroupAction;
import cc.kune.core.client.state.Session;
@@ -49,115 +49,117 @@
public class SiteUserOptionsPresenter implements SiteUserOptions {
- public static final MenuDescriptor LOGGED_USER_MENU = new MenuDescriptor();
- public static final String LOGGED_USER_MENU_ID = "kune-sump-lum";
- private final Provider<FileDownloadUtils> downloadProvider;
- private final GotoGroupAction gotoGroupAction;
- private final I18nTranslationService i18n;
- private final IconResources img;
- private SubMenuDescriptor partiMenu;
- private ToolbarSeparatorDescriptor separator;
- private final Session session;
- private final SitebarActionsPresenter siteOptions;
- private final StateManager stateManager;
+ public static final MenuDescriptor LOGGED_USER_MENU = new MenuDescriptor();
+ public static final String LOGGED_USER_MENU_ID = "kune-sump-lum";
+ private final Provider<FileDownloadUtils> downloadProvider;
+ private final GotoGroupAction gotoGroupAction;
+ private final I18nTranslationService i18n;
+ private SubMenuDescriptor partiMenu;
+ private final CoreResources res;
+ private ToolbarSeparatorDescriptor separator;
+ private final Session session;
+ private final SitebarActionsPresenter siteOptions;
+ private final StateManager stateManager;
- @Inject
- public SiteUserOptionsPresenter(final Session session, final StateManager stateManager,
- final Provider<FileDownloadUtils> downloadProvider, final I18nTranslationService i18n,
- final IconResources img, final SitebarActionsPresenter siteOptions, final GotoGroupAction gotoGroupAction) {
- super();
- this.session = session;
- this.stateManager = stateManager;
- this.downloadProvider = downloadProvider;
- this.i18n = i18n;
- this.img = img;
- this.siteOptions = siteOptions;
- this.gotoGroupAction = gotoGroupAction;
- createActions();
+ @Inject
+ public SiteUserOptionsPresenter(final Session session, final StateManager stateManager,
+ final Provider<FileDownloadUtils> downloadProvider, final I18nTranslationService i18n,
+ final CoreResources img, final SitebarActionsPresenter siteOptions,
+ final GotoGroupAction gotoGroupAction) {
+ super();
+ this.session = session;
+ this.stateManager = stateManager;
+ this.downloadProvider = downloadProvider;
+ this.i18n = i18n;
+ this.res = img;
+ this.siteOptions = siteOptions;
+ this.gotoGroupAction = gotoGroupAction;
+ createActions();
+ separator.setVisible(false);
+ session.onUserSignIn(true, new UserSignInHandler() {
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ SiteUserOptionsPresenter.this.onUserSignIn(event.getUserInfo());
+ separator.setVisible(true);
+ }
+ });
+ session.onUserSignOut(true, new UserSignOutHandler() {
+ @Override
+ public void onUserSignOut(final UserSignOutEvent event) {
+ LOGGED_USER_MENU.setVisible(false);
separator.setVisible(false);
- session.onUserSignIn(true, new UserSignInHandler() {
- @Override
- public void onUserSignIn(final UserSignInEvent event) {
- SiteUserOptionsPresenter.this.onUserSignIn(event.getUserInfo());
- separator.setVisible(true);
- }
- });
- session.onUserSignOut(true, new UserSignOutHandler() {
- @Override
- public void onUserSignOut(final UserSignOutEvent event) {
- LOGGED_USER_MENU.setVisible(false);
- separator.setVisible(false);
- SiteUserOptionsPresenter.this.setLoggedUserName("");
- }
- });
- }
+ SiteUserOptionsPresenter.this.setLoggedUserName("");
+ }
+ });
+ }
- @Override
- public void addAction(final GuiActionDescrip descriptor) {
- addActionImpl(descriptor);
- }
+ @Override
+ public void addAction(final GuiActionDescrip descriptor) {
+ addActionImpl(descriptor);
+ }
- private void addActionImpl(final GuiActionDescrip descriptor) {
- descriptor.setParent(LOGGED_USER_MENU);
- siteOptions.getRightToolbar().add(descriptor);
- }
+ private void addActionImpl(final GuiActionDescrip descriptor) {
+ descriptor.setParent(LOGGED_USER_MENU);
+ siteOptions.getRightToolbar().add(descriptor);
+ }
- private void addPartipation(final GroupDTO group) {
- final String logoImageUrl = group.hasLogo() ? downloadProvider.get().getLogoImageUrl(group.getStateToken())
- : "images/group-def-icon.gif";
- final MenuItemDescriptor participant = new MenuItemDescriptor(gotoGroupAction);
- participant.setTarget(group);
- participant.putValue(Action.NAME, group.getLongName());
- participant.putValue(Action.SMALL_ICON, logoImageUrl);
- participant.setParent(partiMenu);
- siteOptions.getRightToolbar().add(participant);
- }
+ private void addPartipation(final GroupDTO group) {
+ final String logoImageUrl = group.hasLogo() ? downloadProvider.get().getLogoImageUrl(
+ group.getStateToken()) : "images/group-def-icon.gif";
+ final MenuItemDescriptor participant = new MenuItemDescriptor(gotoGroupAction);
+ participant.setTarget(group);
+ participant.putValue(Action.NAME, group.getLongName());
+ participant.putValue(Action.SMALL_ICON, logoImageUrl);
+ participant.setParent(partiMenu);
+ siteOptions.getRightToolbar().add(participant);
+ }
- private void createActions() {
- LOGGED_USER_MENU.setId(LOGGED_USER_MENU_ID);
- LOGGED_USER_MENU.setParent(SitebarActionsPresenter.RIGHT_TOOLBAR);
- LOGGED_USER_MENU.setStyles("k-no-backimage, k-btn-sitebar, k-fl");
- siteOptions.getRightToolbar().add(LOGGED_USER_MENU);
- separator = new ToolbarSeparatorDescriptor(Type.separator, SitebarActionsPresenter.RIGHT_TOOLBAR);
- siteOptions.getRightToolbar().add(separator);
- partiMenu = new SubMenuDescriptor(i18n.t("Your groups"));
- addActionImpl(partiMenu);
+ private void createActions() {
+ LOGGED_USER_MENU.setId(LOGGED_USER_MENU_ID);
+ LOGGED_USER_MENU.setParent(SitebarActionsPresenter.RIGHT_TOOLBAR);
+ LOGGED_USER_MENU.setStyles("k-no-backimage, k-btn-sitebar, k-fl");
+ LOGGED_USER_MENU.setRightIcon(res.arrowdownsitebar());
+ siteOptions.getRightToolbar().add(LOGGED_USER_MENU);
+ separator = new ToolbarSeparatorDescriptor(Type.separator, SitebarActionsPresenter.RIGHT_TOOLBAR);
+ siteOptions.getRightToolbar().add(separator);
+ partiMenu = new SubMenuDescriptor(i18n.t("Your groups"));
+ addActionImpl(partiMenu);
- final AbstractExtendedAction userHomeAction = new AbstractExtendedAction() {
- @Override
- public void actionPerformed(final ActionEvent event) {
- goUserHome();
- }
- };
- userHomeAction.putValue(Action.NAME, i18n.t(CoreMessages.YOUR_HOMEPAGE));
- userHomeAction.putValue(Action.SMALL_ICON, img.groupHome());
- final MenuItemDescriptor item = new MenuItemDescriptor(userHomeAction);
- item.setPosition(0);
- addActionImpl(item);
- }
+ final AbstractExtendedAction userHomeAction = new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ goUserHome();
+ }
+ };
+ userHomeAction.putValue(Action.NAME, i18n.t(CoreMessages.YOUR_HOMEPAGE));
+ userHomeAction.putValue(Action.SMALL_ICON, res.groupHome());
+ final MenuItemDescriptor item = new MenuItemDescriptor(userHomeAction);
+ item.setPosition(0);
+ addActionImpl(item);
+ }
- private void goUserHome() {
- stateManager.gotoHistoryToken(session.getCurrentUserInfo().getShortName());
- }
+ private void goUserHome() {
+ stateManager.gotoHistoryToken(session.getCurrentUserInfo().getShortName());
+ }
- private void onUserSignIn(final UserInfoDTO userInfoDTO) {
- LOGGED_USER_MENU.setVisible(true);
- LOGGED_USER_MENU.setEnabled(true);
- setLoggedUserName(userInfoDTO.getShortName());
- partiMenu.clear();
- final List<GroupDTO> groupsIsAdmin = userInfoDTO.getGroupsIsAdmin();
- final List<GroupDTO> groupsIsCollab = userInfoDTO.getGroupsIsCollab();
- for (final GroupDTO group : groupsIsAdmin) {
- addPartipation(group);
- }
- for (final GroupDTO group : groupsIsCollab) {
- addPartipation(group);
- }
- partiMenu.setEnabled((groupsIsAdmin.size() + groupsIsCollab.size()) > 0);
+ private void onUserSignIn(final UserInfoDTO userInfoDTO) {
+ LOGGED_USER_MENU.setVisible(true);
+ LOGGED_USER_MENU.setEnabled(true);
+ setLoggedUserName(userInfoDTO.getShortName());
+ partiMenu.clear();
+ final List<GroupDTO> groupsIsAdmin = userInfoDTO.getGroupsIsAdmin();
+ final List<GroupDTO> groupsIsCollab = userInfoDTO.getGroupsIsCollab();
+ for (final GroupDTO group : groupsIsAdmin) {
+ addPartipation(group);
}
-
- private void setLoggedUserName(final String shortName) {
- LOGGED_USER_MENU.putValue(Action.NAME, shortName);
+ for (final GroupDTO group : groupsIsCollab) {
+ addPartipation(group);
}
+ partiMenu.setEnabled((groupsIsAdmin.size() + groupsIsCollab.size()) > 0);
+ }
+ private void setLoggedUserName(final String shortName) {
+ LOGGED_USER_MENU.putValue(Action.NAME, shortName);
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -34,7 +34,6 @@
import cc.kune.common.client.ui.KuneWindowUtils;
import cc.kune.core.client.init.AppStartEvent;
import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.client.resources.icons.IconResources;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.gwt.event.shared.EventBus;
@@ -48,149 +47,152 @@
import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
public class SitebarActionsPresenter extends
- Presenter<SitebarActionsPresenter.SitebarActionsView, SitebarActionsPresenter.SitebarActionsProxy> implements
- SitebarActions {
+ Presenter<SitebarActionsPresenter.SitebarActionsView, SitebarActionsPresenter.SitebarActionsProxy>
+ implements SitebarActions {
- @ProxyCodeSplit
- public interface SitebarActionsProxy extends Proxy<SitebarActionsPresenter> {
- }
+ @ProxyCodeSplit
+ public interface SitebarActionsProxy extends Proxy<SitebarActionsPresenter> {
+ }
- public interface SitebarActionsView extends View {
+ public interface SitebarActionsView extends View {
- IsActionExtensible getLeftBar();
+ IsActionExtensible getLeftBar();
- IsActionExtensible getRightBar();
+ IsActionExtensible getRightBar();
- void showAboutDialog();
+ void showAboutDialog();
- void showErrorDialog();
- }
- public static final ToolbarDescriptor LEFT_TOOLBAR = new ToolbarDescriptor();
+ void showErrorDialog();
+ }
+ public static final ToolbarDescriptor LEFT_TOOLBAR = new ToolbarDescriptor();
- public static final MenuDescriptor OPTIONS_MENU = new MenuDescriptor();
- public static final ToolbarDescriptor RIGHT_TOOLBAR = new ToolbarDescriptor();
- public static final String SITE_OPTIONS_MENU = "kune-sop-om";
+ public static final MenuDescriptor OPTIONS_MENU = new MenuDescriptor();
+ public static final ToolbarDescriptor RIGHT_TOOLBAR = new ToolbarDescriptor();
+ public static final String SITE_OPTIONS_MENU = "kune-sop-om";
- private final I18nTranslationService i18n;
- private final IconResources icons;
- private final Provider<SitebarNewGroupLink> newGroupLink;
+ private final I18nTranslationService i18n;
+ private final CoreResources icons;
+ private final Provider<SitebarNewGroupLink> newGroupLink;
- private final CoreResources res;
- private final Provider<SitebarSignInLink> signInLink;
- private final Provider<SitebarSignOutLink> signOutLink;
+ private final CoreResources res;
+ private final Provider<SitebarSignInLink> signInLink;
+ private final Provider<SitebarSignOutLink> signOutLink;
- @Inject
- public SitebarActionsPresenter(final EventBus eventBus, final SitebarActionsView view,
- final SitebarActionsProxy proxy, final I18nTranslationService i18n,
- final Provider<SitebarNewGroupLink> newGroupLink, final Provider<SitebarSignOutLink> signOutLink,
- final Provider<SitebarSignInLink> signInLink, final CoreResources res, final IconResources icons) {
- super(eventBus, view, proxy);
- this.i18n = i18n;
- this.newGroupLink = newGroupLink;
- this.signOutLink = signOutLink;
- this.signInLink = signInLink;
- this.res = res;
- this.icons = icons;
- init();
- }
+ @Inject
+ public SitebarActionsPresenter(final EventBus eventBus, final SitebarActionsView view,
+ final SitebarActionsProxy proxy, final I18nTranslationService i18n,
+ final Provider<SitebarNewGroupLink> newGroupLink, final Provider<SitebarSignOutLink> signOutLink,
+ final Provider<SitebarSignInLink> signInLink, final CoreResources res, final CoreResources icons) {
+ super(eventBus, view, proxy);
+ this.i18n = i18n;
+ this.newGroupLink = newGroupLink;
+ this.signOutLink = signOutLink;
+ this.signInLink = signInLink;
+ this.res = res;
+ this.icons = icons;
+ init();
+ }
- @Override
- public IsActionExtensible getLeftToolbar() {
- return getView().getLeftBar();
- }
+ @Override
+ public IsActionExtensible getLeftToolbar() {
+ return getView().getLeftBar();
+ }
- public MenuDescriptor getOptionsMenu() {
- return OPTIONS_MENU;
- }
+ public MenuDescriptor getOptionsMenu() {
+ return OPTIONS_MENU;
+ }
- @Override
- public IsActionExtensible getRightToolbar() {
- return getView().getRightBar();
- }
+ @Override
+ public IsActionExtensible getRightToolbar() {
+ return getView().getRightBar();
+ }
- private void init() {
- OPTIONS_MENU.withId(SITE_OPTIONS_MENU);
- getView().getLeftBar().add(LEFT_TOOLBAR);
- getView().getRightBar().add(RIGHT_TOOLBAR);
- }
+ private void init() {
+ OPTIONS_MENU.withId(SITE_OPTIONS_MENU);
+ getView().getLeftBar().add(LEFT_TOOLBAR);
+ getView().getRightBar().add(RIGHT_TOOLBAR);
+ }
- @ProxyEvent
- public void onAppStart(final AppStartEvent event) {
- final IsActionExtensible right = getView().getRightBar();
- OPTIONS_MENU.putValue(Action.NAME, i18n.t("Options"));
- OPTIONS_MENU.putValue(Action.SMALL_ICON, res.arrowdownsitebar());
- OPTIONS_MENU.setParent(RIGHT_TOOLBAR);
- OPTIONS_MENU.setStyles("k-no-backimage, k-btn-sitebar, k-fl");
- OPTIONS_MENU.putValue(AbstractGxtMenuGui.MENU_POSITION, AbstractGxtMenuGui.MenuPosition.bl);
- final ToolbarSeparatorDescriptor separator = new ToolbarSeparatorDescriptor(Type.separator, RIGHT_TOOLBAR);
- final ToolbarSeparatorDescriptor separator2 = new ToolbarSeparatorDescriptor(Type.separator, RIGHT_TOOLBAR);
+ @ProxyEvent
+ public void onAppStart(final AppStartEvent event) {
+ final IsActionExtensible right = getView().getRightBar();
+ OPTIONS_MENU.putValue(Action.NAME, i18n.t("Options"));
+ OPTIONS_MENU.putValue(Action.SMALL_ICON, res.arrowdownsitebar());
+ OPTIONS_MENU.setParent(RIGHT_TOOLBAR);
+ OPTIONS_MENU.setStyles("k-no-backimage, k-btn-sitebar, k-fl");
+ OPTIONS_MENU.putValue(AbstractGxtMenuGui.MENU_POSITION, AbstractGxtMenuGui.MenuPosition.bl);
+ final ToolbarSeparatorDescriptor separator = new ToolbarSeparatorDescriptor(Type.separator,
+ RIGHT_TOOLBAR);
+ final ToolbarSeparatorDescriptor separator2 = new ToolbarSeparatorDescriptor(Type.separator,
+ RIGHT_TOOLBAR);
- final MenuSeparatorDescriptor menuSeparator = new MenuSeparatorDescriptor(OPTIONS_MENU);
- final AbstractExtendedAction bugsAction = new AbstractExtendedAction() {
- @Override
- public void actionPerformed(final ActionEvent event) {
- KuneWindowUtils.open("http://kune.ourproject.org/issues/");
- }
- };
- bugsAction.putValue(Action.NAME, i18n.t("Report Kune issues/problems"));
- bugsAction.putValue(Action.SMALL_ICON, icons.bug());
- final MenuItemDescriptor reportBugs = new MenuItemDescriptor(OPTIONS_MENU, bugsAction);
+ final MenuSeparatorDescriptor menuSeparator = new MenuSeparatorDescriptor(OPTIONS_MENU);
+ final AbstractExtendedAction bugsAction = new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ KuneWindowUtils.open("http://kune.ourproject.org/issues/");
+ }
+ };
+ bugsAction.putValue(Action.NAME, i18n.t("Report Kune issues/problems"));
+ bugsAction.putValue(Action.SMALL_ICON, icons.bug());
+ final MenuItemDescriptor reportBugs = new MenuItemDescriptor(OPTIONS_MENU, bugsAction);
- final AbstractExtendedAction errorAction = new AbstractExtendedAction() {
- @Override
- public void actionPerformed(final ActionEvent event) {
- getView().showErrorDialog();
- }
- };
+ final AbstractExtendedAction errorAction = new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ getView().showErrorDialog();
+ }
+ };
- final AbstractExtendedAction aboutAction = new AbstractExtendedAction() {
- @Override
- public void actionPerformed(final ActionEvent event) {
- getView().showAboutDialog();
- }
- };
+ final AbstractExtendedAction aboutAction = new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ getView().showAboutDialog();
+ }
+ };
- final AbstractExtendedAction wavePowered = new AbstractExtendedAction() {
- @Override
- public void actionPerformed(final ActionEvent event) {
- KuneWindowUtils.open("http://incubator.apache.org/wave/");
- }
- };
- final MenuItemDescriptor gotoKuneDevSite = new MenuItemDescriptor(OPTIONS_MENU, new AbstractAction() {
- @Override
- public void actionPerformed(final ActionEvent event) {
- KuneWindowUtils.open("http://kune.ourproject.org/");
- }
+ final AbstractExtendedAction wavePowered = new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ KuneWindowUtils.open("http://incubator.apache.org/wave/");
+ }
+ };
+ final MenuItemDescriptor gotoKuneDevSite = new MenuItemDescriptor(OPTIONS_MENU,
+ new AbstractAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ KuneWindowUtils.open("http://kune.ourproject.org/");
+ }
});
- gotoKuneDevSite.putValue(Action.NAME, i18n.t("kune development site"));
- gotoKuneDevSite.putValue(Action.SMALL_ICON, icons.kuneIcon16());
+ gotoKuneDevSite.putValue(Action.NAME, i18n.t("kune development site"));
+ gotoKuneDevSite.putValue(Action.SMALL_ICON, icons.kuneIcon16());
- wavePowered.putValue(Action.NAME, i18n.t("Apache Wave powered"));
- wavePowered.putValue(Action.SMALL_ICON, res.waveIcon());
- aboutAction.putValue(Action.NAME, i18n.t("About kune"));
- aboutAction.putValue(Action.SMALL_ICON, res.info());
- errorAction.putValue(Action.NAME, i18n.t("Errors info"));
- errorAction.putValue(Action.SMALL_ICON, res.important());
- // aboutAction.setShortcut(shortcut);
- // shortcutReg.put(shortcut, aboutAction);
+ wavePowered.putValue(Action.NAME, i18n.t("Apache Wave powered"));
+ wavePowered.putValue(Action.SMALL_ICON, res.waveIcon());
+ aboutAction.putValue(Action.NAME, i18n.t("About kune"));
+ aboutAction.putValue(Action.SMALL_ICON, res.info());
+ errorAction.putValue(Action.NAME, i18n.t("Errors info"));
+ errorAction.putValue(Action.SMALL_ICON, res.important());
+ // aboutAction.setShortcut(shortcut);
+ // shortcutReg.put(shortcut, aboutAction);
- right.add(signInLink.get());
- right.add(signOutLink.get());
- right.add(separator2);
- right.add(newGroupLink.get());
- right.add(separator);
- right.add(OPTIONS_MENU);
- right.add(gotoKuneDevSite);
- right.add(reportBugs);
- right.add(new MenuItemDescriptor(OPTIONS_MENU, errorAction));
- right.add(new MenuItemDescriptor(OPTIONS_MENU, aboutAction));
- right.add(menuSeparator);
- right.add(new MenuItemDescriptor(OPTIONS_MENU, wavePowered));
- }
+ right.add(signInLink.get());
+ right.add(signOutLink.get());
+ right.add(separator2);
+ right.add(newGroupLink.get());
+ right.add(separator);
+ right.add(OPTIONS_MENU);
+ right.add(gotoKuneDevSite);
+ right.add(reportBugs);
+ right.add(new MenuItemDescriptor(OPTIONS_MENU, errorAction));
+ right.add(new MenuItemDescriptor(OPTIONS_MENU, aboutAction));
+ right.add(menuSeparator);
+ right.add(new MenuItemDescriptor(OPTIONS_MENU, wavePowered));
+ }
- @Override
- protected void revealInParent() {
- RevealRootContentEvent.fire(this, this);
- }
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
+ }
}
Added: trunk/src/main/java/cc/kune/core/client/sitebar/search/FormFeedback.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/FormFeedback.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/FormFeedback.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -0,0 +1,126 @@
+/*******************************************************************************
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ ******************************************************************************/
+package cc.kune.core.client.sitebar.search;
+
+import com.google.gwt.user.client.ui.Label;
+
+/**
+ * This widget shows an icon to give feedback on form fields
+ */
+public class FormFeedback extends Label {
+ /**
+ * Feedback status error
+ */
+ public static final int ERROR = 2;
+
+ private static final String ERROR_STYLE = "error";
+
+ /**
+ * Feedback status loading
+ */
+ public static final int LOADING = 4;
+
+ private static final String LOADING_STYLE = "loading";
+
+ /**
+ * Feedback status none
+ */
+ public static final int NONE = 5;
+
+ /**
+ * Feedback status valid
+ */
+ public static final int VALID = 3;
+ private static final String VALID_STYLE = "valid";
+ /**
+ * Feedback status warning
+ */
+ public static final int WARNING = 1;
+ private static final String WARNING_STYLE = "warning";
+
+ private int mstatus = NONE;
+
+ /**
+ * Creates a new FormFeedback widget
+ */
+ public FormFeedback() {
+ this(true);
+ }
+
+ /**
+ * Creates a new FormFeedback widget
+ *
+ * @param inform
+ * true if this feedback widget needs our standard for styles and
+ * false otherwise
+ */
+ public FormFeedback(final boolean inform) {
+ getElement().addClassName("rpt-formfeedback");
+ if (inform) {
+ getElement().addClassName("rpt-formfeedback-inform");
+ }
+ }
+
+ /**
+ * Gets the status of this FormFeedback
+ *
+ * @return the form feedback
+ */
+ public int getStatus() {
+ return mstatus;
+ }
+
+ private void removeStyles() {
+ getElement().removeClassName(WARNING_STYLE);
+ getElement().removeClassName(ERROR_STYLE);
+ getElement().removeClassName(LOADING_STYLE);
+ getElement().removeClassName(VALID_STYLE);
+ }
+
+ /**
+ * Sets the status for this FormFeedback
+ *
+ * @param status
+ * the status
+ */
+ public void setStatus(final int status) {
+ mstatus = status;
+ removeStyles();
+
+ switch (status) {
+ case WARNING:
+ getElement().addClassName(WARNING_STYLE);
+ setTitle("Warning");
+ return;
+ case ERROR:
+ getElement().addClassName(ERROR_STYLE);
+ setTitle("Error");
+ return;
+ case LOADING:
+ getElement().addClassName(LOADING_STYLE);
+ setTitle("Loading");
+ return;
+ case VALID:
+ getElement().addClassName(VALID_STYLE);
+ setTitle("Valid");
+ return;
+ default:
+ setTitle("");
+ removeStyles();
+ return;
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/sitebar/search/FormFeedback.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/core/client/sitebar/search/MultivalueSuggestBox.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/MultivalueSuggestBox.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/MultivalueSuggestBox.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -0,0 +1,906 @@
+/*******************************************************************************
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Source: http://www.zackgrossbart.com/hackito/gwt-rest-auto/
+ *
+ ******************************************************************************/
+package cc.kune.core.client.sitebar.search;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import cc.kune.common.client.log.Log;
+import cc.kune.core.shared.SearcherConstants;
+
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
+import com.google.gwt.event.logical.shared.SelectionEvent;
+import com.google.gwt.event.logical.shared.SelectionHandler;
+import com.google.gwt.http.client.RequestBuilder;
+import com.google.gwt.http.client.RequestCallback;
+import com.google.gwt.http.client.RequestException;
+import com.google.gwt.http.client.Response;
+import com.google.gwt.http.client.URL;
+import com.google.gwt.json.client.JSONArray;
+import com.google.gwt.json.client.JSONObject;
+import com.google.gwt.json.client.JSONParser;
+import com.google.gwt.json.client.JSONValue;
+import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Focusable;
+import com.google.gwt.user.client.ui.SuggestBox;
+import com.google.gwt.user.client.ui.SuggestOracle;
+import com.google.gwt.user.client.ui.SuggestOracle.Callback;
+import com.google.gwt.user.client.ui.SuggestOracle.Request;
+import com.google.gwt.user.client.ui.SuggestOracle.Suggestion;
+import com.google.gwt.user.client.ui.TextArea;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.TextBoxBase;
+
+/**
+ * A SuggestBox that uses REST and allows for multiple values, autocomplete and
+ * browsing
+ *
+ * @author Bess Siegal <bsiegal(a)novell.com>
+ */
+public class MultivalueSuggestBox extends Composite implements SelectionHandler<Suggestion>, Focusable,
+ KeyUpHandler {
+ /**
+ * Bean for name-value pairs
+ */
+ private class Option {
+
+ private String mname;
+ private String mvalue;
+
+ /**
+ * No argument constructor
+ */
+ public Option() {
+ }
+
+ /**
+ * @return Returns the name.
+ */
+ public String getName() {
+ return mname;
+ }
+
+ /**
+ * @return Returns the value.
+ */
+ public String getValue() {
+ return mvalue;
+ }
+
+ /**
+ * @param name
+ * The name to set.
+ */
+ public void setName(final String name) {
+ mname = name;
+ }
+
+ /**
+ * @param value
+ * The value to set.
+ */
+ public void setValue(final String value) {
+ mvalue = value;
+ }
+
+ }
+ /**
+ * An abstract class that handles success and error conditions from the REST
+ * call
+ */
+ private abstract class OptionQueryCallback {
+ abstract void error(Throwable exception);
+
+ abstract void success(OptionResultSet optResults);
+ }
+ /**
+ * Bean for total size and options
+ */
+ protected class OptionResultSet {
+ /** JSON key for DisplayName */
+ public static final String DISPLAY_NAME = "longName";
+ /** JSON key for Options */
+ public static final String OPTIONS = "list";
+ /** JSON key for the size of the Results */
+ public static final String TOTAL_SIZE = "size";
+
+ /** JSON key for Value */
+ public static final String VALUE = "shortName";
+
+ private final List<Option> m_options = new ArrayList<Option>();
+ private int mtotalSize;
+
+ /**
+ * Constructor. Must pass in the total size.
+ *
+ * @param totalSize
+ * the total size of the template
+ */
+ public OptionResultSet(final int totalSize) {
+ setTotalSize(totalSize); // NOPMD by vjrj on 4/05/11 19:45
+ }
+
+ /**
+ * Add an option
+ *
+ * @param option
+ * - the Option to add
+ */
+ public void addOption(final Option option) {
+ m_options.add(option);
+ }
+
+ /**
+ * @return an array of Options
+ */
+ public Option[] getOptions() {
+ return m_options.toArray(new Option[m_options.size()]);
+ }
+
+ /**
+ * @return Returns the totalSize.
+ */
+ public int getTotalSize() {
+ return mtotalSize;
+ }
+
+ /**
+ * @param totalSize
+ * The totalSize to set.
+ */
+ public void setTotalSize(final int totalSize) {
+ mtotalSize = totalSize;
+ }
+ }
+ /**
+ * A bean to serve as a custom suggestion so that the value is available and
+ * the replace will look like it is supporting multivalues
+ */
+ class OptionSuggestion implements SuggestOracle.Suggestion {
+ static final String NEXT_VALUE = "NEXT";
+ static final String PREVIOUS_VALUE = "PREVIOUS";
+ private String mdisplay;
+ private String mname;
+ private final String mreplace;
+ private final String mvalue;
+
+ /**
+ * Constructor for navigation options
+ *
+ * @param nav
+ * - next or previous value
+ * @param currentTextValue
+ * - the current contents of the text box
+ */
+ OptionSuggestion(final String nav, final String currentTextValue) {
+ if (NEXT_VALUE.equals(nav)) {
+ mdisplay = "<div class=\"autocompleterNext\" title=\"Next\"></div>";
+ } else {
+ mdisplay = "<div class=\"autocompleterPrev\" title=\"Previous\"></div>";
+ }
+ mreplace = currentTextValue;
+ mvalue = nav;
+ }
+
+ /**
+ * Constructor for regular options
+ *
+ * @param displ
+ * - the name of the option
+ * @param val
+ * - the value of the option
+ * @param replacePre
+ * - the current contents of the text box
+ * @param query
+ * - the query
+ */
+ OptionSuggestion(final String displ, final String val, final String replacePre, final String query) {
+ mname = displ;
+ final int begin = displ.toLowerCase().indexOf(query.toLowerCase());
+ if (begin >= 0) {
+ final int end = begin + query.length();
+ final String match = displ.substring(begin, end);
+ mdisplay = displ.replaceFirst(match, "<b>" + match + "</b>");
+ } else {
+ // may not necessarily be a part of the query, for example if "*" was
+ // typed.
+ mdisplay = displ;
+ }
+ mreplace = getFullReplaceText(displ, replacePre);
+ mvalue = val;
+ }
+
+ @Override
+ public String getDisplayString() {
+ return mdisplay;
+ }
+
+ /**
+ * Get the name of the option. (when not multivalued, this will be the same
+ * as getReplacementString)
+ *
+ * @return name
+ */
+ public String getName() {
+ return mname;
+ }
+
+ @Override
+ public String getReplacementString() {
+ return mreplace;
+ }
+
+ /**
+ * Get the value of the option
+ *
+ * @return value
+ */
+ public String getValue() {
+ return mvalue;
+ }
+ }
+ /**
+ * A custom callback that has the original SuggestOracle.Request and
+ * SuggestOracle.Callback
+ */
+ private class RestSuggestCallback extends OptionQueryCallback {
+ private final SuggestOracle.Callback m_callback;
+ private final String m_query; // this may be different from
+ // m_request.getQuery when multivalued it's
+ // only the substring after the last delimiter
+ private final SuggestOracle.Request m_request;
+
+ RestSuggestCallback(final Request request, final Callback callback, final String query) {
+ m_request = request;
+ m_callback = callback;
+ m_query = query;
+ }
+
+ @Override
+ public void error(final Throwable exception) {
+ updateFormFeedback(FormFeedback.ERROR, "Invalid: " + m_query);
+ }
+
+ @Override
+ public void success(final OptionResultSet optResults) {
+ final SuggestOracle.Response resp = new SuggestOracle.Response();
+ final List<OptionSuggestion> suggs = new ArrayList<OptionSuggestion>();
+ final int totSize = optResults.getTotalSize();
+
+ if (totSize < 1) {
+ // if there were no suggestions, then it's an invalid value
+ updateFormFeedback(FormFeedback.ERROR, "Invalid: " + m_query);
+
+ } else if (totSize == 1) {
+ // it's an exact match, so do not bother with showing suggestions,
+ final Option o = optResults.getOptions()[0];
+ final String displ = o.getName();
+
+ // remove the last bit up to separator
+ // mfield.setText(getFullReplaceText(displ, m_request.getQuery()));
+
+ Log.info("RestSuggestCallback.success! exact match found for displ = " + displ);
+
+ // it's valid!
+ updateFormFeedback(FormFeedback.VALID, null);
+
+ // set the value into the valueMap
+ putValue(displ, o.getValue());
+
+ } else {
+ // more than 1 so show the suggestions
+
+ // if not at the first page, show PREVIOUS
+ if (mindexFrom > 0) {
+ final OptionSuggestion prev = new OptionSuggestion(OptionSuggestion.PREVIOUS_VALUE,
+ m_request.getQuery());
+ suggs.add(prev);
+ }
+
+ // show the suggestions
+ for (final Option o : optResults.getOptions()) {
+ final OptionSuggestion sugg = new OptionSuggestion(o.getName(), o.getValue(),
+ m_request.getQuery(), m_query);
+ suggs.add(sugg);
+ }
+
+ // if there are more pages, show NEXT
+ if (mindexTo < totSize) {
+ final OptionSuggestion next = new OptionSuggestion(OptionSuggestion.NEXT_VALUE,
+ m_request.getQuery());
+ suggs.add(next);
+ }
+
+ // nothing has been picked yet, so let the feedback show an error
+ // (unsaveable)
+ updateFormFeedback(FormFeedback.ERROR, "Invalid: " + m_query);
+ }
+
+ // it's ok (and good) to pass an empty suggestion list back to the suggest
+ // box's callback method
+ // the list is not shown at all if the list is empty.
+ resp.setSuggestions(suggs);
+ m_callback.onSuggestionsReady(m_request, resp);
+ }
+
+ }
+ /*
+ * Some custom inner classes for our SuggestOracle
+ */
+ /**
+ * A custom Suggest Oracle
+ */
+ private class RestSuggestOracle extends SuggestOracle {
+ private SuggestOracle.Callback mcallback;
+ private SuggestOracle.Request mrequest;
+ private final Timer mtimer;
+
+ RestSuggestOracle() {
+ mtimer = new Timer() {
+
+ @Override
+ public void run() {
+ /*
+ * The reason we check for empty string is found at
+ * http://development.lombardi.com/?p=39 -- paraphrased, if you
+ * backspace quickly the contents of the field are emptied but a query
+ * for a single character is still executed. Workaround for this is to
+ * check for an empty string field here.
+ */
+
+ if (!mfield.getText().trim().isEmpty()) {
+ if (misMultivalued) {
+ // calling this here in case a user is trying to correct the "kev"
+ // value of Allison Andrews, Kev, Josh Nolan or pasted in multiple
+ // values
+ findExactMatches();
+ }
+ getSuggestions();
+ }
+ }
+ };
+ }
+
+ private void getSuggestions() {
+ String query = mrequest.getQuery();
+
+ // find the last thing entered up to the last separator
+ // and use that as the query
+ if (misMultivalued) {
+ final int sep = query.lastIndexOf(DISPLAY_SEPARATOR);
+ if (sep > 0) {
+ query = query.substring(sep + DISPLAY_SEPARATOR.length());
+ }
+ }
+ query = query.trim();
+
+ // do not query if it's just an empty String
+ // also do not get suggestions you've already got an exact match for this
+ // string in the m_valueMap
+ if (query.length() > 0 && mvalueMap.get(query) == null) {
+ // JSUtil.println("getting Suggestions for: " + query);
+ updateFormFeedback(FormFeedback.LOADING, null);
+
+ queryOptions(query, mindexFrom, mindexTo, new RestSuggestCallback(mrequest, mcallback, query));
+ }
+ }
+
+ @Override
+ public boolean isDisplayStringHTML() {
+ return true;
+ }
+
+ @Override
+ public void requestSuggestions(final SuggestOracle.Request request,
+ final SuggestOracle.Callback callback) {
+ // This is the method that gets called by the SuggestBox whenever some
+ // types into the text field
+ mrequest = request;
+ mcallback = callback;
+
+ // reset the indexes (b/c NEXT and PREV call getSuggestions directly)
+ resetPageIndices();
+
+ // If the user keeps triggering this event (e.g., keeps typing), cancel
+ // and restart the timer
+ mtimer.cancel();
+ mtimer.schedule(DELAY);
+ }
+ }
+ private static final int DELAY = 1000;
+
+ private static final String DISPLAY_SEPARATOR = ", ";
+ private static final int FIND_EXACT_MATCH_QUERY_LIMIT = 20;
+ private static final int PAGE_SIZE = 15;
+ private static final String VALUE_DELIM = ";";
+
+ /**
+ * Returns a String without the last delimiter
+ *
+ * @param str
+ * - String to trim
+ * @param delim
+ * - the delimiter
+ * @return the String without the last delimter
+ */
+ private static String trimLastDelimiter(String str, final String delim) { // NOPMD
+ // by
+ // vjrj
+ // on
+ // 4/05/11
+ // 19:46
+ if (str.length() > 0) {
+ str = str.substring(0, str.length() - delim.length());
+ }
+ return str;
+ }
+
+ private final FormFeedback mfeedback;
+ private final SuggestBox mfield;
+ private int mfindExactMatchesFound = 0;
+
+ private final ArrayList<String> mfindExactMatchesNot = new ArrayList<String>();
+
+ private int mfindExactMatchesTotal = 0;
+
+ private int mindexFrom = 0;
+
+ private int mindexTo = 0;
+
+ private boolean misMultivalued = false;
+
+ private final String mrestEndpointUrl;
+ private final Map<String, String> mvalueMap;
+
+ /**
+ * Constructor.
+ *
+ * @param the
+ * URL for the REST endpoint. This URL should accept the parameters q
+ * (for query), indexFrom and indexTo
+ * @param isMultivalued
+ * - true for allowing multiple values
+ */
+ public MultivalueSuggestBox(final String restEndpointUrl, final boolean isMultivalued) {
+ mrestEndpointUrl = restEndpointUrl;
+ misMultivalued = isMultivalued;
+
+ final FlowPanel panel = new FlowPanel();
+ TextBoxBase textfield;
+ if (isMultivalued) {
+ panel.addStyleName("textarearow");
+ textfield = new TextArea();
+ } else {
+ panel.addStyleName("textfieldrow");
+ textfield = new TextBox();
+ }
+
+ // Create our own SuggestOracle that queries REST endpoint
+ final SuggestOracle oracle = new RestSuggestOracle();
+ // intialize the SuggestBox
+ mfield = new SuggestBox(oracle, textfield);
+ if (isMultivalued) {
+ // have to do this here b/c gwt suggest box wipes
+ // style name if added in previous if
+ textfield.addStyleName("multivalue");
+ }
+ mfield.addStyleName("wideTextField");
+ mfield.addSelectionHandler(this);
+ mfield.addKeyUpHandler(this);
+
+ panel.add(mfield);
+ mfeedback = new FormFeedback();
+ // panel.add(mfeedback);
+
+ initWidget(panel);
+
+ /*
+ * Create a Map that holds the values that should be stored. It will be
+ * keyed on "display value", so that any time a "display value" is added or
+ * removed the valueMap can be updated.
+ */
+ mvalueMap = new HashMap<String, String>();
+
+ resetPageIndices();
+ }
+
+ private void findExactMatch(final String displayValue, final int position) {
+ updateFormFeedback(FormFeedback.LOADING, null);
+
+ queryOptions(displayValue, 0, FIND_EXACT_MATCH_QUERY_LIMIT, // return a
+ // relatively
+ // small amount
+ // in case
+ // wanted "Red"
+ // and
+ // "Brick Red"
+ // is the first
+ // thing
+ // returned
+ new OptionQueryCallback() {
+
+ @Override
+ public void error(final Throwable exception) {
+ // an exact match couldn't be found, just increment not found
+ mfindExactMatchesNot.add(displayValue);
+ finalizeFindExactMatches();
+ }
+
+ private void extactMatchFound(final int position, final Option option) {
+ putValue(option.getName(), option.getValue());
+ Log.info("extactMatchFound ! exact match found for displ = " + displayValue);
+
+ // and replace the text
+ final String text = mfield.getText();
+ final String[] keys = text.split(DISPLAY_SEPARATOR.trim());
+ keys[position] = option.getName();
+ String join = "";
+ for (final String n : keys) {
+ join += n.trim() + DISPLAY_SEPARATOR;
+ }
+ join = trimLastDelimiter(join, DISPLAY_SEPARATOR);
+ // Commented mfield.setText(join);
+
+ mfindExactMatchesFound++;
+ }
+
+ private void finalizeFindExactMatches() {
+ if (mfindExactMatchesFound + mfindExactMatchesNot.size() == mfindExactMatchesTotal) {
+ // when the found + not = total, we're done
+ if (mfindExactMatchesNot.size() > 0) {
+ String join = "";
+ for (final String val : mfindExactMatchesNot) {
+ join += val.trim() + DISPLAY_SEPARATOR;
+ }
+ join = trimLastDelimiter(join, DISPLAY_SEPARATOR);
+ updateFormFeedback(FormFeedback.ERROR, "Invalid:" + join);
+ } else {
+ updateFormFeedback(FormFeedback.VALID, null);
+ }
+ }
+ }
+
+ @Override
+ public void success(final OptionResultSet optResults) {
+ final int totSize = optResults.getTotalSize();
+ if (totSize == 1) {
+ // an exact match was found, so place it in the value map
+ final Option option = optResults.getOptions()[0];
+ extactMatchFound(position, option);
+ } else {
+ // try to find the exact matches within the results
+ boolean found = false;
+ for (final Option option : optResults.getOptions()) {
+ if (displayValue.equalsIgnoreCase(option.getName())) {
+ extactMatchFound(position, option);
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ mfindExactMatchesNot.add(displayValue);
+ Log.info("RestExactMatchCallback -- exact match not found for displ = " + displayValue);
+ }
+ }
+ finalizeFindExactMatches();
+ }
+ });
+ }
+
+ /**
+ * If there is more than one key in the text field, check that every key has a
+ * value in the map. For any that do not, try to find its exact match.
+ */
+ private void findExactMatches() {
+ final String text = mfield.getText();
+ final String[] keys = text.split(DISPLAY_SEPARATOR.trim());
+ final int len = keys.length;
+ if (len < 2) {
+ // do not continue. if there's 1, it is the last one, and getSuggestions
+ // can handle it
+ return;
+ }
+
+ mfindExactMatchesTotal = 0;
+ mfindExactMatchesFound = 0;
+ mfindExactMatchesNot.clear();
+ for (int pos = 0; pos < len; pos++) {
+ final String key = keys[pos].trim();
+
+ if (!key.isEmpty()) {
+ final String v = mvalueMap.get(key);
+ if (null == v) {
+ mfindExactMatchesTotal++;
+ }
+ }
+ }
+ // then loop through again and try to find them
+ /*
+ * We may have invalid values due to a multi-value copy-n-paste, or going
+ * back and messing with a middle or first key; so for each invalid value,
+ * try to find an exact match. *
+ */
+ for (int pos = 0; pos < len; pos++) {
+ final String key = keys[pos].trim();
+ if (!key.isEmpty()) {
+ final String v = mvalueMap.get(key);
+ if (null == v) {
+ findExactMatch(key, pos);
+ }
+ }
+ }
+ }
+
+ private String getFullReplaceText(final String displ, String replacePre) { // NOPMD
+ // by
+ // vjrj
+ // on
+ // 4/05/11
+ // 19:45
+ // replace the last bit after the last comma
+ if (replacePre.lastIndexOf(DISPLAY_SEPARATOR) > 0) {
+ replacePre = replacePre.substring(0, replacePre.lastIndexOf(DISPLAY_SEPARATOR))
+ + DISPLAY_SEPARATOR;
+ } else {
+ replacePre = "";
+ }
+ // then add a comma
+ if (misMultivalued) {
+ return replacePre + displ + DISPLAY_SEPARATOR;
+ } else {
+ return displ;
+ }
+ }
+
+ public SuggestBox getSuggestBox() {
+ return mfield;
+ }
+
+ @Override
+ public int getTabIndex() {
+ return mfield.getTabIndex();
+ }
+
+ /**
+ * Get the value(s) as a String. If allowing multivalues, separated by the
+ * VALUE_DELIM
+ *
+ * @return value(s) as a String
+ */
+ public String getValue() {
+ // String together all the values in the valueMap
+ // based on the display values shown in the field
+ final String text = mfield.getText();
+
+ String values = "";
+ String invalids = "";
+ String newKeys = "";
+ if (misMultivalued) {
+ final String[] keys = text.split(DISPLAY_SEPARATOR);
+ for (String key : keys) {
+ key = key.trim();
+ if (!key.isEmpty()) {
+ final String v = mvalueMap.get(key);
+ Log.info("getValue for key = " + key + " is v = " + v);
+ if (null != v) {
+ values += v + VALUE_DELIM;
+ // rebuild newKeys removing invalids and dups
+ newKeys += key + DISPLAY_SEPARATOR;
+ } else {
+ invalids += key + DISPLAY_SEPARATOR;
+ }
+ }
+ }
+ values = trimLastDelimiter(values, VALUE_DELIM);
+ // set the new display values
+ mfield.setText(newKeys);
+ } else {
+ values = mvalueMap.get(text);
+ }
+
+ // if there were any invalid show warning
+ if (!invalids.isEmpty()) {
+ // trim last separator
+ invalids = trimLastDelimiter(invalids, DISPLAY_SEPARATOR);
+ updateFormFeedback(FormFeedback.ERROR, "Invalids: " + invalids);
+ }
+ return values;
+ }
+
+ /**
+ * Get the value map
+ *
+ * @return value map
+ */
+ public Map<String, String> getValueMap() {
+ return mvalueMap;
+ }
+
+ @Override
+ public void onKeyUp(final KeyUpEvent event) {
+ /*
+ * Because SuggestOracle.requestSuggestions does not get called when the
+ * text field is empty this key up handler is necessary for handling the
+ * case when there is an empty text field... Here, the FormFeedback is
+ * reset.
+ */
+ updateFormFeedback(FormFeedback.NONE, null);
+ }
+
+ @Override
+ public void onSelection(final SelectionEvent<Suggestion> event) {
+ final Suggestion suggestion = event.getSelectedItem();
+ if (suggestion instanceof OptionSuggestion) {
+ final OptionSuggestion osugg = (OptionSuggestion) suggestion;
+ // if NEXT or PREVIOUS were selected, requery but bypass the timer
+ final String value = osugg.getValue();
+ if (OptionSuggestion.NEXT_VALUE.equals(value)) {
+ mindexFrom += PAGE_SIZE;
+ mindexTo += PAGE_SIZE;
+
+ final RestSuggestOracle oracle = (RestSuggestOracle) mfield.getSuggestOracle();
+ oracle.getSuggestions();
+
+ } else if (OptionSuggestion.PREVIOUS_VALUE.equals(value)) {
+ mindexFrom -= PAGE_SIZE;
+ mindexTo -= PAGE_SIZE;
+
+ final RestSuggestOracle oracle = (RestSuggestOracle) mfield.getSuggestOracle();
+ oracle.getSuggestions();
+
+ } else {
+ // made a valid selection
+ updateFormFeedback(FormFeedback.VALID, null);
+
+ // add the option's value to the value map
+ putValue(osugg.getName(), value);
+
+ // put the focus back into the textfield so user
+ // can enter more
+ // Commented mfield.setFocus(true);
+ }
+ }
+ }
+
+ private void putValue(final String key, final String value) {
+ Log.info("putting key = " + key + "; value = " + value);
+ mvalueMap.put(key, value);
+ }
+
+ /**
+ * Retrieve Options (name-value pairs) that are suggested from the REST
+ * endpoint
+ *
+ * @param query
+ * - the String search term
+ * @param from
+ * - the 0-based begin index int
+ * @param to
+ * - the end index inclusive int
+ * @param callback
+ * - the OptionQueryCallback to handle the response
+ */
+ private void queryOptions(final String query, final int from, final int to,
+ final OptionQueryCallback callback) {
+ final RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(mrestEndpointUrl
+ // Falta limit
+ + "?" + SearcherConstants.QUERY_PARAM + "=" + query + "&" + SearcherConstants.START_PARAM + "="
+ + from + "&indexTo=" + to));
+
+ // Set our headers
+ builder.setHeader("Accept", "application/json");
+ builder.setHeader("Accept-Charset", "UTF-8");
+
+ builder.setCallback(new RequestCallback() {
+
+ @Override
+ public void onError(final com.google.gwt.http.client.Request request, final Throwable exception) {
+ callback.error(exception);
+ }
+
+ @Override
+ public void onResponseReceived(final com.google.gwt.http.client.Request request,
+ final Response response) {
+ final JSONValue val = JSONParser.parse(response.getText());
+ final JSONObject obj = val.isObject();
+ final int totSize = (int) obj.get(OptionResultSet.TOTAL_SIZE).isNumber().doubleValue();
+ final OptionResultSet options = new OptionResultSet(totSize);
+ final JSONArray optionsArray = obj.get(OptionResultSet.OPTIONS).isArray();
+
+ if (options.getTotalSize() > 0 && optionsArray != null) {
+
+ for (int i = 0; i < optionsArray.size(); i++) {
+ if (optionsArray.get(i) == null) {
+ /*
+ * This happens when a JSON array has an invalid trailing comma
+ */
+ continue;
+ }
+
+ final JSONObject jsonOpt = optionsArray.get(i).isObject();
+ final Option option = new Option();
+ option.setName(jsonOpt.get(OptionResultSet.DISPLAY_NAME).isString().stringValue() + " ("
+ + jsonOpt.get(OptionResultSet.VALUE).isString().stringValue() + ")");
+ option.setValue(jsonOpt.get(OptionResultSet.VALUE).isString().stringValue());
+ options.addOption(option);
+ }
+ }
+ callback.success(options);
+ }
+ });
+
+ try {
+ builder.send();
+ } catch (final RequestException e) {
+ updateFormFeedback(FormFeedback.ERROR, "Error: " + e.getMessage());
+ }
+ }
+
+ private void resetPageIndices() {
+ mindexFrom = 0;
+ mindexTo = mindexFrom + PAGE_SIZE - 1;
+ }
+
+ @Override
+ public void setAccessKey(final char key) {
+ mfield.setAccessKey(key);
+ }
+
+ @Override
+ public void setFocus(final boolean focused) {
+ mfield.setFocus(focused);
+ }
+
+ @Override
+ public void setTabIndex(final int index) {
+ mfield.setTabIndex(index);
+ }
+
+ /**
+ * Convenience method to set the status and tooltip of the FormFeedback
+ *
+ * @param status
+ * - a FormFeedback status
+ * @param tooltip
+ * - a String tooltip
+ */
+ public void updateFormFeedback(final int status, final String tooltip) {
+ mfeedback.setStatus(status);
+ if (tooltip != null) {
+ mfeedback.setTitle(tooltip);
+ }
+
+ final TextBoxBase textBox = mfield.getTextBox();
+ if (FormFeedback.LOADING == status) {
+ // textBox.setEnabled(false);
+ } else {
+ // textBox.setEnabled(true);
+ textBox.setFocus(false); // Blur then focus b/c of a strange problem with
+ // the cursor or selection highlights no longer
+ // visible within the textfield (this is a
+ // workaround)
+ textBox.setFocus(true);
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/cc/kune/core/client/sitebar/search/MultivalueSuggestBox.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearch.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearch.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearch.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -1,24 +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.client.sitebar.search;
-
-public interface SiteSearch {
-
-}
Deleted: trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPanel.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPanel.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -1,125 +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.client.sitebar.search;
-
-import cc.kune.common.client.notify.NotifyUser;
-import cc.kune.core.client.resources.CoreResources;
-import cc.kune.gspace.client.GSpaceArmor;
-
-import com.google.gwt.event.dom.client.BlurEvent;
-import com.google.gwt.event.dom.client.BlurHandler;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.FocusEvent;
-import com.google.gwt.event.dom.client.FocusHandler;
-import com.google.gwt.event.dom.client.KeyCodes;
-import com.google.gwt.event.dom.client.KeyUpEvent;
-import com.google.gwt.event.dom.client.KeyUpHandler;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.PushButton;
-import com.google.gwt.user.client.ui.TextBox;
-import com.google.inject.Inject;
-
-public class SiteSearchPanel implements SiteSearchView {
- private static final int SEARCH_TEXT_HEIGHT = 15;
- private static final int SEARCH_TEXT_WIDTH_BIG = 180;
- private static final int SEARCH_TEXT_WIDTH_SMALL = 120;
- public static final String SITE_SEARCH_BUTTON = "kune-ssp-searchbt";
- public static final String SITE_SEARCH_TEXTBOX = "kune-ssp-tbox";
-
- private final PushButton searchButton;
- private final TextBox searchTextBox;
-
- @Inject
- public SiteSearchPanel(final SiteSearchPresenter presenter, final GSpaceArmor gs, final CoreResources img) {
- searchButton = new PushButton(new Image(img.kuneSearchIco()), new Image(img.kuneSearchIcoPush()));
- searchButton.ensureDebugId(SITE_SEARCH_BUTTON);
- searchTextBox = new TextBox();
- searchTextBox.ensureDebugId(SITE_SEARCH_TEXTBOX);
-
- gs.getSitebar().add(searchButton);
- gs.getSitebar().add(searchTextBox);
-
- setTextSearchSmallImpl();
- searchTextBox.addBlurHandler(new BlurHandler() {
- @Override
- public void onBlur(final BlurEvent event) {
- presenter.onSearchLostFocus(searchTextBox.getText());
- }
- });
- searchTextBox.addFocusHandler(new FocusHandler() {
- @Override
- public void onFocus(final FocusEvent event) {
- presenter.onSearchFocus();
- }
- });
- searchButton.addClickHandler(new ClickHandler() {
- @Override
- public void onClick(final ClickEvent event) {
- NotifyUser.showProgressProcessing();
- presenter.doSearch(searchTextBox.getText());
- }
- });
- searchTextBox.addKeyUpHandler(new KeyUpHandler() {
- @Override
- public void onKeyUp(final KeyUpEvent event) {
- if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
- if (searchTextBox.getText().length() > 0) {
- NotifyUser.showProgressProcessing();
- presenter.doSearch(searchTextBox.getText());
- }
- }
- }
- });
- }
-
- @Override
- public void clearSearchText() {
- searchTextBox.setText("");
- }
-
- @Override
- public void selectSearchText() {
- searchTextBox.selectAll();
- }
-
- public void setSearchText(final String text) {
- searchTextBox.setText(text);
- }
-
- @Override
- public void setTextSearch(final String text) {
- searchTextBox.setText(text);
- }
-
- @Override
- public void setTextSearchBig() {
- searchTextBox.setPixelSize(SEARCH_TEXT_WIDTH_BIG, 15);
- }
-
- @Override
- public void setTextSearchSmall() {
- setTextSearchSmallImpl();
- }
-
- private void setTextSearchSmallImpl() {
- searchTextBox.setPixelSize(SEARCH_TEXT_WIDTH_SMALL, SEARCH_TEXT_HEIGHT);
- }
-}
Deleted: trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPresenter.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPresenter.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -1,63 +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.client.sitebar.search;
-
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.google.inject.Inject;
-
-public class SiteSearchPresenter implements SiteSearch {
-
- private final String defaultSearchText;
- private SiteSearchView view;
-
- @Inject
- public SiteSearchPresenter(final I18nTranslationService i18n) {
- defaultSearchText = i18n.t("Search");
- }
-
- public void doSearch(final String termToSearch) {
- // provider.get().doSearch(termToSearch);
- view.setTextSearchSmall();
- }
-
- public void init(final SiteSearchView view) {
- this.view = view;
- setDefText();
- }
-
- public void onSearchFocus() {
- view.setTextSearchBig();
- view.selectSearchText();
- }
-
- public void onSearchLostFocus(final String search) {
- if (search.length() == 0 || search.equals(defaultSearchText)) {
- view.setTextSearchSmall();
- }
- if (search.length() == 0) {
- setDefText();
- }
- }
-
- private void setDefText() {
- view.setTextSearch(defaultSearchText);
- }
-}
Deleted: trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchView.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchView.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchView.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -1,33 +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.client.sitebar.search;
-
-public interface SiteSearchView {
-
- void clearSearchText();
-
- void selectSearchText();
-
- void setTextSearch(String text);
-
- void setTextSearchBig();
-
- void setTextSearchSmall();
-}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPanel.java (from rev 1339, trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPanel.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -0,0 +1,135 @@
+/*
+ *
+ * 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.client.sitebar.search;
+
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.sitebar.search.SitebarSearchPresenter.SitebarSearchView;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.SearcherConstants;
+import cc.kune.gspace.client.GSpaceArmor;
+
+import com.google.gwt.event.dom.client.HasAllFocusHandlers;
+import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.user.client.ui.HasText;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.PushButton;
+import com.google.gwt.user.client.ui.SuggestBox;
+import com.google.gwt.user.client.ui.SuggestOracle.Suggestion;
+import com.google.gwt.user.client.ui.TextBoxBase;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class SitebarSearchPanel extends ViewImpl implements SitebarSearchView {
+ private static final int SEARCH_TEXT_HEIGHT = 13;
+ private static final int SEARCH_TEXT_WIDTH_BIG = 160;
+ private static final int SEARCH_TEXT_WIDTH_SMALL = 120;
+ public static final String SITE_SEARCH_BUTTON = "kune-ssp-searchbt";
+ public static final String SITE_SEARCH_TEXTBOX = "kune-ssp-tbox";
+
+ private final PushButton searchButton;
+ private final TextBoxBase searchTextBox;
+ private final SuggestBox suggestBox;
+
+ @Inject
+ public SitebarSearchPanel(final GSpaceArmor gs, final CoreResources img,
+ final StateManager stateManager) {
+ searchButton = new PushButton(new Image(img.kuneSearchIco()), new Image(img.kuneSearchIcoPush()));
+ searchButton.ensureDebugId(SITE_SEARCH_BUTTON);
+ final MultivalueSuggestBox multivalueSBox = new MultivalueSuggestBox(
+ SearcherConstants.GROUP_DATA_PROXY_URL, false) {
+ @Override
+ public void onSelection(
+ final com.google.gwt.event.logical.shared.SelectionEvent<com.google.gwt.user.client.ui.SuggestOracle.Suggestion> event) {
+ super.onSelection(event);
+ final Suggestion suggestion = event.getSelectedItem();
+ if (suggestion instanceof OptionSuggestion) {
+ final OptionSuggestion osugg = (OptionSuggestion) suggestion;
+ final String value = osugg.getValue();
+ if (!OptionSuggestion.NEXT_VALUE.equals(value)
+ && !OptionSuggestion.PREVIOUS_VALUE.equals(value)) {
+ stateManager.gotoHistoryToken(value);
+ setTextSearch("");
+ }
+ }
+ };
+ };
+ suggestBox = multivalueSBox.getSuggestBox();
+ searchTextBox = suggestBox.getTextBox();
+ searchTextBox.ensureDebugId(SITE_SEARCH_TEXTBOX);
+ searchTextBox.addStyleName("k-fr");
+ searchTextBox.addStyleName("k-sitebarsearch");
+ searchTextBox.addStyleName("k-fr");
+ searchButton.addStyleName("k-sitebarsearch-img");
+ searchButton.addStyleName("k-fr");
+ gs.getSitebar().add(multivalueSBox);
+ gs.getSitebar().add(searchButton);
+ setTextSearchSmallImpl();
+ }
+
+ @Override
+ public Widget asWidget() {
+ return null;
+ }
+
+ @Override
+ public void clearSearchText() {
+ searchTextBox.setValue("");
+ }
+
+ @Override
+ public HasClickHandlers getButton() {
+ return searchButton;
+ }
+
+ @Override
+ public HasAllFocusHandlers getFocus() {
+ return searchTextBox;
+ }
+
+ @Override
+ public HasText getTextBox() {
+ return searchTextBox;
+ }
+
+ @Override
+ public void selectSearchText() {
+ searchTextBox.selectAll();
+ }
+
+ @Override
+ public void setTextSearch(final String text) {
+ suggestBox.setValue(text, false);
+ }
+
+ @Override
+ public void setTextSearchBig() {
+ searchTextBox.setPixelSize(SEARCH_TEXT_WIDTH_BIG, SEARCH_TEXT_HEIGHT);
+ }
+
+ @Override
+ public void setTextSearchSmall() {
+ setTextSearchSmallImpl();
+ }
+
+ private void setTextSearchSmallImpl() {
+ searchTextBox.setPixelSize(SEARCH_TEXT_WIDTH_SMALL, SEARCH_TEXT_HEIGHT);
+ }
+}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPresenter.java (from rev 1339, trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SitebarSearchPresenter.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -0,0 +1,145 @@
+/*
+ *
+ * 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.client.sitebar.search;
+
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.gwt.event.dom.client.BlurEvent;
+import com.google.gwt.event.dom.client.BlurHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.FocusEvent;
+import com.google.gwt.event.dom.client.FocusHandler;
+import com.google.gwt.event.dom.client.HasAllFocusHandlers;
+import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.ui.HasText;
+import com.google.inject.Inject;
+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 SitebarSearchPresenter extends
+ Presenter<SitebarSearchPresenter.SitebarSearchView, SitebarSearchPresenter.SitebarSearchProxy> {
+
+ @ProxyCodeSplit
+ public interface SitebarSearchProxy extends Proxy<SitebarSearchPresenter> {
+ }
+
+ public interface SitebarSearchView extends View {
+
+ void clearSearchText();
+
+ HasClickHandlers getButton();
+
+ HasAllFocusHandlers getFocus();
+
+ HasText getTextBox();
+
+ void selectSearchText();
+
+ void setTextSearch(String text);
+
+ void setTextSearchBig();
+
+ void setTextSearchSmall();
+ }
+
+ private final String defaultSearchText;
+
+ @Inject
+ public SitebarSearchPresenter(final EventBus eventBus, final SitebarSearchView view,
+ final SitebarSearchProxy proxy, final I18nTranslationService i18n) {
+ super(eventBus, view, proxy);
+ defaultSearchText = i18n.t("Search");
+ setDefText();
+ getView().setTextSearchSmall();
+ }
+
+ private void doSearch() {
+ doSearch(getView().getTextBox().getText());
+ }
+
+ public void doSearch(final String termToSearch) {
+ getView().setTextSearchSmall();
+ }
+
+ @Override
+ protected void onBind() {
+ super.onBind();
+ getView().getFocus().addBlurHandler(new BlurHandler() {
+ @Override
+ public void onBlur(final BlurEvent event) {
+ onSearchLostFocus(getView().getTextBox().getText());
+ }
+ });
+ getView().getFocus().addFocusHandler(new FocusHandler() {
+ @Override
+ public void onFocus(final FocusEvent event) {
+ onSearchFocus();
+ }
+ });
+ getView().getButton().addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ doSearch();
+ }
+
+ });
+ // getView().getKeyUp().addKeyUpHandler(new KeyUpHandler() {
+ // @Override
+ // public void onKeyUp(final KeyUpEvent event) {
+ // if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
+ // if (getView().getTextBox().getText().length() > 0) {
+ // NotifyUser.showProgressProcessing();
+ // doSearch();
+ // }
+ // }
+ // }
+ // });
+ }
+
+ public void onSearchFocus() {
+ if (getView().getTextBox().getText().equals(defaultSearchText)) {
+ getView().setTextSearchBig();
+ getView().selectSearchText();
+ }
+ }
+
+ public void onSearchLostFocus(final String search) {
+ if (search.length() == 0 || search.equals(defaultSearchText)) {
+ getView().setTextSearchSmall();
+ }
+ if (search.length() == 0) {
+ setDefText();
+ }
+ }
+
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
+ }
+
+ private void setDefText() {
+ getView().setTextSearch(defaultSearchText);
+ }
+}
Added: trunk/src/main/java/cc/kune/core/public/images/vborder.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/vborder.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/cc/kune/core/public/images/vborder_ie6.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/public/images/vborder_ie6.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-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-04 20:29:42 UTC (rev 1340)
@@ -1,4 +1,4 @@
-@CHARSET "UTF-8";
+CHARSET "UTF-8 ";
body {
background-color: white;
@@ -305,19 +305,6 @@
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;
}
@@ -1148,3 +1135,57 @@
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;
+}
+
+.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 */
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -43,6 +43,7 @@
import cc.kune.core.server.properties.KuneProperties;
import cc.kune.core.server.tool.ServerTool;
import cc.kune.core.server.tool.ServerToolRegistry;
+import cc.kune.core.shared.SearcherConstants;
import cc.kune.core.shared.domain.AdmissionType;
import cc.kune.core.shared.domain.GroupListMode;
import cc.kune.core.shared.dto.GroupType;
@@ -65,223 +66,229 @@
@Singleton
public class GroupManagerDefault extends DefaultManager<Group, Long> implements GroupManager {
- private final GroupFinder finder;
- private final I18nTranslationService i18n;
- private final KuneProperties kuneProperties;
- private final LicenseFinder licenseFinder;
- private final LicenseManager licenseManager;
- private final DatabaseProperties properties;
- private final ServerToolRegistry registry;
- private final ServerToolRegistry serverToolRegistry;
- private final UserFinder userFinder;
+ private final GroupFinder finder;
+ private final I18nTranslationService i18n;
+ private final KuneProperties kuneProperties;
+ private final LicenseFinder licenseFinder;
+ private final LicenseManager licenseManager;
+ private final DatabaseProperties properties;
+ private final ServerToolRegistry registry;
+ private final ServerToolRegistry serverToolRegistry;
+ private final UserFinder userFinder;
- @Inject
- public GroupManagerDefault(final Provider<EntityManager> provider, final GroupFinder finder,
- final UserFinder userFinder, final KuneProperties kuneProperties, final DatabaseProperties properties,
- final ServerToolRegistry registry, final LicenseManager licenseManager, final LicenseFinder licenseFinder,
- final ServerToolRegistry serverToolRegistry, final I18nTranslationService i18n) {
- super(provider, Group.class);
- this.finder = finder;
- this.userFinder = userFinder;
- this.kuneProperties = kuneProperties;
- this.properties = properties;
- this.registry = registry;
- this.licenseManager = licenseManager;
- this.licenseFinder = licenseFinder;
- this.serverToolRegistry = serverToolRegistry;
- this.i18n = i18n;
- }
+ @Inject
+ public GroupManagerDefault(final Provider<EntityManager> provider, final GroupFinder finder,
+ final UserFinder userFinder, final KuneProperties kuneProperties,
+ final DatabaseProperties properties, final ServerToolRegistry registry,
+ final LicenseManager licenseManager, final LicenseFinder licenseFinder,
+ final ServerToolRegistry serverToolRegistry, final I18nTranslationService i18n) {
+ super(provider, Group.class);
+ this.finder = finder;
+ this.userFinder = userFinder;
+ this.kuneProperties = kuneProperties;
+ this.properties = properties;
+ this.registry = registry;
+ this.licenseManager = licenseManager;
+ this.licenseFinder = licenseFinder;
+ this.serverToolRegistry = serverToolRegistry;
+ this.i18n = i18n;
+ }
- @Override
- public void changeDefLicense(final User user, final Group group, final String licName) {
- final License license = licenseFinder.findByShortName(licName);
- if (license == null) {
- throw new ServerManagerException("Unknown license");
- }
- group.setDefaultLicense(license);
+ @Override
+ public void changeDefLicense(final User user, final Group group, final String licName) {
+ final License license = licenseFinder.findByShortName(licName);
+ if (license == null) {
+ throw new ServerManagerException("Unknown license");
}
+ group.setDefaultLicense(license);
+ }
- @Override
- public void changeWsTheme(final User user, final Group group, final String theme) throws AccessViolationException {
- // TODO: check theme
- group.setWorkspaceTheme(theme);
- }
+ @Override
+ public void changeWsTheme(final User user, final Group group, final String theme)
+ throws AccessViolationException {
+ // TODO: check theme
+ group.setWorkspaceTheme(theme);
+ }
- @Override
- public void clearGroupBackImage(final Group group) {
- group.setGroupBackImage(null);
+ @Override
+ public void clearGroupBackImage(final Group group) {
+ group.setGroupBackImage(null);
+ }
+
+ @Override
+ public Group createGroup(final Group group, final User user, final String publicDescrip)
+ throws GroupNameInUseException, UserMustBeLoggedException {
+ final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
+ if (User.isKnownUser(user)) {
+ if (group.getGroupType().equals(GroupType.COMMUNITY)) {
+ group.setAdmissionType(AdmissionType.Open);
+ } else if (group.getGroupType().equals(GroupType.ORGANIZATION)) {
+ group.setAdmissionType(AdmissionType.Moderated);
+ } else if (group.getGroupType().equals(GroupType.PROJECT)) {
+ group.setAdmissionType(AdmissionType.Moderated);
+ } else if (group.getGroupType().equals(GroupType.ORPHANED_PROJECT)) {
+ group.setAdmissionType(AdmissionType.Open);
+ }
+ final String licName = group.getDefaultLicense().getShortName();
+ final License license = licenseFinder.findByShortName(licName);
+ group.setDefaultLicense(license);
+ group.setWorkspaceTheme(defaultSiteWorkspaceTheme);
+ initSocialNetwork(group, user.getUserGroup());
+ final String title = i18n.t("About [%s]", group.getLongName());
+ initGroup(user, group, serverToolRegistry.getToolsForGroupsKeys(), title, publicDescrip);
+ return group;
+ } else {
+ throw new UserMustBeLoggedException();
}
+ }
- @Override
- public Group createGroup(final Group group, final User user, final String publicDescrip)
- throws GroupNameInUseException, UserMustBeLoggedException {
- final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
- if (User.isKnownUser(user)) {
- if (group.getGroupType().equals(GroupType.COMMUNITY)) {
- group.setAdmissionType(AdmissionType.Open);
- } else if (group.getGroupType().equals(GroupType.ORGANIZATION)) {
- group.setAdmissionType(AdmissionType.Moderated);
- } else if (group.getGroupType().equals(GroupType.PROJECT)) {
- group.setAdmissionType(AdmissionType.Moderated);
- } else if (group.getGroupType().equals(GroupType.ORPHANED_PROJECT)) {
- group.setAdmissionType(AdmissionType.Open);
- }
- final String licName = group.getDefaultLicense().getShortName();
- final License license = licenseFinder.findByShortName(licName);
- group.setDefaultLicense(license);
- group.setWorkspaceTheme(defaultSiteWorkspaceTheme);
- initSocialNetwork(group, user.getUserGroup());
- final String title = i18n.t("About [%s]", group.getLongName());
- initGroup(user, group, serverToolRegistry.getToolsForGroupsKeys(), title, publicDescrip);
- return group;
- } else {
- throw new UserMustBeLoggedException();
- }
+ @Override
+ public Group createUserGroup(final User user) throws GroupNameInUseException,
+ EmailAddressInUseException {
+ return createUserGroup(user, true);
+ }
+
+ @Override
+ public Group createUserGroup(final User user, final boolean wantPersonalHomepage)
+ throws GroupNameInUseException, EmailAddressInUseException {
+ final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
+ final License licenseDef = licenseManager.getDefLicense();
+ final Group userGroup = new Group(user.getShortName(), user.getName(), licenseDef,
+ GroupType.PERSONAL);
+ User userSameEmail = null;
+ try {
+ userSameEmail = userFinder.getByEmail(user.getEmail());
+ } catch (final NoResultException e) {
+ // Ok, no more with this email
}
+ if (userSameEmail != null) {
+ throw new EmailAddressInUseException();
+ }
+ userGroup.setAdmissionType(AdmissionType.Closed);
+ userGroup.setWorkspaceTheme(defaultSiteWorkspaceTheme);
+ userGroup.setDefaultContent(null);
+ user.setUserGroup(userGroup);
+ initSocialNetwork(userGroup, userGroup);
- @Override
- public Group createUserGroup(final User user) throws GroupNameInUseException, EmailAddressInUseException {
- return createUserGroup(user, true);
+ final String title = i18n.t("[%s] Bio", user.getName());
+ final String body = "<h1>" + title + "</h1>" + i18n.t("This user has not written its biography yet");
+ try {
+ initGroup(user, userGroup, wantPersonalHomepage ? serverToolRegistry.getToolsForUserKeys()
+ : ServerToolRegistry.emptyToolList, title, body);
+ super.persist(user, User.class);
+ } catch (final PersistenceException e) {
+ if (e.getCause() instanceof ConstraintViolationException) {
+ throw new GroupNameInUseException();
+ }
+ throw e;
}
+ return userGroup;
+ }
- @Override
- public Group createUserGroup(final User user, final boolean wantPersonalHomepage) throws GroupNameInUseException,
- EmailAddressInUseException {
- final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
- final License licenseDef = licenseManager.getDefLicense();
- final Group userGroup = new Group(user.getShortName(), user.getName(), licenseDef, GroupType.PERSONAL);
- User userSameEmail = null;
- try {
- userSameEmail = userFinder.getByEmail(user.getEmail());
- } catch (final NoResultException e) {
- // Ok, no more with this email
- }
- if (userSameEmail != null) {
- throw new EmailAddressInUseException();
- }
- userGroup.setAdmissionType(AdmissionType.Closed);
- userGroup.setWorkspaceTheme(defaultSiteWorkspaceTheme);
- userGroup.setDefaultContent(null);
- user.setUserGroup(userGroup);
- initSocialNetwork(userGroup, userGroup);
+ @Override
+ public List<Group> findAdminInGroups(final Long groupId) {
+ return finder.findAdminInGroups(groupId);
+ }
- final String title = i18n.t("[%s] Bio", user.getName());
- final String body = "<h1>" + title + "</h1>" + i18n.t("This user has not written its biography yet");
- try {
- initGroup(user, userGroup, wantPersonalHomepage ? serverToolRegistry.getToolsForUserKeys()
- : ServerToolRegistry.emptyToolList, title, body);
- super.persist(user, User.class);
- } catch (final PersistenceException e) {
- if (e.getCause() instanceof ConstraintViolationException) {
- throw new GroupNameInUseException();
- }
- throw e;
- }
- return userGroup;
- }
+ @Override
+ public Group findByShortName(final String shortName) {
+ return finder.findByShortName(shortName);
+ }
- @Override
- public List<Group> findAdminInGroups(final Long groupId) {
- return finder.findAdminInGroups(groupId);
- }
+ @Override
+ public List<Group> findCollabInGroups(final Long groupId) {
+ return finder.findCollabInGroups(groupId);
+ }
- @Override
- public Group findByShortName(final String shortName) {
- return finder.findByShortName(shortName);
- }
+ @Override
+ public List<String> findEnabledTools(final Long id) {
+ return finder.findEnabledTools(id);
+ }
- @Override
- public List<Group> findCollabInGroups(final Long groupId) {
- return finder.findCollabInGroups(groupId);
- }
+ @Override
+ public Group getGroupOfUserWithId(final Long userId) {
+ return userId != null ? find(User.class, userId).getUserGroup() : null;
+ }
- @Override
- public List<String> findEnabledTools(final Long id) {
- return finder.findEnabledTools(id);
- }
+ @Override
+ public Group getSiteDefaultGroup() {
+ final String shortName = properties.getDefaultSiteShortName();
+ return findByShortName(shortName);
+ }
- @Override
- public Group getGroupOfUserWithId(final Long userId) {
- return userId != null ? find(User.class, userId).getUserGroup() : null;
+ private void initGroup(final User user, final Group group, final Collection<String> toolsToEnable,
+ final Object... vars) throws GroupNameInUseException {
+ try {
+ persist(group);
+ } catch (final IllegalStateException e) {
+ e.printStackTrace();
+ } catch (final PersistenceException e) {
+ if (e.getCause() instanceof ConstraintViolationException) {
+ throw new GroupNameInUseException();
+ }
+ throw e;
}
-
- @Override
- public Group getSiteDefaultGroup() {
- final String shortName = properties.getDefaultSiteShortName();
- return findByShortName(shortName);
+ for (final ServerTool tool : registry.all()) {
+ if (toolsToEnable.contains(tool.getName())) {
+ tool.initGroup(user, group, vars);
+ }
}
+ }
- private void initGroup(final User user, final Group group, final Collection<String> toolsToEnable,
- final Object... vars) throws GroupNameInUseException {
- try {
- persist(group);
- } catch (final IllegalStateException e) {
- e.printStackTrace();
- } catch (final PersistenceException e) {
- if (e.getCause() instanceof ConstraintViolationException) {
- throw new GroupNameInUseException();
- }
- throw e;
- }
- for (final ServerTool tool : registry.all()) {
- if (toolsToEnable.contains(tool.getName())) {
- tool.initGroup(user, group, vars);
- }
- }
+ private void initSocialNetwork(final Group group, final Group userGroup) {
+ final SocialNetwork network = group.getSocialNetwork();
+ final AccessLists lists = network.getAccessLists();
+ lists.getEditors().setMode(GroupListMode.NOBODY);
+ lists.getViewers().setMode(GroupListMode.EVERYONE);
+ if (!group.getGroupType().equals(GroupType.ORPHANED_PROJECT)) {
+ network.addAdmin(userGroup);
}
+ }
- private void initSocialNetwork(final Group group, final Group userGroup) {
- final SocialNetwork network = group.getSocialNetwork();
- final AccessLists lists = network.getAccessLists();
- lists.getEditors().setMode(GroupListMode.NOBODY);
- lists.getViewers().setMode(GroupListMode.EVERYONE);
- if (!group.getGroupType().equals(GroupType.ORPHANED_PROJECT)) {
- network.addAdmin(userGroup);
- }
- }
+ @Override
+ public SearchResult<Group> search(final String search) {
+ return this.search(search, null, null);
+ }
- @Override
- public SearchResult<Group> search(final String search) {
- return this.search(search, null, null);
+ @Override
+ public SearchResult<Group> search(final String search, final Integer firstResult,
+ final Integer maxResults) {
+ final MultiFieldQueryParser parser = new MultiFieldQueryParser(new String[] { "longName",
+ "shortName", "publicDesc" }, new StandardAnalyzer());
+ Query query;
+ try {
+ query = parser.parse(search + SearcherConstants.WILDCARD);
+ } catch (final ParseException e) {
+ throw new ServerManagerException("Error parsing search");
}
+ return super.search(query, firstResult, maxResults);
+ }
- @Override
- public SearchResult<Group> search(final String search, final Integer firstResult, final Integer maxResults) {
- final MultiFieldQueryParser parser = new MultiFieldQueryParser(new String[] { "longName", "shortName",
- "publicDesc" }, new StandardAnalyzer());
- Query query;
- try {
- query = parser.parse(search);
- } catch (final ParseException e) {
- throw new ServerManagerException("Error parsing search");
- }
- return super.search(query, firstResult, maxResults);
- }
+ @Override
+ public void setDefaultContent(final String groupShortName, final Content content) {
+ final Group group = findByShortName(groupShortName);
+ group.setDefaultContent(content);
+ }
- @Override
- public void setDefaultContent(final String groupShortName, final Content content) {
- final Group group = findByShortName(groupShortName);
- group.setDefaultContent(content);
+ @Override
+ public void setGroupBackImage(final Group group, final Content content) {
+ if (content.getMimeType().isImage()) {
+ group.setGroupBackImage(content);
+ } else {
+ throw new DefaultException("Trying to set not a image as group logo");
}
+ }
- @Override
- public void setGroupBackImage(final Group group, final Content content) {
- if (content.getMimeType().isImage()) {
- group.setGroupBackImage(content);
- } else {
- throw new DefaultException("Trying to set not a image as group logo");
- }
+ @Override
+ public void setToolEnabled(final User userLogged, final String groupShortName, final String tool,
+ final boolean enabled) {
+ final Group group = findByShortName(groupShortName);
+ ToolConfiguration toolConfiguration = group.getToolConfiguration(tool);
+ if (toolConfiguration == null) {
+ toolConfiguration = serverToolRegistry.get(tool).initGroup(userLogged, group).getToolConfiguration(
+ tool);
}
+ toolConfiguration.setEnabled(enabled);
+ }
- @Override
- public void setToolEnabled(final User userLogged, final String groupShortName, final String tool,
- final boolean enabled) {
- final Group group = findByShortName(groupShortName);
- ToolConfiguration toolConfiguration = group.getToolConfiguration(tool);
- if (toolConfiguration == null) {
- toolConfiguration = serverToolRegistry.get(tool).initGroup(userLogged, group).getToolConfiguration(tool);
- }
- toolConfiguration.setEnabled(enabled);
- }
-
}
Modified: trunk/src/main/java/cc/kune/core/shared/SearcherConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/SearcherConstants.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/core/shared/SearcherConstants.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -21,22 +21,23 @@
public final class SearcherConstants {
- public final static String START_PARAM = "start";
- public final static String LIMIT_PARAM = "limit";
- public final static String QUERY_PARAM = "query";
- public final static String MIMETYPE_PARAM = "mimetype";
- public final static String MIMETYPE2_PARAM = "mimetype2";
- public final static String GROUP_PARAM = "group";
+ public final static String CONTENT_DATA_PROXY_URL = "/ws/json/ContentJSONService/search";
+ public final static String CONTENT_TEMPLATE_TEXT_PREFIX = "<div class=\"search-item\"><span class=\"kune-IconHyperlink\"><img src=\"";
+ public final static String CONTENT_TEMPLATE_TEXT_SUFFIX = "\" style=\"height: 16px; width: 16px;\" />{shortName}: {longName}</span></div>";
+ public final static String GROUP_DATA_PROXY_URL = "/ws/json/GroupJSONService/search";
+ public final static String GROUP_PARAM = "group";
+ public final static String I18N_JSON_SERVICE = "/ws/json/I18nTranslationJSONService/search";
- public final static String GROUP_DATA_PROXY_URL = "/ws/json/GroupJSONService/search";
- public final static String USER_DATA_PROXY_URL = "/ws/json/UserJSONService/search";
- public final static String CONTENT_DATA_PROXY_URL = "/ws/json/ContentJSONService/search";
- public final static String I18N_JSON_SERVICE = "/ws/json/I18nTranslationJSONService/search";
- public final static String I18N_JSON_SERVICE_TRANSLATED = "/ws/json/I18nTranslationJSONService/searchtranslated";
+ public final static String I18N_JSON_SERVICE_TRANSLATED = "/ws/json/I18nTranslationJSONService/searchtranslated";
+ public final static String LIMIT_PARAM = "limit";
+ public final static String MIMETYPE_PARAM = "mimetype";
+ public final static String MIMETYPE2_PARAM = "mimetype2";
+ public final static String QUERY_PARAM = "query";
- public final static String CONTENT_TEMPLATE_TEXT_PREFIX = "<div class=\"search-item\"><span class=\"kune-IconHyperlink\"><img src=\"";
- public final static String CONTENT_TEMPLATE_TEXT_SUFFIX = "\" style=\"height: 16px; width: 16px;\" />{shortName}: {longName}</span></div>";
+ public final static String START_PARAM = "start";
+ public final static String USER_DATA_PROXY_URL = "/ws/json/UserJSONService/search";
+ public static final String WILDCARD = "*";
- private SearcherConstants() {
- }
+ private SearcherConstants() {
+ }
}
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-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.ui.xml 2011-05-04 20:29:42 UTC (rev 1340)
@@ -12,8 +12,8 @@
</ui:style>
<g:DockLayoutPanel ui:field="mainpanel" styleName='{res.style.mainPanel}'
unit="PX">
- <g:north size="22">
- <g:FlowPanel ui:field="sitebar" height="22px"
+ <g:north size="23">
+ <g:FlowPanel ui:field="sitebar" height="23px"
styleName='{res.style.siteBar}'>
</g:FlowPanel>
</g:north>
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -21,6 +21,8 @@
import cc.kune.blogs.client.actions.ContentViewerOptionsMenu;
import cc.kune.client.ExtendedGinModule;
+import cc.kune.core.client.sitebar.search.SitebarSearchPanel;
+import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
import cc.kune.gspace.client.actions.RenameAction;
import cc.kune.gspace.client.options.GroupOptions;
import cc.kune.gspace.client.options.GroupOptionsCollection;
@@ -82,58 +84,60 @@
public class GSpaceGinModule extends ExtendedGinModule {
- /*
- * (non-Javadoc)
- *
- * @see com.google.gwt.inject.client.AbstractGinModule#configure()
- */
- @Override
- protected void configure() {
- bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
- EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
- bindPresenter(TagsSummaryPresenter.class, TagsSummaryPresenter.TagsSummaryView.class, TagsSummaryPanel.class,
- TagsSummaryPresenter.TagsSummaryProxy.class);
- bind(GSpaceArmorImpl.class).in(Singleton.class);
- bind(GSpaceArmor.class).to(GSpaceArmorImpl.class).in(Singleton.class);
- bind(GSpaceParts.class).asEagerSingleton();
- 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(FolderViewerPresenter.class, FolderViewerPresenter.FolderViewerView.class,
- FolderViewerAsTablePanel.class, FolderViewerPresenter.FolderViewerProxy.class);
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.google.gwt.inject.client.AbstractGinModule#configure()
+ */
+ @Override
+ protected void configure() {
+ bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
+ EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
+ bindPresenter(TagsSummaryPresenter.class, TagsSummaryPresenter.TagsSummaryView.class,
+ TagsSummaryPanel.class, TagsSummaryPresenter.TagsSummaryProxy.class);
+ bind(GSpaceArmorImpl.class).in(Singleton.class);
+ bind(GSpaceArmor.class).to(GSpaceArmorImpl.class).in(Singleton.class);
+ bind(GSpaceParts.class).asEagerSingleton();
+ 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(FolderViewerPresenter.class, FolderViewerPresenter.FolderViewerView.class,
+ FolderViewerAsTablePanel.class, FolderViewerPresenter.FolderViewerProxy.class);
+ bindPresenter(SitebarSearchPresenter.class, SitebarSearchPresenter.SitebarSearchView.class,
+ SitebarSearchPanel.class, SitebarSearchPresenter.SitebarSearchProxy.class);
- s(GroupOptions.class, GroupOptionsPresenter.class);
- s(GroupOptionsView.class, GroupOptionsPanel.class);
- s(UserOptions.class, UserOptionsPresenter.class);
- s(UserOptionsView.class, UserOptionsPanel.class);
+ s(GroupOptions.class, GroupOptionsPresenter.class);
+ s(GroupOptionsView.class, GroupOptionsPanel.class);
+ s(UserOptions.class, UserOptionsPresenter.class);
+ s(UserOptionsView.class, UserOptionsPanel.class);
- s(UserOptionsCollection.class);
- s(GroupOptionsCollection.class);
+ s(UserOptionsCollection.class);
+ s(GroupOptionsCollection.class);
- s(GroupOptionsDefLicense.class, GroupOptionsDefLicensePresenter.class);
- s(GroupOptionsDefLicenseView.class, GroupOptionsDefLicensePanel.class);
- s(GroupOptionsPublicSpaceConf.class, GroupOptionsPublicSpaceConfPresenter.class);
- s(GroupOptionsPublicSpaceConfView.class, GroupOptionsPublicSpaceConfPanel.class);
- s(GroupOptionsLogo.class, GroupOptionsLogoPresenter.class);
- s(GroupOptionsLogoView.class, GroupOptionsLogoPanel.class);
- s(GroupOptionsToolsConf.class, GroupOptionsToolsConfPresenter.class);
- s(GroupOptionsToolsConfView.class, GroupOptionsToolsConfPanel.class);
+ s(GroupOptionsDefLicense.class, GroupOptionsDefLicensePresenter.class);
+ s(GroupOptionsDefLicenseView.class, GroupOptionsDefLicensePanel.class);
+ s(GroupOptionsPublicSpaceConf.class, GroupOptionsPublicSpaceConfPresenter.class);
+ s(GroupOptionsPublicSpaceConfView.class, GroupOptionsPublicSpaceConfPanel.class);
+ s(GroupOptionsLogo.class, GroupOptionsLogoPresenter.class);
+ s(GroupOptionsLogoView.class, GroupOptionsLogoPanel.class);
+ s(GroupOptionsToolsConf.class, GroupOptionsToolsConfPresenter.class);
+ s(GroupOptionsToolsConfView.class, GroupOptionsToolsConfPanel.class);
- s(UserOptionsDefLicense.class, UserOptionsDefLicensePresenter.class);
- s(UserOptionsDefLicenseView.class, UserOptionsDefLicensePanel.class);
- s(UserOptionsPublicSpaceConf.class, UserOptionsPublicSpaceConfPresenter.class);
- s(UserOptionsPublicSpaceConfView.class, UserOptionsPublicSpaceConfPanel.class);
- s(UserOptionsLogo.class, UserOptionsLogoPresenter.class);
- s(UserOptionsLogoView.class, UserOptionsLogoPanel.class);
- s(UserOptionsToolsConf.class, UserOptionsToolsConfPresenter.class);
- s(UserOptionsToolsConfView.class, UserOptionsToolsConfPanel.class);
+ s(UserOptionsDefLicense.class, UserOptionsDefLicensePresenter.class);
+ s(UserOptionsDefLicenseView.class, UserOptionsDefLicensePanel.class);
+ s(UserOptionsPublicSpaceConf.class, UserOptionsPublicSpaceConfPresenter.class);
+ s(UserOptionsPublicSpaceConfView.class, UserOptionsPublicSpaceConfPanel.class);
+ s(UserOptionsLogo.class, UserOptionsLogoPresenter.class);
+ s(UserOptionsLogoView.class, UserOptionsLogoPanel.class);
+ s(UserOptionsToolsConf.class, UserOptionsToolsConfPresenter.class);
+ s(UserOptionsToolsConfView.class, UserOptionsToolsConfPanel.class);
- s(GSpaceBackManager.class, GSpaceBackManagerImpl.class);
+ s(GSpaceBackManager.class, GSpaceBackManagerImpl.class);
- // Actions
- s(ContentViewerOptionsMenu.class);
- s(RenameAction.class);
- }
+ // Actions
+ s(ContentViewerOptionsMenu.class);
+ s(RenameAction.class);
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -1,5 +1,6 @@
package cc.kune.gspace.client;
+import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
import cc.kune.gspace.client.tags.TagsSummaryPresenter;
import cc.kune.gspace.client.tool.ContentViewerSelector;
import cc.kune.gspace.client.tool.selector.ToolSelectorPresenter;
@@ -12,17 +13,19 @@
public interface GSpaceGinjector extends Ginjector {
- ContentViewerSelector getContentViewerSelector();
+ ContentViewerSelector getContentViewerSelector();
- AsyncProvider<DocViewerPresenter> getDocsViewerPresenter();
+ AsyncProvider<DocViewerPresenter> getDocsViewerPresenter();
- AsyncProvider<EntityLicensePresenter> getEntityLicensePresenter();
+ AsyncProvider<EntityLicensePresenter> getEntityLicensePresenter();
- AsyncProvider<FolderViewerPresenter> getFolderViewerPresenter();
+ AsyncProvider<FolderViewerPresenter> getFolderViewerPresenter();
- GSpaceParts getGSpaceParts();
+ GSpaceParts getGSpaceParts();
- AsyncProvider<TagsSummaryPresenter> getTagsSummaryPresenter();
+ AsyncProvider<SitebarSearchPresenter> getSitebarSearchPresenter();
- AsyncProvider<ToolSelectorPresenter> getToolSelectorPresenter();
+ AsyncProvider<TagsSummaryPresenter> getTagsSummaryPresenter();
+
+ AsyncProvider<ToolSelectorPresenter> getToolSelectorPresenter();
}
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -2,6 +2,7 @@
import cc.kune.core.client.init.AppStartEvent;
import cc.kune.core.client.init.AppStartEvent.AppStartHandler;
+import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
import cc.kune.core.client.state.Session;
import cc.kune.gspace.client.options.GroupOptions;
import cc.kune.gspace.client.options.GroupOptionsCollection;
@@ -26,50 +27,52 @@
public class GSpaceParts {
- @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<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<GroupOptionsPanel> gop,
- // , final Provider<UserOptionsPanel> uop,
- // final Provider<GroupOptionsPublicSpaceConfPanel> gpsp,
- // final Provider<GroupOptionsDefLicensePanel> gdlp,
- // final Provider<GroupOptionsLogoPanel> glp,
- // final Provider<GroupOptionsToolsConfPanel> gtcp,
- // final Provider<UserOptionsLogoPanel> ulp,
- // final Provider<UserOptionsDefLicensePanel> udlp,
- // final Provider<UserOptionsPublicSpaceConfPanel> upsp,
- // final Provider<UserOptionsToolsConfPanel> utcp
+ @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<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,
+ // final Provider<GroupOptionsDefLicensePanel> gdlp,
+ // final Provider<GroupOptionsLogoPanel> glp,
+ // final Provider<GroupOptionsToolsConfPanel> gtcp,
+ // final Provider<UserOptionsLogoPanel> ulp,
+ // final Provider<UserOptionsDefLicensePanel> udlp,
+ // final Provider<UserOptionsPublicSpaceConfPanel> upsp,
+ // final Provider<UserOptionsToolsConfPanel> utcp
- session.onAppStart(true, new AppStartHandler() {
- @Override
- public void onAppStart(final AppStartEvent event) {
- licenseFooter.get();
- tagsPresenter.get();
- toolSelector.get();
- docsViewer.get();
- folderViewer.get();
+ session.onAppStart(true, new AppStartHandler() {
+ @Override
+ public void onAppStart(final AppStartEvent event) {
+ licenseFooter.get();
+ tagsPresenter.get();
+ toolSelector.get();
+ docsViewer.get();
+ folderViewer.get();
+ siteSearch.get();
- // Add User & Groups Options
- goc.get().add(gtc);
- goc.get().add(gl);
- goc.get().add(gps);
- goc.get().add(gdl);
- uoc.get().add(utc);
- uoc.get().add(ul);
- uoc.get().add(ups);
- uoc.get().add(udl);
+ // Add User & Groups Options
+ goc.get().add(gtc);
+ goc.get().add(gl);
+ goc.get().add(gps);
+ goc.get().add(gdl);
+ uoc.get().add(utc);
+ uoc.get().add(ul);
+ uoc.get().add(ups);
+ uoc.get().add(udl);
- // Init
- go.get();
- uo.get();
- }
- });
- }
+ // Init
+ go.get();
+ uo.get();
+ }
+ });
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -24,7 +24,7 @@
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
-import cc.kune.core.client.resources.icons.IconResources;
+import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.state.StateChangedEvent;
import cc.kune.core.client.state.StateChangedEvent.StateChangedHandler;
import cc.kune.core.client.state.StateManager;
@@ -34,51 +34,51 @@
import com.google.inject.Inject;
public class GroupOptionsPresenter extends AbstractTabbedDialogPresenter implements GroupOptions {
- public static final String GROUP_OPTIONS_ICON = "k-eop-icon";
- private final I18nTranslationService i18n;
- private final IconResources img;
- private ButtonDescriptor prefsItem;
- private GroupOptionsView view;
+ public static final String GROUP_OPTIONS_ICON = "k-eop-icon";
+ private final I18nTranslationService i18n;
+ private final CoreResources img;
+ private ButtonDescriptor prefsItem;
+ private GroupOptionsView view;
- @Inject
- public GroupOptionsPresenter(final StateManager stateManager, final I18nTranslationService i18n,
- final IconResources img, final GroupOptionsView view) {
- this.i18n = i18n;
- this.img = img;
- stateManager.onStateChanged(true, new StateChangedHandler() {
- @Override
- public void onStateChanged(final StateChangedEvent event) {
- final StateAbstractDTO state = event.getState();
- if (!state.getGroup().isPersonal() && state.getGroupRights().isAdministrable()) {
- prefsItem.setVisible(true);
- } else {
- view.hide();
- prefsItem.setVisible(false);
- }
- }
- });
- init(view);
- }
+ @Inject
+ public GroupOptionsPresenter(final StateManager stateManager, final I18nTranslationService i18n,
+ final CoreResources img, final GroupOptionsView view) {
+ this.i18n = i18n;
+ this.img = img;
+ stateManager.onStateChanged(true, new StateChangedHandler() {
+ @Override
+ public void onStateChanged(final StateChangedEvent event) {
+ final StateAbstractDTO state = event.getState();
+ if (!state.getGroup().isPersonal() && state.getGroupRights().isAdministrable()) {
+ prefsItem.setVisible(true);
+ } else {
+ view.hide();
+ prefsItem.setVisible(false);
+ }
+ }
+ });
+ init(view);
+ }
- private void createActions() {
- final AbstractExtendedAction groupPrefsAction = new AbstractExtendedAction() {
- @Override
- public void actionPerformed(final ActionEvent event) {
- show();
- }
- };
- groupPrefsAction.putValue(Action.NAME, i18n.t("Group options"));
- groupPrefsAction.putValue(Action.SMALL_ICON, img.prefs());
- prefsItem = new ButtonDescriptor(groupPrefsAction);
- prefsItem.withStyles("k-ent-header-btn");
- prefsItem.setId(GROUP_OPTIONS_ICON);
- prefsItem.setVisible(false);
- view.addAction(prefsItem);
- }
+ private void createActions() {
+ final AbstractExtendedAction groupPrefsAction = new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ show();
+ }
+ };
+ groupPrefsAction.putValue(Action.NAME, i18n.t("Group options"));
+ groupPrefsAction.putValue(Action.SMALL_ICON, img.prefs());
+ prefsItem = new ButtonDescriptor(groupPrefsAction);
+ prefsItem.withStyles("k-ent-header-btn");
+ prefsItem.setId(GROUP_OPTIONS_ICON);
+ prefsItem.setVisible(false);
+ view.addAction(prefsItem);
+ }
- private void init(final GroupOptionsView view) {
- super.init(view);
- this.view = view;
- createActions();
- }
+ private void init(final GroupOptionsView view) {
+ super.init(view);
+ this.view = view;
+ createActions();
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -24,7 +24,7 @@
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
-import cc.kune.core.client.resources.icons.IconResources;
+import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.sitebar.SiteUserOptions;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
@@ -36,52 +36,52 @@
public class UserOptionsPresenter extends AbstractTabbedDialogPresenter implements UserOptions {
- private final I18nTranslationService i18n;
- private final IconResources img;
- private final Session session;
- private final StateManager stateManager;
- private final SiteUserOptions userOptions;
- private UserOptionsView view;
+ private final I18nTranslationService i18n;
+ private final CoreResources res;
+ private final Session session;
+ private final StateManager stateManager;
+ private final SiteUserOptions userOptions;
+ private UserOptionsView view;
- @Inject
- public UserOptionsPresenter(final Session session, final StateManager stateManager,
- final I18nTranslationService i18n, final IconResources img, final SiteUserOptions userOptions,
- final UserOptionsView view) {
- this.session = session;
- this.stateManager = stateManager;
- this.i18n = i18n;
- this.img = img;
- this.userOptions = userOptions;
- session.onUserSignIn(false, new UserSignInHandler() {
- @Override
- public void onUserSignIn(final UserSignInEvent event) {
- view.hide();
- }
- });
- init(view);
- }
+ @Inject
+ public UserOptionsPresenter(final Session session, final StateManager stateManager,
+ final I18nTranslationService i18n, final CoreResources res, final SiteUserOptions userOptions,
+ final UserOptionsView view) {
+ this.session = session;
+ this.stateManager = stateManager;
+ this.i18n = i18n;
+ this.res = res;
+ this.userOptions = userOptions;
+ session.onUserSignIn(false, new UserSignInHandler() {
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ view.hide();
+ }
+ });
+ init(view);
+ }
- private void createActions() {
- final AbstractExtendedAction userPrefsAction = new AbstractExtendedAction() {
+ private void createActions() {
+ final AbstractExtendedAction userPrefsAction = new AbstractExtendedAction() {
- @Override
- public void actionPerformed(final ActionEvent event) {
- if (!session.isInCurrentUserSpace()) {
- stateManager.gotoStateToken(session.getCurrentUser().getStateToken());
- }
- show();
- }
- };
- userPrefsAction.putValue(Action.NAME, i18n.t("Your preferences"));
- userPrefsAction.putValue(Action.SMALL_ICON, img.prefs());
- final MenuItemDescriptor prefsItem = new MenuItemDescriptor(userPrefsAction);
- prefsItem.setPosition(1);
- userOptions.addAction(prefsItem);
- }
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ if (!session.isInCurrentUserSpace()) {
+ stateManager.gotoStateToken(session.getCurrentUser().getStateToken());
+ }
+ show();
+ }
+ };
+ userPrefsAction.putValue(Action.NAME, i18n.t("Your preferences"));
+ userPrefsAction.putValue(Action.SMALL_ICON, res.prefs());
+ final MenuItemDescriptor prefsItem = new MenuItemDescriptor(userPrefsAction);
+ prefsItem.setPosition(1);
+ userOptions.addAction(prefsItem);
+ }
- private void init(final UserOptionsView view) {
- super.init(view);
- this.view = view;
- createActions();
- }
+ private void init(final UserOptionsView view) {
+ super.init(view);
+ this.view = view;
+ createActions();
+ }
}
Modified: trunk/src/main/java/cc/kune/pspace/client/PSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/pspace/client/PSpaceGinModule.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/cc/kune/pspace/client/PSpaceGinModule.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -23,16 +23,16 @@
public class PSpaceGinModule extends AbstractPresenterModule {
- /*
- * (non-Javadoc)
- *
- * @see com.google.gwt.inject.client.AbstractGinModule#configure()
- */
- @Override
- protected void configure() {
- bindPresenter(PSpacePresenter.class, PSpacePresenter.PSpaceView.class, PSpacePanel.class,
- PSpacePresenter.PSpaceProxy.class);
- bind(PSpaceParts.class).asEagerSingleton();
- }
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.google.gwt.inject.client.AbstractGinModule#configure()
+ */
+ @Override
+ protected void configure() {
+ bindPresenter(PSpacePresenter.class, PSpacePresenter.PSpaceView.class, PSpacePanel.class,
+ PSpacePresenter.PSpaceProxy.class);
+ bind(PSpaceParts.class).asEagerSingleton();
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/AbstractGuiItem.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -25,7 +25,7 @@
import org.ourproject.kune.platf.client.actions.PropertyChangeEvent;
import org.ourproject.kune.platf.client.actions.PropertyChangeListener;
-import cc.kune.core.client.resources.icons.IconConstants;
+import cc.kune.core.client.resources.IconConstants;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.ui.Composite;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/basic/RTEditorPresenter.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -61,7 +61,7 @@
import org.ourproject.kune.platf.client.ui.rte.inserttable.InsertTableDialog;
import cc.kune.common.client.utils.SchedulerManager;
-import cc.kune.core.client.resources.icons.IconConstants;
+import cc.kune.core.client.resources.IconConstants;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java 2011-05-04 15:18:43 UTC (rev 1339)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/oldsn/other/AddAsBuddieHeaderButton.java 2011-05-04 20:29:42 UTC (rev 1340)
@@ -30,7 +30,7 @@
import org.ourproject.kune.platf.client.ui.noti.OldNotifyUser;
import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
-import cc.kune.core.client.resources.icons.IconConstants;
+import cc.kune.core.client.resources.IconConstants;
import cc.kune.core.client.resources.icons.IconResources;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
1
0
r1339 - in trunk/src/main/java: cc/kune/core/client/sitebar cc/kune/core/client/sitebar/search org/ourproject/kune/workspace/client/sitebar/sitesearch
by Vicente J. Ruiz Jurado 04 May '11
by Vicente J. Ruiz Jurado 04 May '11
04 May '11
Author: vjrj_
Date: 2011-05-04 17:18:43 +0200 (Wed, 04 May 2011)
New Revision: 1339
Added:
trunk/src/main/java/cc/kune/core/client/sitebar/search/
trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearch.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPanel.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchView.java
Removed:
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearch.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java
Log:
site search work in progress
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearch.java (from rev 1333, trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearch.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearch.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearch.java 2011-05-04 15:18:43 UTC (rev 1339)
@@ -0,0 +1,24 @@
+/*
+ *
+ * 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.client.sitebar.search;
+
+public interface SiteSearch {
+
+}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPanel.java (from rev 1333, trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPanel.java 2011-05-04 15:18:43 UTC (rev 1339)
@@ -0,0 +1,125 @@
+/*
+ *
+ * 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.client.sitebar.search;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.gspace.client.GSpaceArmor;
+
+import com.google.gwt.event.dom.client.BlurEvent;
+import com.google.gwt.event.dom.client.BlurHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.FocusEvent;
+import com.google.gwt.event.dom.client.FocusHandler;
+import com.google.gwt.event.dom.client.KeyCodes;
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.PushButton;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.inject.Inject;
+
+public class SiteSearchPanel implements SiteSearchView {
+ private static final int SEARCH_TEXT_HEIGHT = 15;
+ private static final int SEARCH_TEXT_WIDTH_BIG = 180;
+ private static final int SEARCH_TEXT_WIDTH_SMALL = 120;
+ public static final String SITE_SEARCH_BUTTON = "kune-ssp-searchbt";
+ public static final String SITE_SEARCH_TEXTBOX = "kune-ssp-tbox";
+
+ private final PushButton searchButton;
+ private final TextBox searchTextBox;
+
+ @Inject
+ public SiteSearchPanel(final SiteSearchPresenter presenter, final GSpaceArmor gs, final CoreResources img) {
+ searchButton = new PushButton(new Image(img.kuneSearchIco()), new Image(img.kuneSearchIcoPush()));
+ searchButton.ensureDebugId(SITE_SEARCH_BUTTON);
+ searchTextBox = new TextBox();
+ searchTextBox.ensureDebugId(SITE_SEARCH_TEXTBOX);
+
+ gs.getSitebar().add(searchButton);
+ gs.getSitebar().add(searchTextBox);
+
+ setTextSearchSmallImpl();
+ searchTextBox.addBlurHandler(new BlurHandler() {
+ @Override
+ public void onBlur(final BlurEvent event) {
+ presenter.onSearchLostFocus(searchTextBox.getText());
+ }
+ });
+ searchTextBox.addFocusHandler(new FocusHandler() {
+ @Override
+ public void onFocus(final FocusEvent event) {
+ presenter.onSearchFocus();
+ }
+ });
+ searchButton.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ NotifyUser.showProgressProcessing();
+ presenter.doSearch(searchTextBox.getText());
+ }
+ });
+ searchTextBox.addKeyUpHandler(new KeyUpHandler() {
+ @Override
+ public void onKeyUp(final KeyUpEvent event) {
+ if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
+ if (searchTextBox.getText().length() > 0) {
+ NotifyUser.showProgressProcessing();
+ presenter.doSearch(searchTextBox.getText());
+ }
+ }
+ }
+ });
+ }
+
+ @Override
+ public void clearSearchText() {
+ searchTextBox.setText("");
+ }
+
+ @Override
+ public void selectSearchText() {
+ searchTextBox.selectAll();
+ }
+
+ public void setSearchText(final String text) {
+ searchTextBox.setText(text);
+ }
+
+ @Override
+ public void setTextSearch(final String text) {
+ searchTextBox.setText(text);
+ }
+
+ @Override
+ public void setTextSearchBig() {
+ searchTextBox.setPixelSize(SEARCH_TEXT_WIDTH_BIG, 15);
+ }
+
+ @Override
+ public void setTextSearchSmall() {
+ setTextSearchSmallImpl();
+ }
+
+ private void setTextSearchSmallImpl() {
+ searchTextBox.setPixelSize(SEARCH_TEXT_WIDTH_SMALL, SEARCH_TEXT_HEIGHT);
+ }
+}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPresenter.java (from rev 1333, trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchPresenter.java 2011-05-04 15:18:43 UTC (rev 1339)
@@ -0,0 +1,63 @@
+/*
+ *
+ * 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.client.sitebar.search;
+
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+
+public class SiteSearchPresenter implements SiteSearch {
+
+ private final String defaultSearchText;
+ private SiteSearchView view;
+
+ @Inject
+ public SiteSearchPresenter(final I18nTranslationService i18n) {
+ defaultSearchText = i18n.t("Search");
+ }
+
+ public void doSearch(final String termToSearch) {
+ // provider.get().doSearch(termToSearch);
+ view.setTextSearchSmall();
+ }
+
+ public void init(final SiteSearchView view) {
+ this.view = view;
+ setDefText();
+ }
+
+ public void onSearchFocus() {
+ view.setTextSearchBig();
+ view.selectSearchText();
+ }
+
+ public void onSearchLostFocus(final String search) {
+ if (search.length() == 0 || search.equals(defaultSearchText)) {
+ view.setTextSearchSmall();
+ }
+ if (search.length() == 0) {
+ setDefText();
+ }
+ }
+
+ private void setDefText() {
+ view.setTextSearch(defaultSearchText);
+ }
+}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchView.java (from rev 1333, trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchView.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/search/SiteSearchView.java 2011-05-04 15:18:43 UTC (rev 1339)
@@ -0,0 +1,33 @@
+/*
+ *
+ * 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.client.sitebar.search;
+
+public interface SiteSearchView {
+
+ void clearSearchText();
+
+ void selectSearchText();
+
+ void setTextSearch(String text);
+
+ void setTextSearchBig();
+
+ void setTextSearchSmall();
+}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearch.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearch.java 2011-05-03 17:09:08 UTC (rev 1338)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearch.java 2011-05-04 15:18:43 UTC (rev 1339)
@@ -1,24 +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.workspace.client.sitebar.sitesearch;
-
-public interface SiteSearch {
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java 2011-05-03 17:09:08 UTC (rev 1338)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java 2011-05-04 15:18:43 UTC (rev 1339)
@@ -1,118 +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.workspace.client.sitebar.sitesearch;
-
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.AbstractToolbar;
-import org.ourproject.kune.platf.client.ui.noti.OldNotifyUser;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.google.gwt.event.dom.client.BlurEvent;
-import com.google.gwt.event.dom.client.BlurHandler;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.FocusEvent;
-import com.google.gwt.event.dom.client.FocusHandler;
-import com.google.gwt.event.dom.client.KeyCodes;
-import com.google.gwt.event.dom.client.KeyUpEvent;
-import com.google.gwt.event.dom.client.KeyUpHandler;
-import com.google.gwt.user.client.ui.PushButton;
-import com.google.gwt.user.client.ui.TextBox;
-
-public class SiteSearchPanel implements SiteSearchView {
- private static final int SEARCH_TEXT_HEIGHT = 15;
- private static final int SEARCH_TEXT_WIDTH_SMALL = 120;
- private static final int SEARCH_TEXT_WIDTH_BIG = 180;
- public static final String SITE_SEARCH_BUTTON = "kune-ssp-searchbt";
- public static final String SITE_SEARCH_TEXTBOX = "kune-ssp-tbox";
-
- private final PushButton searchButton;
- private final TextBox searchTextBox;
- private final AbstractToolbar siteBar;
-
- public SiteSearchPanel(final SiteSearchPresenter presenter, final WorkspaceSkeleton ws, final Images img) {
- siteBar = ws.getSiteBar();
- siteBar.addSpacer();
- searchButton = new PushButton(img.kuneSearchIco().createImage(), img.kuneSearchIcoPush().createImage());
- searchButton.ensureDebugId(SITE_SEARCH_BUTTON);
- searchTextBox = new TextBox();
- searchTextBox.ensureDebugId(SITE_SEARCH_TEXTBOX);
-
- siteBar.add(searchButton);
- siteBar.addSpacer();
- siteBar.add(searchTextBox);
-
- setTextSearchSmallImpl();
- searchTextBox.addBlurHandler(new BlurHandler() {
- public void onBlur(final BlurEvent event) {
- presenter.onSearchLostFocus(searchTextBox.getText());
- }
- });
- searchTextBox.addFocusHandler(new FocusHandler() {
- public void onFocus(final FocusEvent event) {
- presenter.onSearchFocus();
- }
- });
- searchButton.addClickHandler(new ClickHandler() {
- public void onClick(final ClickEvent event) {
- OldNotifyUser.showProgressProcessing();
- presenter.doSearch(searchTextBox.getText());
- }
- });
- searchTextBox.addKeyUpHandler(new KeyUpHandler() {
- public void onKeyUp(final KeyUpEvent event) {
- if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
- if (searchTextBox.getText().length() > 0) {
- OldNotifyUser.showProgressProcessing();
- presenter.doSearch(searchTextBox.getText());
- }
- }
- }
- });
- }
-
- public void clearSearchText() {
- searchTextBox.setText("");
- }
-
- public void selectSearchText() {
- searchTextBox.selectAll();
- }
-
- public void setSearchText(final String text) {
- searchTextBox.setText(text);
- }
-
- public void setTextSearch(final String text) {
- searchTextBox.setText(text);
- }
-
- public void setTextSearchBig() {
- searchTextBox.setPixelSize(SEARCH_TEXT_WIDTH_BIG, 15);
- }
-
- public void setTextSearchSmall() {
- setTextSearchSmallImpl();
- }
-
- private void setTextSearchSmallImpl() {
- searchTextBox.setPixelSize(SEARCH_TEXT_WIDTH_SMALL, SEARCH_TEXT_HEIGHT);
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java 2011-05-03 17:09:08 UTC (rev 1338)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java 2011-05-04 15:18:43 UTC (rev 1339)
@@ -1,71 +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.workspace.client.sitebar.sitesearch;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.workspace.client.search.SiteSearcher;
-
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.calclab.suco.client.ioc.Provider;
-
-public class SiteSearchPresenter implements SiteSearch {
-
- private SiteSearchView view;
- private final Provider<SiteSearcher> provider;
- private final String defaultSearchText;
-
- public SiteSearchPresenter(final Provider<SiteSearcher> provider, I18nTranslationService i18n) {
- this.provider = provider;
- defaultSearchText = i18n.t("Search");
- }
-
- public void doSearch(final String termToSearch) {
- provider.get().doSearch(termToSearch);
- view.setTextSearchSmall();
- }
-
- public View getView() {
- return view;
- }
-
- public void init(final SiteSearchView view) {
- this.view = view;
- setDefText();
- }
-
- public void onSearchFocus() {
- view.setTextSearchBig();
- view.selectSearchText();
- }
-
- public void onSearchLostFocus(final String search) {
- if (search.length() == 0 || search.equals(defaultSearchText)) {
- view.setTextSearchSmall();
- }
- if (search.length() == 0) {
- setDefText();
- }
- }
-
- private void setDefText() {
- view.setTextSearch(defaultSearchText);
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java 2011-05-03 17:09:08 UTC (rev 1338)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java 2011-05-04 15:18:43 UTC (rev 1339)
@@ -1,35 +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.workspace.client.sitebar.sitesearch;
-
-import org.ourproject.kune.platf.client.View;
-
-public interface SiteSearchView extends View {
-
- void clearSearchText();
-
- void selectSearchText();
-
- void setTextSearch(String text);
-
- void setTextSearchBig();
-
- void setTextSearchSmall();
-}
1
0
r1338 - in trunk/src/main/java/cc/kune: core/client/sitebar core/server/content gspace/client/viewers wave/client
by Vicente J. Ruiz Jurado 03 May '11
by Vicente J. Ruiz Jurado 03 May '11
03 May '11
Author: vjrj_
Date: 2011-05-03 19:09:08 +0200 (Tue, 03 May 2011)
New Revision: 1338
Modified:
trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java
trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.ui.xml
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java
trunk/src/main/java/cc/kune/wave/client/WebClient.java
Log:
Minor changes in Wave editor and minor fixes
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java 2011-05-03 13:30:14 UTC (rev 1337)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java 2011-05-03 17:09:08 UTC (rev 1338)
@@ -14,6 +14,7 @@
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.InlineLabel;
+import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
@@ -29,6 +30,8 @@
private final BasicTopDialog dialog;
@UiField
VerticalPanel panel;
+ @UiField
+ ScrollPanel scroll;
@Inject
public ErrorsDialog(final I18nTranslationService i18n, final EventBus eventBus) {
@@ -40,6 +43,8 @@
i18n.t("Please copy/paste this info to report problems"));
dialog.getInnerPanel().add(subTitle);
dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
+ scroll.setHeight("400px");
+ scroll.setAlwaysShowScrollBars(true);
dialog.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.ui.xml 2011-05-03 13:30:14 UTC (rev 1337)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.ui.xml 2011-05-03 17:09:08 UTC (rev 1338)
@@ -4,11 +4,11 @@
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:style>
.panel {
- background-color: #F2F2F2;
+ background-color: #F2F2F2;
}
</ui:style>
-<g:ScrollPanel>
- <g:VerticalPanel styleName="{style.panel}" ui:field="panel">
- </g:VerticalPanel>
-</g:ScrollPanel>
+ <g:ScrollPanel ui:field="scroll">
+ <g:VerticalPanel styleName="{style.panel}" ui:field="panel">
+ </g:VerticalPanel>
+ </g:ScrollPanel>
</ui:UiBinder>
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-03 13:30:14 UTC (rev 1337)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-05-03 17:09:08 UTC (rev 1338)
@@ -65,256 +65,266 @@
@Singleton
public class ContentManagerDefault extends DefaultManager<Content, Long> implements ContentManager {
- private final ContainerFinder containerFinder;
- private final ContentFinder contentFinder;
- private final FinderService finder;
- private final KuneWaveManager kuneWaveManager;
- private final I18nLanguageFinder languageFinder;
- private final ParticipantUtils participantUtils;
- private final TagUserContentManager tagManager;
- private final UserFinder userFinder;
+ private final ContainerFinder containerFinder;
+ private final ContentFinder contentFinder;
+ private final FinderService finder;
+ private final KuneWaveManager kuneWaveManager;
+ private final I18nLanguageFinder languageFinder;
+ private final ParticipantUtils participantUtils;
+ private final TagUserContentManager tagManager;
+ private final UserFinder userFinder;
- @Inject
- public ContentManagerDefault(final ContentFinder contentFinder, final ContainerFinder containerFinder,
- final Provider<EntityManager> provider, final FinderService finder, final UserFinder userFinder,
- final I18nLanguageFinder languageFinder, final TagUserContentManager tagManager,
- final KuneWaveManager kuneWaveManager, final ParticipantUtils participantUtils) {
- super(provider, Content.class);
- this.contentFinder = contentFinder;
- this.containerFinder = containerFinder;
- this.finder = finder;
- this.userFinder = userFinder;
- this.languageFinder = languageFinder;
- this.tagManager = tagManager;
- this.kuneWaveManager = kuneWaveManager;
- this.participantUtils = participantUtils;
- }
+ @Inject
+ public ContentManagerDefault(final ContentFinder contentFinder, final ContainerFinder containerFinder,
+ final Provider<EntityManager> provider, final FinderService finder, final UserFinder userFinder,
+ final I18nLanguageFinder languageFinder, final TagUserContentManager tagManager,
+ final KuneWaveManager kuneWaveManager, final ParticipantUtils participantUtils) {
+ super(provider, Content.class);
+ this.contentFinder = contentFinder;
+ this.containerFinder = containerFinder;
+ this.finder = finder;
+ this.userFinder = userFinder;
+ this.languageFinder = languageFinder;
+ this.tagManager = tagManager;
+ this.kuneWaveManager = kuneWaveManager;
+ this.participantUtils = participantUtils;
+ }
- @Override
- public void addAuthor(final User user, final Long contentId, final String authorShortName) throws DefaultException {
- final Content content = finder.getContent(contentId);
- final User author = userFinder.getByShortName(authorShortName);
- if (author == null) {
- throw new UserNotFoundException();
- }
- content.addAuthor(author);
+ @Override
+ public void addAuthor(final User user, final Long contentId, final String authorShortName)
+ throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ final User author = userFinder.getByShortName(authorShortName);
+ if (author == null) {
+ throw new UserNotFoundException();
}
+ content.addAuthor(author);
+ }
- @Override
- public void addParticipant(final User user, final Long contentId, final String participant) {
- final Content content = finder.getContent(contentId);
- if (content.isWave()) {
- kuneWaveManager.addParticipant(getWaveRef(content), content.getAuthors().get(0).getShortName(),
- user.getShortName(), participant);
- }
+ @Override
+ public void addParticipant(final User user, final Long contentId, final String participant) {
+ final Content content = finder.getContent(contentId);
+ if (content.isWave()) {
+ kuneWaveManager.addParticipant(getWaveRef(content), content.getAuthors().get(0).getShortName(),
+ user.getShortName(), participant);
}
+ }
- @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();
- newContent.addAuthor(author);
- newContent.setLanguage(author.getLanguage());
- newContent.setTypeId(typeId);
- container.addContent(newContent);
- newContent.setContainer(container);
- final Revision revision = new Revision(newContent);
- revision.setTitle(newtitle);
- // Duplicate in StateServiceDefault
- if (newContent.isWave()) {
- final WaveRef waveRef = kuneWaveManager.createWave(title, body, participantUtils.of(author.getShortName()));
- contentBody = JavaWaverefEncoder.encodeToUriPathSegment(waveRef);
- } else {
- contentBody = body;
- }
- revision.setBody(contentBody);
- newContent.addRevision(revision);
- return persist(newContent);
+ @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();
+ newContent.addAuthor(author);
+ newContent.setLanguage(author.getLanguage());
+ newContent.setTypeId(typeId);
+ container.addContent(newContent);
+ newContent.setContainer(container);
+ final Revision revision = new Revision(newContent);
+ revision.setTitle(newtitle);
+ // Duplicate in StateServiceDefault
+ if (newContent.isWave()) {
+ final WaveRef waveRef = kuneWaveManager.createWave(newtitle, body,
+ participantUtils.of(author.getShortName()));
+ contentBody = JavaWaverefEncoder.encodeToUriPathSegment(waveRef);
+ } else {
+ contentBody = body;
}
+ revision.setBody(contentBody);
+ newContent.addRevision(revision);
+ return persist(newContent);
+ }
- private MultiFieldQueryParser createMultiFieldParser() {
- final MultiFieldQueryParser parser = new MultiFieldQueryParser(DEF_GLOBAL_SEARCH_FIELDS, new StandardAnalyzer());
- return parser;
- }
+ private MultiFieldQueryParser createMultiFieldParser() {
+ final MultiFieldQueryParser parser = new MultiFieldQueryParser(DEF_GLOBAL_SEARCH_FIELDS,
+ new StandardAnalyzer());
+ return parser;
+ }
- @Override
- public boolean findIfExistsTitle(final Container container, final String title) {
- return (contentFinder.findIfExistsTitle(container, title) > 0)
- || (containerFinder.findIfExistsTitle(container, title) > 0);
- }
+ @Override
+ public boolean findIfExistsTitle(final Container container, final String title) {
+ return (contentFinder.findIfExistsTitle(container, title) > 0)
+ || (containerFinder.findIfExistsTitle(container, title) > 0);
+ }
- private String findInexistentTitle(final Container container, final String title) {
- String initialTitle = String.valueOf(title);
- while (findIfExistsTitle(container, initialTitle)) {
- initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
- }
- return initialTitle;
+ private String findInexistentTitle(final Container container, final String title) {
+ String initialTitle = String.valueOf(title);
+ while (findIfExistsTitle(container, initialTitle)) {
+ initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
}
+ return initialTitle;
+ }
- @Override
- public Double getRateAvg(final Content content) {
- return finder.getRateAvg(content);
- }
+ @Override
+ public Double getRateAvg(final Content content) {
+ return finder.getRateAvg(content);
+ }
- @Override
- public Long getRateByUsers(final Content content) {
- return finder.getRateByUsers(content);
- }
+ @Override
+ public Long getRateByUsers(final Content content) {
+ return finder.getRateByUsers(content);
+ }
- @Override
- public Double getRateContent(final User rater, final Content content) {
- final Rate rate = finder.getRate(rater, content);
- if (rate != null) {
- return rate.getValue();
- } else {
- return null;
- }
+ @Override
+ public Double getRateContent(final User rater, final Content content) {
+ final Rate rate = finder.getRate(rater, content);
+ if (rate != null) {
+ return rate.getValue();
+ } else {
+ return null;
}
+ }
- private WaveRef getWaveRef(final Content content) {
- try {
- return JavaWaverefEncoder.decodeWaveRefFromPath(String.valueOf(content.getLastRevision().getBody()));
- } catch (final InvalidWaveRefException e) {
- throw new DefaultException("Error getting the wave");
- }
+ private WaveRef getWaveRef(final Content content) {
+ try {
+ return JavaWaverefEncoder.decodeWaveRefFromPath(String.valueOf(content.getLastRevision().getBody()));
+ } catch (final InvalidWaveRefException e) {
+ throw new DefaultException("Error getting the wave");
}
+ }
- @Override
- public RateResult rateContent(final User rater, final Long contentId, final Double value) throws DefaultException {
- final Content content = finder.getContent(contentId);
- final Rate oldRate = finder.getRate(rater, content);
- if (oldRate == null) {
- final Rate rate = new Rate(rater, content, value);
- super.persist(rate, Rate.class);
- } else {
- oldRate.setValue(value);
- super.persist(oldRate, Rate.class);
- }
- final Double rateAvg = getRateAvg(content);
- final Long rateByUsers = getRateByUsers(content);
- return new RateResult(rateAvg != null ? rateAvg : 0D, rateByUsers != null ? rateByUsers.intValue() : 0, value);
+ @Override
+ public RateResult rateContent(final User rater, final Long contentId, final Double value)
+ throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ final Rate oldRate = finder.getRate(rater, content);
+ if (oldRate == null) {
+ final Rate rate = new Rate(rater, content, value);
+ super.persist(rate, Rate.class);
+ } else {
+ oldRate.setValue(value);
+ super.persist(oldRate, Rate.class);
}
+ final Double rateAvg = getRateAvg(content);
+ final Long rateByUsers = getRateByUsers(content);
+ return new RateResult(rateAvg != null ? rateAvg : 0D, rateByUsers != null ? rateByUsers.intValue()
+ : 0, value);
+ }
- @Override
- public void removeAuthor(final User user, final Long contentId, final String authorShortName)
- throws DefaultException {
- final Content content = finder.getContent(contentId);
- final User author = userFinder.getByShortName(authorShortName);
- if (author == null) {
- throw new UserNotFoundException();
- }
- content.removeAuthor(author);
+ @Override
+ public void removeAuthor(final User user, final Long contentId, final String authorShortName)
+ throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ final User author = userFinder.getByShortName(authorShortName);
+ if (author == null) {
+ throw new UserNotFoundException();
}
+ content.removeAuthor(author);
+ }
- @Override
- public Content renameContent(final User user, final Long contentId, final String newTitle) throws DefaultException {
- final String newTitleWithoutNL = FilenameUtils.chomp(newTitle);
- FilenameUtils.checkBasicFilename(newTitleWithoutNL);
- final Content content = finder.getContent(contentId);
- if (findIfExistsTitle(content.getContainer(), newTitleWithoutNL)) {
- throw new NameInUseException();
- }
- content.getLastRevision().setTitle(newTitleWithoutNL);
- if (content.isWave()) {
- final String author = content.getAuthors().get(0).getShortName();
- kuneWaveManager.setTitle(getWaveRef(content), newTitle, author);
- }
- return content;
+ @Override
+ public Content renameContent(final User user, final Long contentId, final String newTitle)
+ throws DefaultException {
+ final String newTitleWithoutNL = FilenameUtils.chomp(newTitle);
+ FilenameUtils.checkBasicFilename(newTitleWithoutNL);
+ final Content content = finder.getContent(contentId);
+ if (findIfExistsTitle(content.getContainer(), newTitleWithoutNL)) {
+ throw new NameInUseException();
}
-
- @Override
- public Content save(final User editor, final Content content) {
- return persist(content);
+ content.getLastRevision().setTitle(newTitleWithoutNL);
+ if (content.isWave()) {
+ final String author = content.getAuthors().get(0).getShortName();
+ kuneWaveManager.setTitle(getWaveRef(content), newTitle, author);
}
+ return content;
+ }
- @Override
- public Content save(final User editor, final Content content, final String body) {
- final Revision revision = new Revision(content);
- revision.setEditor(editor);
- revision.setTitle(content.getTitle());
- revision.setBody(body);
- content.addRevision(revision);
- return persist(content);
- }
+ @Override
+ public Content save(final User editor, final Content content) {
+ return persist(content);
+ }
- @Override
- public SearchResult<Content> search(final String search) {
- return this.search(search, null, null);
- }
+ @Override
+ public Content save(final User editor, final Content content, final String body) {
+ final Revision revision = new Revision(content);
+ revision.setEditor(editor);
+ revision.setTitle(content.getTitle());
+ revision.setBody(body);
+ content.addRevision(revision);
+ return persist(content);
+ }
- @Override
- public SearchResult<Content> search(final String search, final Integer firstResult, final Integer maxResults) {
- final MultiFieldQueryParser parser = createMultiFieldParser();
- Query query;
- try {
- query = parser.parse(search);
- } catch (final ParseException e) {
- throw new ServerManagerException("Error parsing search");
- }
- return super.search(query, firstResult, maxResults);
- }
+ @Override
+ public SearchResult<Content> search(final String search) {
+ return this.search(search, null, null);
+ }
- @Override
- public SearchResult<Content> searchMime(final String search, final Integer firstResult, final Integer maxResults,
- final String groupShortName, final String mimetype) {
- final List<Content> list = contentFinder.findMime(groupShortName, "%" + search + "%", mimetype, firstResult,
- maxResults);
- final Long count = contentFinder.findMimeCount(groupShortName, "%" + search + "%", mimetype);
- return new SearchResult<Content>(count.intValue(), list);
+ @Override
+ public SearchResult<Content> search(final String search, final Integer firstResult,
+ final Integer maxResults) {
+ final MultiFieldQueryParser parser = createMultiFieldParser();
+ Query query;
+ try {
+ query = parser.parse(search);
+ } catch (final ParseException e) {
+ throw new ServerManagerException("Error parsing search");
}
+ return super.search(query, firstResult, maxResults);
+ }
- @Override
- public SearchResult<?> searchMime(final String search, final Integer firstResult, final Integer maxResults,
- final String groupShortName, final String mimetype, final String mimetype2) {
- final List<Content> list = contentFinder.find2Mime(groupShortName, "%" + search + "%", mimetype, mimetype2,
- firstResult, maxResults);
- final Long count = contentFinder.find2MimeCount(groupShortName, "%" + search + "%", mimetype, mimetype2);
- return new SearchResult<Content>(count.intValue(), list);
- }
+ @Override
+ public SearchResult<Content> searchMime(final String search, final Integer firstResult,
+ final Integer maxResults, final String groupShortName, final String mimetype) {
+ final List<Content> list = contentFinder.findMime(groupShortName, "%" + search + "%", mimetype,
+ firstResult, maxResults);
+ final Long count = contentFinder.findMimeCount(groupShortName, "%" + search + "%", mimetype);
+ return new SearchResult<Content>(count.intValue(), list);
+ }
- @Override
- public I18nLanguage setLanguage(final User user, final Long contentId, final String languageCode)
- throws DefaultException {
- final Content content = finder.getContent(contentId);
- final I18nLanguage language = languageFinder.findByCode(languageCode);
- if (language == null) {
- throw new I18nNotFoundException();
- }
- content.setLanguage(language);
- return language;
- }
+ @Override
+ public SearchResult<?> searchMime(final String search, final Integer firstResult,
+ final Integer maxResults, final String groupShortName, final String mimetype,
+ final String mimetype2) {
+ final List<Content> list = contentFinder.find2Mime(groupShortName, "%" + search + "%", mimetype,
+ mimetype2, firstResult, maxResults);
+ final Long count = contentFinder.find2MimeCount(groupShortName, "%" + search + "%", mimetype,
+ mimetype2);
+ return new SearchResult<Content>(count.intValue(), list);
+ }
- @Override
- public void setPublishedOn(final User user, final Long contentId, final Date publishedOn) throws DefaultException {
- final Content content = finder.getContent(contentId);
- content.setPublishedOn(publishedOn);
+ @Override
+ public I18nLanguage setLanguage(final User user, final Long contentId, final String languageCode)
+ throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ final I18nLanguage language = languageFinder.findByCode(languageCode);
+ if (language == null) {
+ throw new I18nNotFoundException();
}
+ content.setLanguage(language);
+ return language;
+ }
- @Override
- public Content setStatus(final Long contentId, final ContentStatus status) {
- final Content content = finder.getContent(contentId);
- content.setStatus(status);
- switch (status) {
- case publishedOnline:
- content.setPublishedOn(new Date());
- content.setDeletedOn(null);
- break;
- case inTheDustbin:
- content.setDeletedOn(new Date());
- content.setPublishedOn(null);
- break;
- default:
- break;
- }
- return content;
+ @Override
+ public void setPublishedOn(final User user, final Long contentId, final Date publishedOn)
+ throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ content.setPublishedOn(publishedOn);
+ }
+
+ @Override
+ public Content setStatus(final Long contentId, final ContentStatus status) {
+ final Content content = finder.getContent(contentId);
+ content.setStatus(status);
+ switch (status) {
+ case publishedOnline:
+ content.setPublishedOn(new Date());
+ content.setDeletedOn(null);
+ break;
+ case inTheDustbin:
+ content.setDeletedOn(new Date());
+ content.setPublishedOn(null);
+ break;
+ default:
+ break;
}
+ return content;
+ }
- @Override
- public void setTags(final User user, final Long contentId, final String tags) throws DefaultException {
- final Content content = finder.getContent(contentId);
- tagManager.setTags(user, content, tags);
- }
+ @Override
+ public void setTags(final User user, final Long contentId, final String tags) throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ tagManager.setTags(user, content, tags);
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-05-03 13:30:14 UTC (rev 1337)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-05-03 17:09:08 UTC (rev 1338)
@@ -22,12 +22,11 @@
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.client.state.UserSignOutEvent;
-import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
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;
@@ -48,6 +47,8 @@
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;
@@ -63,26 +64,23 @@
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 ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n,
- final cc.kune.core.client.state.Session session) {
+ 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());
- session.onUserSignOut(true, new UserSignOutHandler() {
- @Override
- public void onUserSignOut(final UserSignOutEvent event) {
- channel = null;
- }
- });
+ loading.addClassName("kune-Margin-40-tb");
}
@Override
@@ -151,7 +149,6 @@
@Override
public void setEditableContent(final StateContentDTO state) {
setTitle(state, true);
- initWaveClientIfNeeded();
setEditableWaveContent(state.getWaveRef(), false);
deck.showWidget(0);
}
@@ -169,6 +166,8 @@
wave = null;
}
+ initWaveClientIfNeeded();
+
// Release the display:none.
// UIObject.setVisible(waveFrame.getElement(), true);
waveHolder.getElement().appendChild(loading);
@@ -189,4 +188,15 @@
&& capabilitiesRegistry.isRenamable(state.getTypeId()));
}
+ @Override
+ public void signIn() {
+ // Do nothing (now)
+ // initWaveClientIfNeeded();
+ }
+
+ @Override
+ public void signOut() {
+ channel = NO_CHANNEL;
+ }
+
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java 2011-05-03 13:30:14 UTC (rev 1337)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java 2011-05-03 17:09:08 UTC (rev 1338)
@@ -11,6 +11,10 @@
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;
@@ -58,6 +62,10 @@
void setEditableContent(StateContentDTO state);
void setEditableTitle(String title);
+
+ void signIn();
+
+ void signOut();
}
private final ActionRegistryByType actionsRegistry;
@@ -76,6 +84,20 @@
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
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-03 13:30:14 UTC (rev 1337)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-03 17:09:08 UTC (rev 1338)
@@ -25,7 +25,6 @@
import java.util.Date;
import java.util.logging.Logger;
-import org.apache.jasper.compiler.ErrorDispatcher;
import org.waveprotocol.box.webclient.client.ClientEvents;
import org.waveprotocol.box.webclient.client.ClientIdGenerator;
import org.waveprotocol.box.webclient.client.DebugMessagePanel;
@@ -265,12 +264,12 @@
*/
// XXX check formatting wrt GPE
public native static String getWebSocketBaseUrl(String moduleBase) /*-{
- return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";
-}-*/;
+ return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";
+ }-*/;
public native static boolean useSocketIO() /*-{
- return !!$wnd.__useSocketIO
-}-*/;
+ return !!$wnd.__useSocketIO
+ }-*/;
/**
*/
@@ -419,4 +418,16 @@
return value != -1 ? String.valueOf(value) : otherwise;
}
}
+
+ public WaveWebSocketClient getWebSocket() {
+ return websocket;
+ }
+
+ public RemoteViewServiceMultiplexer getChannel() {
+ return channel;
+ }
+
+ public ProfileManager getProfiles() {
+ return profiles;
+ }
}
1
0
r1337 - in trunk/src/main/java/cc/kune: core/client/sn domain gspace/client/actions gspace/client/viewers
by Vicente J. Ruiz Jurado 03 May '11
by Vicente J. Ruiz Jurado 03 May '11
03 May '11
Author: vjrj_
Date: 2011-05-03 15:30:14 +0200 (Tue, 03 May 2011)
New Revision: 1337
Modified:
trunk/src/main/java/cc/kune/core/client/sn/GroupSNPresenter.java
trunk/src/main/java/cc/kune/domain/Container.java
trunk/src/main/java/cc/kune/domain/Content.java
trunk/src/main/java/cc/kune/domain/GroupList.java
trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java
trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java
Log:
Fixes in domain, and wiab editor
Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupSNPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupSNPresenter.java 2011-05-03 11:32:25 UTC (rev 1336)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNPresenter.java 2011-05-03 13:30:14 UTC (rev 1337)
@@ -5,9 +5,9 @@
import cc.kune.common.client.actions.ui.IsActionExtensible;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
import cc.kune.core.client.services.FileDownloadUtils;
-import cc.kune.core.client.sn.actions.registry.GroupSNConfActions;
import cc.kune.core.client.sn.actions.registry.GroupSNAdminsMenuItemsRegistry;
import cc.kune.core.client.sn.actions.registry.GroupSNCollabsMenuItemsRegistry;
+import cc.kune.core.client.sn.actions.registry.GroupSNConfActions;
import cc.kune.core.client.sn.actions.registry.GroupSNPendingsMenuItemsRegistry;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SocialNetworkChangedEvent;
@@ -31,173 +31,176 @@
import com.gwtplatform.mvp.client.proxy.Proxy;
import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
-public class GroupSNPresenter extends AbstractSNPresenter<GroupSNPresenter.GroupSNView, GroupSNPresenter.GroupSNProxy> {
+public class GroupSNPresenter extends
+ AbstractSNPresenter<GroupSNPresenter.GroupSNView, GroupSNPresenter.GroupSNProxy> {
- @ProxyCodeSplit
- public interface GroupSNProxy extends Proxy<GroupSNPresenter> {
- }
+ @ProxyCodeSplit
+ public interface GroupSNProxy extends Proxy<GroupSNPresenter> {
+ }
- public interface GroupSNView extends View {
+ public interface GroupSNView extends View {
- void addAdmin(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
- GuiActionDescCollection menu);
+ void addAdmin(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
+ GuiActionDescCollection menu);
- void addCollab(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
- GuiActionDescCollection menu);
+ void addCollab(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
+ GuiActionDescCollection menu);
- void addPending(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
- GuiActionDescCollection menu);
+ void addPending(GroupDTO group, String avatarUrl, String tooltip, String tooltipTitle,
+ GuiActionDescCollection menu);
- void clear();
+ void clear();
- IsActionExtensible getBottomToolbar();
+ IsActionExtensible getBottomToolbar();
- void setAdminsCount(int count);
+ void setAdminsCount(int count);
- void setCollabsCount(int count);
+ void setCollabsCount(int count);
- void setCollabsVisible(boolean visible);
+ void setCollabsVisible(boolean visible);
- void setPendingsCount(int count);
+ void setPendingsCount(int count);
- void setPendingVisible(boolean visible);
+ void setPendingVisible(boolean visible);
- void setVisible(boolean visible);
+ void setVisible(boolean visible);
- void showMemberNotPublic();
+ void showMemberNotPublic();
- void showMembers();
+ void showMembers();
- void showOrphan();
- }
+ void showOrphan();
+ }
- private final GroupSNConfActions actionsRegistry;
- private final GroupSNAdminsMenuItemsRegistry adminsMenuItemsRegistry;
- private final GroupSNCollabsMenuItemsRegistry collabsMenuItemsRegistry;
- private final GroupSNPendingsMenuItemsRegistry pendingsMenuItemsRegistry;
+ private final GroupSNConfActions actionsRegistry;
+ private final GroupSNAdminsMenuItemsRegistry adminsMenuItemsRegistry;
+ private final GroupSNCollabsMenuItemsRegistry collabsMenuItemsRegistry;
+ private final GroupSNPendingsMenuItemsRegistry pendingsMenuItemsRegistry;
- @Inject
- public GroupSNPresenter(final EventBus eventBus, final GroupSNView view, final GroupSNProxy proxy,
- final StateManager stateManager, final Session session, final Provider<FileDownloadUtils> downloadProvider,
- final GroupSNAdminsMenuItemsRegistry adminsMenuItemsRegistry,
- final GroupSNCollabsMenuItemsRegistry collabsMenuItemsRegistry,
- final GroupSNPendingsMenuItemsRegistry pendingsMenuItemsRegistry,
- final GroupSNConfActions actionsRegistry) {
- super(eventBus, view, proxy, downloadProvider);
- this.adminsMenuItemsRegistry = adminsMenuItemsRegistry;
- this.collabsMenuItemsRegistry = collabsMenuItemsRegistry;
- this.pendingsMenuItemsRegistry = pendingsMenuItemsRegistry;
- this.actionsRegistry = actionsRegistry;
- stateManager.onStateChanged(true, new StateChangedEvent.StateChangedHandler() {
- @Override
- public void onStateChanged(final StateChangedEvent event) {
- GroupSNPresenter.this.onStateChanged(event.getState());
- }
+ @Inject
+ public GroupSNPresenter(final EventBus eventBus, final GroupSNView view, final GroupSNProxy proxy,
+ final StateManager stateManager, final Session session,
+ final Provider<FileDownloadUtils> downloadProvider,
+ final GroupSNAdminsMenuItemsRegistry adminsMenuItemsRegistry,
+ final GroupSNCollabsMenuItemsRegistry collabsMenuItemsRegistry,
+ final GroupSNPendingsMenuItemsRegistry pendingsMenuItemsRegistry,
+ final GroupSNConfActions actionsRegistry) {
+ super(eventBus, view, proxy, downloadProvider);
+ this.adminsMenuItemsRegistry = adminsMenuItemsRegistry;
+ this.collabsMenuItemsRegistry = collabsMenuItemsRegistry;
+ this.pendingsMenuItemsRegistry = pendingsMenuItemsRegistry;
+ this.actionsRegistry = actionsRegistry;
+ stateManager.onStateChanged(true, new StateChangedEvent.StateChangedHandler() {
+ @Override
+ public void onStateChanged(final StateChangedEvent event) {
+ GroupSNPresenter.this.onStateChanged(event.getState());
+ }
+ });
+ stateManager.onSocialNetworkChanged(true,
+ new SocialNetworkChangedEvent.SocialNetworkChangedHandler() {
+ @Override
+ public void onSocialNetworkChanged(final SocialNetworkChangedEvent event) {
+ GroupSNPresenter.this.onStateChanged(event.getState());
+ }
});
- stateManager.onSocialNetworkChanged(true, new SocialNetworkChangedEvent.SocialNetworkChangedHandler() {
- @Override
- public void onSocialNetworkChanged(final SocialNetworkChangedEvent event) {
- GroupSNPresenter.this.onStateChanged(event.getState());
- }
- });
- session.onUserSignIn(true, new UserSignInHandler() {
- @Override
- public void onUserSignIn(final UserSignInEvent event) {
- refreshOnSignInSignOut(session);
- }
- });
- session.onUserSignOut(true, new UserSignOutHandler() {
- @Override
- public void onUserSignOut(final UserSignOutEvent event) {
- refreshOnSignInSignOut(session);
- }
+ session.onUserSignIn(true, new UserSignInHandler() {
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ refreshOnSignInSignOut(session);
+ }
+ });
+ session.onUserSignOut(true, new UserSignOutHandler() {
+ @Override
+ public void onUserSignOut(final UserSignOutEvent event) {
+ refreshOnSignInSignOut(session);
+ }
- });
- createActions();
- }
+ });
+ createActions();
+ }
- private void createActions() {
- getView().getBottomToolbar().addAll(actionsRegistry);
- }
+ private void createActions() {
+ getView().getBottomToolbar().addAll(actionsRegistry);
+ }
- @Override
- public GroupSNView getView() {
- return (GroupSNView) super.getView();
- }
+ @Override
+ public GroupSNView getView() {
+ return (GroupSNView) super.getView();
+ }
- private void onStateChanged(final StateAbstractDTO state) {
- if (state.getGroup().isPersonal()) {
- getView().setVisible(false);
- } else {
- if (state.getSocialNetworkData().isMembersVisible()) {
- getView().clear();
- setGroupMembers(state.getGroupMembers(), state.getGroupRights());
- } else {
- getView().clear();
- getView().showMemberNotPublic();
- getView().setVisible(true);
- }
- }
+ private void onStateChanged(final StateAbstractDTO state) {
+ if (state.getGroup().isPersonal()) {
+ getView().setVisible(false);
+ } else {
+ if (state.getSocialNetworkData().isMembersVisible()) {
+ getView().clear();
+ setGroupMembers(state.getGroupMembers(), state.getGroupRights());
+ } else {
+ getView().clear();
+ getView().showMemberNotPublic();
+ getView().setVisible(true);
+ }
}
+ }
- private void refreshOnSignInSignOut(final Session session) {
- final StateAbstractDTO currentState = session.getCurrentState();
- if (currentState != null) {
- GroupSNPresenter.this.onStateChanged(currentState);
- }
+ private void refreshOnSignInSignOut(final Session session) {
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (currentState != null) {
+ GroupSNPresenter.this.onStateChanged(currentState);
}
+ }
- @Override
- protected void revealInParent() {
- RevealRootContentEvent.fire(this, this);
- }
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
+ }
- private void setGroupMembers(final SocialNetworkDTO socialNetwork, final AccessRights rights) {
- final AccessListsDTO accessLists = socialNetwork.getAccessLists();
+ private void setGroupMembers(final SocialNetworkDTO socialNetwork, final AccessRights rights) {
+ final AccessListsDTO accessLists = socialNetwork.getAccessLists();
- final List<GroupDTO> adminsList = accessLists.getAdmins().getList();
- final List<GroupDTO> collabList = accessLists.getEditors().getList();
- final List<GroupDTO> pendingCollabsList = socialNetwork.getPendingCollaborators().getList();
+ final List<GroupDTO> adminsList = accessLists.getAdmins().getList();
+ final List<GroupDTO> collabList = accessLists.getEditors().getList();
+ final List<GroupDTO> pendingCollabsList = socialNetwork.getPendingCollaborators().getList();
- final int numAdmins = adminsList.size();
- final int numCollabs = collabList.size();
- final int numPendings = pendingCollabsList.size();
+ final int numAdmins = adminsList.size();
+ final int numCollabs = collabList.size();
+ final int numPendings = pendingCollabsList.size();
- getView().setAdminsCount(numAdmins);
- getView().setCollabsCount(numCollabs);
- getView().setPendingsCount(numPendings);
+ getView().setAdminsCount(numAdmins);
+ getView().setCollabsCount(numCollabs);
+ getView().setPendingsCount(numPendings);
- if ((numAdmins + numCollabs) == 0) {
- getView().showOrphan();
- } else {
- final boolean userIsAdmin = rights.isAdministrable();
- final boolean userCanView = rights.isVisible();
+ if ((numAdmins + numCollabs) == 0) {
+ getView().showOrphan();
+ } else {
+ final boolean userIsAdmin = rights.isAdministrable();
+ final boolean userCanView = rights.isVisible();
- if (userCanView) {
- for (final GroupDTO admin : adminsList) {
- final String avatar = getAvatar(admin);
- getView().addAdmin(admin, avatar, admin.getLongName(), "",
- createMenuItems(admin, adminsMenuItemsRegistry, admin.getLongName()));
- }
- getView().setCollabsVisible(numCollabs > 0);
- for (final GroupDTO collab : collabList) {
- final String avatar = getAvatar(collab);
- getView().addCollab(collab, avatar, collab.getLongName(), "",
- createMenuItems(collab, collabsMenuItemsRegistry, collab.getLongName()));
- }
- if (userIsAdmin) {
- getView().setPendingVisible(numPendings > 0);
- for (final GroupDTO pendingCollab : pendingCollabsList) {
- final String avatar = getAvatar(pendingCollab);
- getView().addPending(pendingCollab, avatar, pendingCollab.getLongName(), "",
- createMenuItems(pendingCollab, pendingsMenuItemsRegistry, pendingCollab.getLongName()));
- }
- } else {
- getView().setPendingVisible(false);
- }
- getView().showMembers();
- }
+ if (userCanView) {
+ for (final GroupDTO admin : adminsList) {
+ final String avatar = getAvatar(admin);
+ getView().addAdmin(admin, avatar, admin.getLongName(), "",
+ createMenuItems(admin, adminsMenuItemsRegistry, admin.getLongName()));
}
- getView().setVisible(true);
+ getView().setCollabsVisible(numCollabs > 0);
+ for (final GroupDTO collab : collabList) {
+ final String avatar = getAvatar(collab);
+ getView().addCollab(collab, avatar, collab.getLongName(), "",
+ createMenuItems(collab, collabsMenuItemsRegistry, collab.getLongName()));
+ }
+ if (userIsAdmin) {
+ getView().setPendingVisible(numPendings > 0);
+ for (final GroupDTO pendingCollab : pendingCollabsList) {
+ final String avatar = getAvatar(pendingCollab);
+ getView().addPending(pendingCollab, avatar, pendingCollab.getLongName(), "",
+ createMenuItems(pendingCollab, pendingsMenuItemsRegistry, pendingCollab.getLongName()));
+ }
+ } else {
+ getView().setPendingVisible(false);
+ }
+ getView().showMembers();
+ }
}
+ getView().setVisible(true);
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/domain/Container.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Container.java 2011-05-03 11:32:25 UTC (rev 1336)
+++ trunk/src/main/java/cc/kune/domain/Container.java 2011-05-03 13:30:14 UTC (rev 1337)
@@ -59,240 +59,242 @@
@Indexed
@Table(name = "containers")
public class Container implements HasId, HasStateToken {
- @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
- private List<Container> absolutePath;
- @OneToOne(cascade = CascadeType.ALL)
- private AccessLists accessLists;
+ @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ private List<Container> absolutePath;
- @Fetch(FetchMode.JOIN)
- @OrderBy("createdOn DESC")
- @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
- private Set<Container> childs;
+ @OneToOne(cascade = CascadeType.ALL)
+ private AccessLists accessLists;
- @OneToMany(cascade = CascadeType.ALL)
- private List<ContainerTranslation> containerTranslations;
+ @Fetch(FetchMode.JOIN)
+ @OrderBy("createdOn DESC")
+ @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ private Set<Container> childs;
- @Fetch(FetchMode.JOIN)
- @ContainedIn
- @OrderBy("createdOn DESC")
- @OneToMany(mappedBy = "container", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
- private Set<Content> contents;
+ @OneToMany(cascade = CascadeType.ALL)
+ private List<ContainerTranslation> containerTranslations;
- @Basic(optional = false)
- private Long createdOn;
+ @Fetch(FetchMode.JOIN)
+ @ContainedIn
+ @OrderBy("createdOn DESC")
+ @OneToMany(mappedBy = "container", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+ private Set<Content> contents;
- @Basic(optional = true)
- private Date deletedOn;
+ @Basic(optional = false)
+ private Long createdOn;
- @Id
- @GeneratedValue
- @DocumentId
- Long id;
+ @Basic(optional = true)
+ private Date deletedOn;
- @ManyToOne
- private I18nLanguage language;
+ @Id
+ @GeneratedValue
+ @DocumentId
+ Long id;
- @Column
- @Field(index = Index.TOKENIZED, store = Store.NO)
- private String name;
+ @ManyToOne
+ private I18nLanguage language;
- @IndexedEmbedded(depth = 1, prefix = "owner_")
- @OneToOne
- private Group owner;
+ @Column
+ @Field(index = Index.TOKENIZED, store = Store.NO)
+ private String name;
- // 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 Container parent;
+ @IndexedEmbedded(depth = 1, prefix = "owner_")
+ @OneToOne
+ private Group owner;
- private String toolName;
+ // 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 Container parent;
- private String typeId;
+ private String toolName;
- public Container() {
- this(null, null, null);
- }
+ private String typeId;
- public Container(final String title, final Group group, final String toolName) {
- this.name = title;
- owner = group;
- this.toolName = toolName;
- this.contents = new HashSet<Content>();
- this.childs = new HashSet<Container>();
- this.absolutePath = new ArrayList<Container>();
- this.createdOn = System.currentTimeMillis();
- }
+ public Container() {
+ this(null, null, null);
+ }
- public void addChild(final Container child) {
- child.setParent(this);
- childs.add(child);
- }
+ public Container(final String title, final Group group, final String toolName) {
+ this.name = title;
+ owner = group;
+ this.toolName = toolName;
+ this.contents = new HashSet<Content>();
+ this.childs = new HashSet<Container>();
+ this.absolutePath = new ArrayList<Container>();
+ this.createdOn = System.currentTimeMillis();
+ }
- public void addContent(final Content descriptor) {
- // FIXME: something related with lazy initialization (workaround using
- // size())
- contents.size();
- contents.add(descriptor);
- }
+ public void addChild(final Container child) {
+ child.setParent(this);
+ childs.add(child);
+ }
- public List<Container> getAbsolutePath() {
- return absolutePath;
- }
+ public void addContent(final Content descriptor) {
+ // FIXME: something related with lazy initialization (workaround using
+ // size())
+ contents.size();
+ contents.add(descriptor);
+ }
- @Transient
- public AccessLists getAccessLists() {
- return hasAccessList() ? accessLists : isRoot() ? getOwner().getAccessLists() : getParent().getAccessLists();
- }
+ public List<Container> getAbsolutePath() {
+ return absolutePath;
+ }
- public List<ContainerTranslation> getAliases() {
- return containerTranslations;
- }
+ @Transient
+ public AccessLists getAccessLists() {
+ return hasAccessList() ? accessLists : isRoot() ? getOwner().getAccessLists()
+ : getParent().getAccessLists();
+ }
- public Set<Container> getChilds() {
- return childs;
- }
+ public List<ContainerTranslation> getAliases() {
+ return containerTranslations;
+ }
- public List<ContainerTranslation> getContainerTranslations() {
- return containerTranslations;
- }
+ public Set<Container> getChilds() {
+ return childs;
+ }
- public Set<Content> getContents() {
- return contents;
- }
+ public List<ContainerTranslation> getContainerTranslations() {
+ return containerTranslations;
+ }
- public Long getCreatedOn() {
- return createdOn;
- }
+ public Set<Content> getContents() {
+ return contents;
+ }
- public Date getDeletedOn() {
- return deletedOn;
- }
+ public Long getCreatedOn() {
+ return createdOn;
+ }
- @Override
- public Long getId() {
- return id;
- }
+ public Date getDeletedOn() {
+ return deletedOn;
+ }
- public I18nLanguage getLanguage() {
- return language;
- }
+ @Override
+ public Long getId() {
+ return id;
+ }
- public String getName() {
- return name;
- }
+ public I18nLanguage getLanguage() {
+ return language;
+ }
- public Group getOwner() {
- return owner;
- }
+ public String getName() {
+ return name;
+ }
- public Container getParent() {
- return parent;
- }
+ public Group getOwner() {
+ return owner;
+ }
- public Long getParentFolderId() {
- return parent != null ? parent.getId() : null;
- }
+ public Container getParent() {
+ return parent;
+ }
- @Override
- @Transient
- public StateToken getStateToken() {
- return new StateToken(getOwner().getShortName(), getToolName(), getId());
- }
+ public Long getParentFolderId() {
+ return parent != null ? parent.getId() : null;
+ }
- @Transient
- public String getStateTokenEncoded() {
- return getStateToken().getEncoded();
- }
+ @Override
+ @Transient
+ public StateToken getStateToken() {
+ return new StateToken(getOwner().getShortName(), getToolName(), getId());
+ }
- public String getToolName() {
- return toolName;
- }
+ @Transient
+ public String getStateTokenEncoded() {
+ return getStateToken().getEncoded();
+ }
- public String getTypeId() {
- return typeId;
- }
+ public String getToolName() {
+ return toolName;
+ }
- @Transient
- public boolean hasAccessList() {
- return accessLists != null;
- }
+ public String getTypeId() {
+ return typeId;
+ }
- @Transient
- public boolean isLeaf() {
- return childs.size() == 0 && contents.size() == 0;
- }
+ @Transient
+ public boolean hasAccessList() {
+ return accessLists != null;
+ }
- @Transient
- public boolean isRoot() {
- return parent == null;
- }
+ @Transient
+ public boolean isLeaf() {
+ return childs.size() == 0 && contents.size() == 0;
+ }
- public void setAbsolutePath(final List<Container> absolutePath) {
- this.absolutePath = absolutePath;
- }
+ @Transient
+ public boolean isRoot() {
+ return parent == null;
+ }
- public void setAccessLists(final AccessLists accessLists) {
- this.accessLists = accessLists;
- }
+ public void setAbsolutePath(final List<Container> absolutePath) {
+ this.absolutePath = absolutePath;
+ }
- public void setAliases(final List<ContainerTranslation> containerTranslations) {
- this.containerTranslations = containerTranslations;
- }
+ public void setAccessLists(final AccessLists accessLists) {
+ this.accessLists = accessLists;
+ }
- public void setChilds(final Set<Container> childs) {
- this.childs = childs;
- }
+ public void setAliases(final List<ContainerTranslation> containerTranslations) {
+ this.containerTranslations = containerTranslations;
+ }
- public void setContainerTranslations(final List<ContainerTranslation> containerTranslations) {
- this.containerTranslations = containerTranslations;
- }
+ public void setChilds(final Set<Container> childs) {
+ this.childs = childs;
+ }
- public void setContents(final HashSet<Content> contents) {
- this.contents = contents;
- }
+ public void setContainerTranslations(final List<ContainerTranslation> containerTranslations) {
+ this.containerTranslations = containerTranslations;
+ }
- public void setCreatedOn(final Long createdOn) {
- this.createdOn = createdOn;
- }
+ public void setContents(final HashSet<Content> contents) {
+ this.contents = contents;
+ }
- public void setDeletedOn(final Date deletedOn) {
- this.deletedOn = deletedOn;
- }
+ public void setCreatedOn(final Long createdOn) {
+ this.createdOn = createdOn;
+ }
- @Override
- public void setId(final Long id) {
- this.id = id;
- }
+ public void setDeletedOn(final Date deletedOn) {
+ this.deletedOn = deletedOn;
+ }
- public void setLanguage(final I18nLanguage language) {
- this.language = language;
- }
+ @Override
+ public void setId(final Long id) {
+ this.id = id;
+ }
- public void setName(final String name) {
- this.name = name;
- }
+ public void setLanguage(final I18nLanguage language) {
+ this.language = language;
+ }
- public void setOwner(final Group owner) {
- this.owner = owner;
- }
+ public void setName(final String name) {
+ this.name = name;
+ }
- public void setParent(final Container parent) {
- this.parent = parent;
- }
+ public void setOwner(final Group owner) {
+ this.owner = owner;
+ }
- public void setToolName(final String toolName) {
- this.toolName = toolName;
- }
+ public void setParent(final Container parent) {
+ this.parent = parent;
+ }
- public void setTypeId(final String typeId) {
- this.typeId = typeId;
- }
+ public void setToolName(final String toolName) {
+ this.toolName = toolName;
+ }
- @Override
- public String toString() {
- return "Container[(" + getStateTokenEncoded() + "): " + getName() + "]";
- }
+ public void setTypeId(final String typeId) {
+ this.typeId = typeId;
+ }
+
+ @Override
+ public String toString() {
+ return "Container[(" + getStateTokenEncoded() + "): " + getName() + "]";
+ }
}
Modified: trunk/src/main/java/cc/kune/domain/Content.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Content.java 2011-05-03 11:32:25 UTC (rev 1336)
+++ trunk/src/main/java/cc/kune/domain/Content.java 2011-05-03 13:30:14 UTC (rev 1337)
@@ -74,6 +74,7 @@
@OneToOne(cascade = CascadeType.ALL)
private AccessLists accessLists;
+ @Fetch(FetchMode.JOIN)
@IndexedEmbedded
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private List<User> authors;
@@ -106,6 +107,7 @@
private Long id;
@IndexedEmbedded
+ @Fetch(FetchMode.JOIN)
@NotNull
@ManyToOne(fetch = FetchType.LAZY)
private I18nLanguage language;
Modified: trunk/src/main/java/cc/kune/domain/GroupList.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/GroupList.java 2011-05-03 11:32:25 UTC (rev 1336)
+++ trunk/src/main/java/cc/kune/domain/GroupList.java 2011-05-03 13:30:14 UTC (rev 1337)
@@ -35,103 +35,107 @@
import javax.persistence.OrderBy;
import javax.persistence.Table;
+import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.FetchMode;
+
import cc.kune.core.shared.domain.GroupListMode;
@Entity
@Table(name = "group_list")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class GroupList {
- @Id
- @GeneratedValue
- private Long id;
+ @Id
+ @GeneratedValue
+ private Long id;
- @OrderBy("shortName ASC")
- @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
- List<Group> list;
+ @Fetch(FetchMode.JOIN)
+ @OrderBy("shortName ASC")
+ @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
+ List<Group> list;
- @Enumerated(EnumType.STRING)
- @Basic
- private GroupListMode mode;
+ @Enumerated(EnumType.STRING)
+ @Basic
+ private GroupListMode mode;
- public GroupList() {
- this(new ArrayList<Group>());
- this.mode = GroupListMode.NORMAL;
- }
+ public GroupList() {
+ this(new ArrayList<Group>());
+ this.mode = GroupListMode.NORMAL;
+ }
- public GroupList(final List<Group> list) {
- this.list = list;
- }
+ public GroupList(final List<Group> list) {
+ this.list = list;
+ }
- public void add(final Group group) {
- // No group duplicate
- // TODO: Get this outside Domain?
- if (!list.contains(group)) {
- list.add(group);
- }
- // TODO: Get this outside Domain?
- if (getMode() == GroupListMode.NOBODY) {
- setMode(GroupListMode.NORMAL);
- }
+ public void add(final Group group) {
+ // No group duplicate
+ // TODO: Get this outside Domain?
+ if (!list.contains(group)) {
+ list.add(group);
}
-
- public boolean checkIfIncludes(final Group group, final List<Group> list, final GroupListMode mode) {
- switch (mode) {
- case NOBODY:
- return false;
- case EVERYONE:
- return true;
- default:
- return list.contains(group);
- }
+ // TODO: Get this outside Domain?
+ if (getMode() == GroupListMode.NOBODY) {
+ setMode(GroupListMode.NORMAL);
}
+ }
- public ArrayList<Group> duplicate() {
- return new ArrayList<Group>(list);
+ public boolean checkIfIncludes(final Group group, final List<Group> list, final GroupListMode mode) {
+ switch (mode) {
+ case NOBODY:
+ return false;
+ case EVERYONE:
+ return true;
+ default:
+ return list.contains(group);
}
+ }
- public Long getId() {
- return id;
- }
+ public ArrayList<Group> duplicate() {
+ return new ArrayList<Group>(list);
+ }
- public List<Group> getList() {
- return list;
- }
+ public Long getId() {
+ return id;
+ }
- public GroupListMode getMode() {
- return mode;
- }
+ public List<Group> getList() {
+ return list;
+ }
- public boolean includes(final Group group) {
- return checkIfIncludes(group, this.list, mode);
- }
+ public GroupListMode getMode() {
+ return mode;
+ }
- public boolean isEmpty() {
- return list.size() == 0;
- }
+ public boolean includes(final Group group) {
+ return checkIfIncludes(group, this.list, mode);
+ }
- public void remove(final Group group) {
- list.remove(group);
- // TODO: Get this outside Domain?
- if (list.isEmpty()) {
- setMode(GroupListMode.NOBODY);
- }
- }
+ public boolean isEmpty() {
+ return list.size() == 0;
+ }
- public void setId(final Long id) {
- this.id = id;
+ public void remove(final Group group) {
+ list.remove(group);
+ // TODO: Get this outside Domain?
+ if (list.isEmpty()) {
+ setMode(GroupListMode.NOBODY);
}
+ }
- public void setList(final List<Group> list) {
- this.list = list;
- }
+ public void setId(final Long id) {
+ this.id = id;
+ }
- public void setMode(final GroupListMode mode) {
- this.mode = mode;
- }
+ public void setList(final List<Group> list) {
+ this.list = list;
+ }
- @Override
- public String toString() {
- return "GroupList[(" + mode + "): " + list + "]";
- }
+ public void setMode(final GroupListMode mode) {
+ this.mode = mode;
+ }
+ @Override
+ public String toString() {
+ return "GroupList[(" + mode + "): " + list + "]";
+ }
+
}
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java 2011-05-03 11:32:25 UTC (rev 1336)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java 2011-05-03 13:30:14 UTC (rev 1337)
@@ -13,7 +13,6 @@
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.dto.AccessRolDTO;
-import cc.kune.core.shared.dto.HasContent;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.inject.Inject;
@@ -39,12 +38,12 @@
@Override
public void actionPerformed(final ActionEvent event) {
NotifyUser.showProgressProcessing();
- stateManager.gotoStateToken(((HasContent) session.getCurrentState()).getContainer().getStateToken());
contentService.get().addParticipant(session.getUserHash(), session.getCurrentStateToken(),
session.getCurrentUser().getShortName(), new AsyncCallbackSimple<Void>() {
@Override
public void onSuccess(final Void arg) {
NotifyUser.hideProgress();
+ stateManager.gotoStateToken(session.getCurrentStateToken());
}
});
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-05-03 11:32:25 UTC (rev 1336)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-05-03 13:30:14 UTC (rev 1337)
@@ -22,6 +22,8 @@
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.client.state.UserSignOutEvent;
+import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
import cc.kune.core.shared.dto.StateContentDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.gspace.client.GSpaceArmor;
@@ -69,11 +71,18 @@
@Inject
public DocViewerPanel(final GSpaceArmor wsArmor,
- final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n) {
+ final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n,
+ final cc.kune.core.client.state.Session session) {
this.gsArmor = wsArmor;
this.capabilitiesRegistry = capabilitiesRegistry;
widget = uiBinder.createAndBindUi(this);
contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
+ session.onUserSignOut(true, new UserSignOutHandler() {
+ @Override
+ public void onUserSignOut(final UserSignOutEvent event) {
+ channel = null;
+ }
+ });
}
@Override
1
0
03 May '11
Author: vjrj_
Date: 2011-05-03 13:32:25 +0200 (Tue, 03 May 2011)
New Revision: 1336
Modified:
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
Log:
Minor change
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-05-03 11:29:33 UTC (rev 1335)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-05-03 11:32:25 UTC (rev 1336)
@@ -19,7 +19,6 @@
*/
package cc.kune.common.client.ui.dialogs;
-import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.client.ui.PopupTopPanel;
import cc.kune.common.client.utils.TextUtils;
@@ -203,15 +202,9 @@
}
}
if (newWidth != null) {
- NotifyUser.info(newWidth);
- // popup.setWidth(newWidth);
- // super.setWidth(newWidth);
super.setInnerWidth(newWidth);
}
if (newHeight != null) {
- NotifyUser.info(newHeight);
- // popup.setHeight(newHeight);
- // super.setHeight(newHeight);
super.setInnerHeight(newHeight);
}
}
1
0
Author: vjrj_
Date: 2011-05-03 13:29:33 +0200 (Tue, 03 May 2011)
New Revision: 1335
Modified:
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/common/client/ui/AbstractAtBorderPopupPanel.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java
trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml
trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java
trunk/src/main/java/cc/kune/core/public/ws.css
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/StateContentDTO.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java
trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.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
trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java
trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java
trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java
Log:
Wave participation, and dialogs size (continuation)
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-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -39,36 +39,40 @@
public class BlogsClientActions extends AbstractFoldableToolActions {
- final String[] all = { TYPE_ROOT, TYPE_BLOG, 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[] contentsModerated = { TYPE_POST, TYPE_UPLOADEDFILE };
+ final String[] all = { TYPE_ROOT, TYPE_BLOG, 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[] contentsModerated = { TYPE_POST, TYPE_UPLOADEDFILE };
- @Inject
- public BlogsClientActions(final I18nUITranslationService i18n, final Session session,
- final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
- final Provider<GoParentBlogBtn> folderGoUp, final Provider<NewPostBtn> newDocBtn,
- final Provider<NewBlogBtn> newFolderBtn, final Provider<OpenBlogMenuItem> openContentMenuItem,
- final Provider<DelPostMenuItem> delContentMenuItem, final Provider<RefreshContentMenuItem> refresh,
- final Provider<ContentViewerOptionsMenu> optionsMenuContent,
- final Provider<ParticipateInContentBtn> participateBtn, final Provider<DelBlogMenuItem> delFolderMenuItem,
- final Provider<SetAsHomePageMenuItem> setAsHomePage) {
- super(session, stateManager, i18n, registry);
- 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);
- actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.MENUITEM, delFolderMenuItem, containersNoRoot);
- }
+ @Inject
+ public BlogsClientActions(final I18nUITranslationService i18n, final Session session,
+ final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
+ final Provider<GoParentBlogBtn> folderGoUp, final Provider<NewPostBtn> newDocBtn,
+ final Provider<NewBlogBtn> newFolderBtn, final Provider<OpenBlogMenuItem> openContentMenuItem,
+ final Provider<DelPostMenuItem> delContentMenuItem,
+ final Provider<RefreshContentMenuItem> refresh,
+ final Provider<ContentViewerOptionsMenu> optionsMenuContent,
+ final Provider<ParticipateInContentBtn> participateBtn,
+ final Provider<DelBlogMenuItem> delFolderMenuItem,
+ final Provider<SetAsHomePageMenuItem> setAsHomePage) {
+ super(session, stateManager, i18n, registry);
+ 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);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, delFolderMenuItem, containersNoRoot);
+ // actionsRegistry.addAction(ActionGroups.MENUITEM, setAsHomePage,
+ // TYPE_BLOG);
+ }
- @Override
- protected void createPostSessionInitActions() {
- }
+ @Override
+ protected void createPostSessionInitActions() {
+ }
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/AbstractAtBorderPopupPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/AbstractAtBorderPopupPanel.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/common/client/ui/AbstractAtBorderPopupPanel.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -27,109 +27,61 @@
public abstract class AbstractAtBorderPopupPanel extends PopupPanel {
- private String height;
- private boolean showCentered = true;
- protected UIObject showNearObject;
- private String width;
+ private boolean showCentered = true;
+ protected UIObject showNearObject;
- public AbstractAtBorderPopupPanel() {
- super(false, false);
- }
+ public AbstractAtBorderPopupPanel() {
+ super(false, false);
+ }
- public AbstractAtBorderPopupPanel(final boolean autohide) {
- this(autohide, false);
- }
+ public AbstractAtBorderPopupPanel(final boolean autohide) {
+ this(autohide, false);
+ }
- public AbstractAtBorderPopupPanel(final boolean autohide, final boolean modal) {
- super(autohide, modal);
- setGlassEnabled(modal);
- init();
- }
+ public AbstractAtBorderPopupPanel(final boolean autohide, final boolean modal) {
+ super(autohide, modal);
+ setGlassEnabled(modal);
+ init();
+ }
- private String calculatePercent(final int currentSize, final String percent) {
- return String.valueOf(currentSize * Integer.valueOf(percent.replace("%", "")) / 100) + "px";
- }
+ public void defaultStyle() {
+ addStyleName("k-opacity90");
+ addStyleName("k-box-10shadow");
+ }
- public void defaultStyle() {
- addStyleName("k-opacity90");
- addStyleName("k-box-10shadow");
- }
-
- private void init() {
- setSizes();
- Window.addResizeHandler(new ResizeHandler() {
- @Override
- public void onResize(final ResizeEvent event) {
- setSizeWithListener(event.getWidth(), event.getHeight());
- if (isShowing()) {
- if (showCentered) {
- setCenterPositionImpl();
- } else {
- showRelativeImpl();
- }
- }
- }
- });
- }
-
- public void setCenterPosition() {
- setCenterPositionImpl();
- }
-
- protected abstract void setCenterPositionImpl();
-
- @Override
- public void setHeight(final String height) {
- this.height = height;
- setSizes();
- }
-
- @Override
- public void setSize(final String width, final String height) {
- this.width = width;
- this.height = height;
- setSizes();
- }
-
- private void setSizes() {
- setSizeWithListener(Window.getClientWidth(), Window.getClientHeight());
- }
-
- private void setSizeWithListener(final int windowWidth, final int windowHeight) {
- if (width != null) {
- if (width.contains("%")) {
- calculatePercent(windowWidth, width);
- } else {
- super.setWidth(width);
- }
+ private void init() {
+ Window.addResizeHandler(new ResizeHandler() {
+ @Override
+ public void onResize(final ResizeEvent event) {
+ if (isShowing()) {
+ if (showCentered) {
+ setCenterPositionImpl();
+ } else {
+ showRelativeImpl();
+ }
}
- if (height != null) {
- if (height.contains("%")) {
- calculatePercent(windowHeight, height);
- } else {
- super.setHeight(height);
- }
- }
- }
+ }
+ });
+ }
- @Override
- public void setWidth(final String width) {
- this.width = width;
- setSizes();
- }
+ public void setCenterPosition() {
+ setCenterPositionImpl();
+ }
- public void showCentered() {
- showCentered = true;
- setCenterPositionImpl();
- }
+ protected abstract void setCenterPositionImpl();
- public void showNear(final UIObject object) {
- this.showNearObject = object;
- showCentered = false;
- showRelativeImpl();
- }
+ public void showCentered() {
+ showCentered = true;
+ setCenterPositionImpl();
+ }
- private void showRelativeImpl() {
- showRelativeTo(showNearObject);
- }
+ public void showNear(final UIObject object) {
+ this.showNearObject = object;
+ showCentered = false;
+ showRelativeImpl();
+ }
+
+ private void showRelativeImpl() {
+ showRelativeTo(showNearObject);
+ }
}
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-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -118,6 +118,14 @@
firstBtn.setVisible(visible);
}
+ public void setInnerHeight(final String height) {
+ vp.setHeight(height);
+ }
+
+ public void setInnerWidth(final String width) {
+ vp.setWidth(width);
+ }
+
public void setSecondBtnId(final String id) {
secondBtn.ensureDebugId(id);
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -19,143 +19,214 @@
*/
package cc.kune.common.client.ui.dialogs;
+import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.client.ui.PopupTopPanel;
import cc.kune.common.client.utils.TextUtils;
import com.google.gwt.event.logical.shared.HasCloseHandlers;
+import com.google.gwt.event.logical.shared.ResizeEvent;
+import com.google.gwt.event.logical.shared.ResizeHandler;
+import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.UIObject;
public class BasicTopDialog extends BasicDialog {
- public static class Builder {
- private final boolean autohide;
- private boolean autoscroll = false;
- private final String dialogId;
- private String firstButtonId;
- private String firstButtonTitle;
- private String height = "70%";
- private String icon;
- private final boolean modal;
- private String sndButtonId;
- private String sndButtonTitle;
- private int tabIndexStart = 0;
- private String title;
- private String width = "400px";
+ public static class Builder {
+ private final boolean autohide;
+ private boolean autoscroll = false;
+ private final String dialogId;
+ private String firstButtonId;
+ private String firstButtonTitle;
+ private String height = "70%";
+ private String icon;
+ private final boolean modal;
+ private String sndButtonId;
+ private String sndButtonTitle;
+ private int tabIndexStart = 0;
+ private String title;
+ private String width;
- public Builder(final String dialogId, final boolean autohide, final boolean modal) {
- // Required params
- this.autohide = autohide;
- this.modal = modal;
- this.dialogId = dialogId;
- }
+ public Builder(final String dialogId, final boolean autohide, final boolean modal) {
+ // Required params
+ this.autohide = autohide;
+ this.modal = modal;
+ this.dialogId = dialogId;
+ }
- public Builder autoscroll(final boolean autoscroll) {
- // Not used for now
- this.autoscroll = autoscroll;
- return this;
- }
+ public Builder autoscroll(final boolean autoscroll) {
+ // Not used for now
+ this.autoscroll = autoscroll;
+ return this;
+ }
- public BasicTopDialog build() {
- return new BasicTopDialog(this);
- }
+ public BasicTopDialog build() {
+ return new BasicTopDialog(this);
+ }
- public Builder firstButtonId(final String firstButtonId) {
- this.firstButtonId = firstButtonId;
- return this;
- }
+ public Builder firstButtonId(final String firstButtonId) {
+ this.firstButtonId = firstButtonId;
+ return this;
+ }
- public Builder firstButtonTitle(final String firstButtonTitle) {
- this.firstButtonTitle = firstButtonTitle;
- return this;
- }
+ public Builder firstButtonTitle(final String firstButtonTitle) {
+ this.firstButtonTitle = firstButtonTitle;
+ return this;
+ }
- public Builder height(final int height) {
- this.height = String.valueOf(height);
- return this;
- }
+ public Builder height(final int height) {
+ this.height = String.valueOf(height);
+ return this;
+ }
- public Builder height(final String height) {
- this.height = height;
- return this;
- }
+ public Builder height(final String height) {
+ this.height = height;
+ return this;
+ }
- public Builder icon(final String icon) {
- this.icon = icon;
- return this;
- }
+ public Builder icon(final String icon) {
+ this.icon = icon;
+ return this;
+ }
- public Builder sndButtonId(final String sndButtonId) {
- this.sndButtonId = sndButtonId;
- return this;
- }
+ public Builder sndButtonId(final String sndButtonId) {
+ this.sndButtonId = sndButtonId;
+ return this;
+ }
- public Builder sndButtonTitle(final String sndButtonTitle) {
- this.sndButtonTitle = sndButtonTitle;
- return this;
- }
+ public Builder sndButtonTitle(final String sndButtonTitle) {
+ this.sndButtonTitle = sndButtonTitle;
+ return this;
+ }
- public Builder tabIndexStart(final int tabIndexStart) {
- this.tabIndexStart = tabIndexStart;
- return this;
- }
+ public Builder tabIndexStart(final int tabIndexStart) {
+ this.tabIndexStart = tabIndexStart;
+ return this;
+ }
- public Builder title(final String title) {
- this.title = title;
- return this;
- }
+ public Builder title(final String title) {
+ this.title = title;
+ return this;
+ }
- public Builder width(final int width) {
- this.width = String.valueOf(width);
- return this;
- }
+ public Builder width(final int width) {
+ this.width = String.valueOf(width);
+ return this;
+ }
- public Builder width(final String width) {
- this.width = width;
- return this;
- }
-
+ public Builder width(final String width) {
+ this.width = width;
+ return this;
}
- private final PopupTopPanel popup;
+ }
- private BasicTopDialog(final Builder builder) {
- popup = new PopupTopPanel(builder.autohide, builder.modal);
- popup.add(this);
- popup.ensureDebugId(builder.dialogId);
- super.getTitleText().setText(builder.title);
- if (TextUtils.notEmpty(builder.icon)) {
- super.setTitleIcon(builder.icon);
- }
- super.setFirstBtnText(builder.firstButtonTitle);
- super.setFirstBtnId(builder.firstButtonId);
- super.setFirstBtnTabIndex(builder.tabIndexStart);
- super.setSecondBtnText(builder.sndButtonTitle);
- super.setSecondBtnId(builder.sndButtonId);
- super.setSecondBtnTabIndex(builder.tabIndexStart + 1);
- super.getTitleText().setText(builder.title);
- popup.setWidth(builder.width);
- popup.setHeight(builder.height);
- }
+ private String height;
+ private final PopupTopPanel popup;
+ private String width;
- public HasCloseHandlers<PopupPanel> getClose() {
- return popup;
+ private BasicTopDialog(final Builder builder) {
+ popup = new PopupTopPanel(builder.autohide, builder.modal);
+ popup.add(this);
+ popup.ensureDebugId(builder.dialogId);
+ super.getTitleText().setText(builder.title);
+ if (TextUtils.notEmpty(builder.icon)) {
+ super.setTitleIcon(builder.icon);
}
+ super.setFirstBtnText(builder.firstButtonTitle);
+ super.setFirstBtnId(builder.firstButtonId);
+ super.setFirstBtnTabIndex(builder.tabIndexStart);
+ super.setSecondBtnText(builder.sndButtonTitle);
+ super.setSecondBtnId(builder.sndButtonId);
+ super.setSecondBtnTabIndex(builder.tabIndexStart + 1);
+ super.getTitleText().setText(builder.title);
+ this.setWidth(builder.width);
+ this.setHeight(builder.height);
+ setSizes();
+ Window.addResizeHandler(new ResizeHandler() {
+ @Override
+ public void onResize(final ResizeEvent event) {
+ setSizes(event.getWidth(), event.getHeight());
+ }
+ });
+ }
- public void hide() {
- popup.hide();
- }
+ private String calculatePercent(final int currentSize, final String percent) {
+ return String.valueOf(currentSize * Integer.valueOf(percent.replace("%", "")) / 100) + "px";
+ }
- @Override
- public void setFirstBtnTitle(final String title) {
- super.setFirstBtnTitle(title);
- }
+ public HasCloseHandlers<PopupPanel> getClose() {
+ return popup;
+ }
- public void showCentered() {
- popup.showCentered();
+ public void hide() {
+ popup.hide();
+ }
+
+ @Override
+ public void setFirstBtnTitle(final String title) {
+ super.setFirstBtnTitle(title);
+ }
+
+ @Override
+ public void setHeight(final String height) {
+ this.height = height;
+ setSizes();
+ }
+
+ @Override
+ public void setSize(final String width, final String height) {
+ this.width = width;
+ this.height = height;
+ setSizes();
+ }
+
+ private void setSizes() {
+ setSizes(Window.getClientWidth(), Window.getClientHeight());
+ }
+
+ private void setSizes(final int windowWidth, final int windowHeight) {
+ String newWidth = null;
+ String newHeight = null;
+ if (width != null) {
+ if (width.contains("%")) {
+ newWidth = calculatePercent(windowWidth, width);
+ } else {
+ newWidth = width;
+ }
}
+ if (height != null) {
+ if (height.contains("%")) {
+ newHeight = calculatePercent(windowHeight, height);
+ } else {
+ newHeight = height;
+ }
+ }
+ if (newWidth != null) {
+ NotifyUser.info(newWidth);
+ // popup.setWidth(newWidth);
+ // super.setWidth(newWidth);
+ super.setInnerWidth(newWidth);
+ }
+ if (newHeight != null) {
+ NotifyUser.info(newHeight);
+ // popup.setHeight(newHeight);
+ // super.setHeight(newHeight);
+ super.setInnerHeight(newHeight);
+ }
+ }
- public void showRelativeTo(final UIObject object) {
- popup.showRelativeTo(object);
- }
+ @Override
+ public void setWidth(final String width) {
+ this.width = width;
+ setSizes();
+ }
+
+ public void showCentered() {
+ popup.showCentered();
+ }
+
+ public void showRelativeTo(final UIObject object) {
+ popup.showRelativeTo(object);
+ }
}
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-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-05-03 11:29:33 UTC (rev 1335)
@@ -138,17 +138,17 @@
color: #552200;
font-size: 20px;
font-weight: bold;
- margin: 0 0 0 6px;
+ margin: 0 0 0 0px;
}
.k-dialog-innerp {
background-color: #FFFFFF;
border: solid 1px #F2F2F2;
- margin: 0px 4px 10px;
+ margin: 34px 16px 20px 16px;
}
.k-dialog-btn-area {
- padding: 0 5px 5px 5px;
+ padding: 0 15px 15px 15px;
margin-bottom: 30px;
}
@@ -634,3 +634,7 @@
background-color: #FFFBC1;
color: black !important;
}
+
+.k-btn-min {
+ min-width: 19px !important;
+}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -15,32 +15,33 @@
public class AboutKuneDialog {
- interface Binder extends UiBinder<Widget, AboutKuneDialog> {
- }
- public static final String ABOUT_KUNE_BTN_ID = "kune-about-button-diag";
- public static final String ABOUT_KUNE_ID = "kune-about-diag";
- private static final Binder BINDER = GWT.create(Binder.class);
- private final BasicTopDialog dialog;
- @UiField
- FlowPanel flow;
- @UiField
- Frame frame;
+ interface Binder extends UiBinder<Widget, AboutKuneDialog> {
+ }
+ public static final String ABOUT_KUNE_BTN_ID = "kune-about-button-diag";
+ public static final String ABOUT_KUNE_ID = "kune-about-diag";
+ private static final Binder BINDER = GWT.create(Binder.class);
+ private final BasicTopDialog dialog;
+ @UiField
+ FlowPanel flow;
+ @UiField
+ Frame frame;
- @Inject
- public AboutKuneDialog(final I18nTranslationService i18n) {
- dialog = new BasicTopDialog.Builder(ABOUT_KUNE_ID, true, true).title(i18n.t("About Kune")).autoscroll(false).firstButtonTitle(
- i18n.t("Ok")).firstButtonId(ABOUT_KUNE_BTN_ID).tabIndexStart(1).height("70%").build();
- dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
- dialog.getFirstBtn().addClickHandler(new ClickHandler() {
- @Override
- public void onClick(final ClickEvent event) {
- dialog.hide();
- }
- });
- }
+ @Inject
+ public AboutKuneDialog(final I18nTranslationService i18n) {
+ dialog = new BasicTopDialog.Builder(ABOUT_KUNE_ID, true, true).title(i18n.t("About Kune")).autoscroll(
+ false).firstButtonTitle(i18n.t("Ok")).firstButtonId(ABOUT_KUNE_BTN_ID).tabIndexStart(1).height(
+ "300px").width("400px").build();
+ dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
+ dialog.getFirstBtn().addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ dialog.hide();
+ }
+ });
+ }
- public void showCentered() {
- dialog.showCentered();
- }
+ public void showCentered() {
+ dialog.showCentered();
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml 2011-05-03 11:29:33 UTC (rev 1335)
@@ -7,15 +7,16 @@
}
.frame {
- border: 0px;
- margin: 0px;
- width: 100%;
- background-color: #F2F2F2;
+ border: 0px;
+ margin: 0px;
+ width: 100%;
+ height: 300px;
+ background-color: #F2F2F2;
}
</ui:style>
<g:FlowPanel styleName="{style.panel}" ui:field="flow">
- <g:Frame styleName="{style.frame}" url="about.html"
- ui:field="frame" />
+ <g:Frame styleName="{style.frame}" url="about.html"
+ ui:field="frame" />
</g:FlowPanel>
</ui:UiBinder>
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -20,45 +20,47 @@
public class ErrorsDialog {
- interface Binder extends UiBinder<Widget, ErrorsDialog> {
- }
- private static final Binder BINDER = GWT.create(Binder.class);
- public static final String ERROR_LOGGER_BUTTON_ID = "kune-error-button-diag";
- public static final String ERROR_LOGGER_ID = "kune-error-diag";
+ interface Binder extends UiBinder<Widget, ErrorsDialog> {
+ }
+ private static final Binder BINDER = GWT.create(Binder.class);
+ public static final String ERROR_LOGGER_BUTTON_ID = "kune-error-button-diag";
+ public static final String ERROR_LOGGER_ID = "kune-error-diag";
- private final BasicTopDialog dialog;
- @UiField
- VerticalPanel panel;
+ private final BasicTopDialog dialog;
+ @UiField
+ VerticalPanel panel;
- @Inject
- public ErrorsDialog(final I18nTranslationService i18n, final EventBus eventBus) {
- dialog = new BasicTopDialog.Builder(ERROR_LOGGER_ID, true, true).title(i18n.t("Errors info")).autoscroll(true).firstButtonTitle(
- i18n.t("Ok")).firstButtonId(ERROR_LOGGER_BUTTON_ID).tabIndexStart(1).height("300px").build();
- dialog.getTitleText().setText(i18n.t("Info about errors"));
- final InlineLabel subTitle = new InlineLabel(i18n.t("Please copy/paste this info to report problems"));
- dialog.getInnerPanel().add(subTitle);
- dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
- dialog.getFirstBtn().addClickHandler(new ClickHandler() {
- @Override
- public void onClick(final ClickEvent event) {
- dialog.hide();
- }
- });
- eventBus.addHandler(UserNotifyEvent.getType(), new UserNotifyEvent.UserNotifyHandler() {
- @Override
- public void onUserNotify(final UserNotifyEvent event) {
- final NotifyLevel level = event.getLevel();
- final IconLabel iconMessage = new IconLabel();
- iconMessage.setLeftIconResource(UserMessageImagesUtil.getIcon(level));
- iconMessage.setText(event.getMessage());
- iconMessage.setWordWrap(true);
- panel.insert(iconMessage, 0);
- }
- });
- }
+ @Inject
+ public ErrorsDialog(final I18nTranslationService i18n, final EventBus eventBus) {
+ dialog = new BasicTopDialog.Builder(ERROR_LOGGER_ID, true, true).title(i18n.t("Errors info")).autoscroll(
+ true).firstButtonTitle(i18n.t("Ok")).firstButtonId(ERROR_LOGGER_BUTTON_ID).tabIndexStart(1).width(
+ "400px").height("400px").build();
+ dialog.getTitleText().setText(i18n.t("Info about errors"));
+ final InlineLabel subTitle = new InlineLabel(
+ i18n.t("Please copy/paste this info to report problems"));
+ dialog.getInnerPanel().add(subTitle);
+ dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
+ dialog.getFirstBtn().addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ dialog.hide();
+ }
+ });
+ eventBus.addHandler(UserNotifyEvent.getType(), new UserNotifyEvent.UserNotifyHandler() {
+ @Override
+ public void onUserNotify(final UserNotifyEvent event) {
+ final NotifyLevel level = event.getLevel();
+ final IconLabel iconMessage = new IconLabel();
+ iconMessage.setLeftIconResource(UserMessageImagesUtil.getIcon(level));
+ iconMessage.setText(event.getMessage());
+ iconMessage.setWordWrap(true);
+ panel.insert(iconMessage, 0);
+ }
+ });
+ }
- public void showCentered() {
- dialog.showCentered();
- }
+ public void showCentered() {
+ dialog.showCentered();
+ }
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-03 11:29:33 UTC (rev 1335)
@@ -17,7 +17,7 @@
font: 'Ubuntu', Arial;
}
-div, span {
+div,span {
outline: 0 none;
}
@@ -870,6 +870,10 @@
outline: 0 none;
/* height: 26px !important; */
font-weight: bold;
+ width: auto !IMPORTANT;
+ width: 50px;
+ min-width: 50px;
+ "
/*
font-size:small;
cursor: pointer;
@@ -877,18 +881,21 @@
padding-left: 25px !important; */
}
-.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover,button.k-button:hover {
+.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:hover span,.k-sn-mainpanel button:hover span,button.k-button:hover span {
+.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 {
+.k-sn-mainpanel .x-btn button:active,.k-sn-mainpanel button:active,button.k-button:active
+ {
border-top-color: #ffffff;
background: #ffffff;
}
@@ -1138,6 +1145,6 @@
}
table.k-folder-viewer {
- border: 5px solid #FFF;
- border-collapse: separate;
+ border: 5px solid #FFF;
+ border-collapse: separate;
}
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-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/core/server/state/StateContent.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -28,144 +28,149 @@
import cc.kune.domain.User;
public class StateContent extends StateContainer {
- private List<User> authors;
- private String content;
- private AccessRights contentRights;
- private Double currentUserRate;
- private String documentId;
- private boolean isParticipant;
- private boolean isWave;
- private BasicMimeType mimeType;
- private Date publishedOn;
- private Double rate;
- private Integer rateByUsers;
- private ContentStatus status;
- private String tags;
- private int version;
- private String waveRef;
+ private List<User> authors;
+ private String content;
+ private AccessRights contentRights;
+ private Double currentUserRate;
+ private String documentId;
+ private boolean isParticipant;
+ private boolean isWave;
+ private BasicMimeType mimeType;
+ private Date publishedOn;
+ private Double rate;
+ private Integer rateByUsers;
+ private ContentStatus status;
+ private String tags;
+ private int version;
+ private String waveRef;
- public StateContent() {
- }
+ public StateContent() {
+ }
- public List<User> getAuthors() {
- return authors;
- }
+ public List<User> getAuthors() {
+ return authors;
+ }
- public String getContent() {
- return content;
- }
+ public String getContent() {
+ return content;
+ }
- public AccessRights getContentRights() {
- return contentRights;
- }
+ public AccessRights getContentRights() {
+ return contentRights;
+ }
- public Double getCurrentUserRate() {
- return currentUserRate;
- }
+ public Double getCurrentUserRate() {
+ return currentUserRate;
+ }
- public String getDocumentId() {
- return documentId;
- }
+ public String getDocumentId() {
+ return documentId;
+ }
- public BasicMimeType getMimeType() {
- return mimeType;
- }
+ public boolean getIsParticipant() {
+ return isParticipant;
+ }
- public Date getPublishedOn() {
- return publishedOn;
- }
+ public BasicMimeType getMimeType() {
+ return mimeType;
+ }
- public Double getRate() {
- return rate;
- }
+ public Date getPublishedOn() {
+ return publishedOn;
+ }
- public Integer getRateByUsers() {
- return rateByUsers;
- }
+ public Double getRate() {
+ return rate;
+ }
- public ContentStatus getStatus() {
- return status;
- }
+ public Integer getRateByUsers() {
+ return rateByUsers;
+ }
- public String getTags() {
- return tags;
- }
+ public ContentStatus getStatus() {
+ return status;
+ }
- public int getVersion() {
- return version;
- }
+ public String getTags() {
+ return tags;
+ }
- public String getWaveRef() {
- return waveRef;
- }
+ public int getVersion() {
+ return version;
+ }
- public boolean isParticipant() {
- return isParticipant;
- }
+ public String getWaveRef() {
+ return waveRef;
+ }
- public boolean isWave() {
- return waveRef != null;
- }
+ public boolean isParticipant() {
+ return isParticipant;
+ }
- public void setAuthors(final List<User> authors) {
- this.authors = authors;
- }
+ public boolean isWave() {
+ return waveRef != null;
+ }
- public void setContent(final String content) {
- this.content = content;
- }
+ public void setAuthors(final List<User> authors) {
+ this.authors = authors;
+ }
- public void setContentRights(final AccessRights contentRights) {
- this.contentRights = contentRights;
- }
+ public void setContent(final String content) {
+ this.content = content;
+ }
- public void setCurrentUserRate(final Double currentUserRate) {
- this.currentUserRate = currentUserRate;
- }
+ public void setContentRights(final AccessRights contentRights) {
+ this.contentRights = contentRights;
+ }
- public void setDocumentId(final String documentId) {
- this.documentId = documentId;
- }
+ public void setCurrentUserRate(final Double currentUserRate) {
+ this.currentUserRate = currentUserRate;
+ }
- void setIsParticipant(final boolean isParticipant) {
- this.isParticipant = isParticipant;
- }
+ public void setDocumentId(final String documentId) {
+ this.documentId = documentId;
+ }
- public void setMimeType(final BasicMimeType mimeType) {
- this.mimeType = mimeType;
- }
+ public void setIsParticipant(final boolean isParticipant) {
+ this.isParticipant = isParticipant;
+ }
- public void setPublishedOn(final Date publishedOn) {
- this.publishedOn = publishedOn;
- }
+ public void setMimeType(final BasicMimeType mimeType) {
+ this.mimeType = mimeType;
+ }
- public void setRate(final Double rate) {
- this.rate = rate;
- }
+ public void setPublishedOn(final Date publishedOn) {
+ this.publishedOn = publishedOn;
+ }
- public void setRateByUsers(final Integer rateByUsers) {
- this.rateByUsers = rateByUsers;
- }
+ public void setRate(final Double rate) {
+ this.rate = rate;
+ }
- public void setStatus(final ContentStatus status) {
- this.status = status;
- }
+ public void setRateByUsers(final Integer rateByUsers) {
+ this.rateByUsers = rateByUsers;
+ }
- public void setTags(final String tags) {
- this.tags = tags;
- }
+ public void setStatus(final ContentStatus status) {
+ this.status = status;
+ }
- public void setVersion(final int version) {
- this.version = version;
- }
+ public void setTags(final String tags) {
+ this.tags = tags;
+ }
- public void setWaveRef(final String waveRef) {
- this.waveRef = waveRef;
- }
+ public void setVersion(final int version) {
+ this.version = version;
+ }
- @Override
- public String toString() {
- return "State[" + getStateToken() + "/" + getTypeId() + (mimeType != null ? "-" + mimeType : "") + "]";
- }
+ public void setWaveRef(final String waveRef) {
+ this.waveRef = waveRef;
+ }
+ @Override
+ public String toString() {
+ return "State[" + getStateToken() + "/" + getTypeId() + (mimeType != null ? "-" + mimeType : "")
+ + "]";
+ }
+
}
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-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -44,123 +44,125 @@
@Singleton
public class StateServiceDefault implements StateService {
- private final ContentManager contentManager;
- private final GroupManager groupManager;
- private final I18nTranslationService i18n;
- private final KuneWaveManager kuneWaveManager;
- private final AccessRightsService rightsService;
- private final SocialNetworkManager socialNetworkManager;
- private final TagUserContentManager tagManager;
+ private final ContentManager contentManager;
+ private final GroupManager groupManager;
+ private final I18nTranslationService i18n;
+ private final KuneWaveManager kuneWaveManager;
+ private final AccessRightsService rightsService;
+ private final SocialNetworkManager socialNetworkManager;
+ private final TagUserContentManager tagManager;
- @Inject
- public StateServiceDefault(final GroupManager groupManager, final SocialNetworkManager socialNetworkManager,
- final ContentManager contentManager, final TagUserContentManager tagManager,
- final AccessRightsService rightsService, final I18nTranslationService i18n,
- final KuneWaveManager kuneWaveManager) {
- this.groupManager = groupManager;
- this.socialNetworkManager = socialNetworkManager;
- this.contentManager = contentManager;
- this.tagManager = tagManager;
- this.rightsService = rightsService;
- this.i18n = i18n;
- this.kuneWaveManager = kuneWaveManager;
- }
+ @Inject
+ public StateServiceDefault(final GroupManager groupManager,
+ final SocialNetworkManager socialNetworkManager, final ContentManager contentManager,
+ final TagUserContentManager tagManager, final AccessRightsService rightsService,
+ final I18nTranslationService i18n, final KuneWaveManager kuneWaveManager) {
+ this.groupManager = groupManager;
+ this.socialNetworkManager = socialNetworkManager;
+ this.contentManager = contentManager;
+ this.tagManager = tagManager;
+ this.rightsService = rightsService;
+ this.i18n = i18n;
+ this.kuneWaveManager = kuneWaveManager;
+ }
- private Container calculateRootContainer(final Container container) {
- return container.isRoot() ? container : container.getAbsolutePath().get(0);
- }
+ private Container calculateRootContainer(final Container container) {
+ return container.isRoot() ? container : container.getAbsolutePath().get(0);
+ }
- @Override
- public StateContainer create(final User userLogged, final Container container) {
- final StateContainer state = new StateContainer();
- state.setTitle(container.getName());
- state.setTypeId(container.getTypeId());
- state.setLanguage(container.getLanguage());
- state.setStateToken(container.getStateToken());
- state.setRootContainer(calculateRootContainer(container));
- state.setLicense(container.getOwner().getDefaultLicense());
- state.setAccessLists(container.getAccessLists());
- final Group group = container.getOwner();
- setCommon(state, userLogged, group, container);
- return state;
- }
+ @Override
+ public StateContainer create(final User userLogged, final Container container) {
+ final StateContainer state = new StateContainer();
+ state.setTitle(container.getName());
+ state.setTypeId(container.getTypeId());
+ state.setLanguage(container.getLanguage());
+ state.setStateToken(container.getStateToken());
+ state.setRootContainer(calculateRootContainer(container));
+ state.setLicense(container.getOwner().getDefaultLicense());
+ state.setAccessLists(container.getAccessLists());
+ final Group group = container.getOwner();
+ setCommon(state, userLogged, group, container);
+ return state;
+ }
- @Override
- public StateContent create(final User userLogged, final Content content) {
- final StateContent state = new StateContent();
- final String typeId = content.getTypeId();
- state.setTypeId(typeId);
- state.setMimeType(content.getMimeType());
- state.setDocumentId(content.getId().toString());
- state.setLanguage(content.getLanguage());
- state.setPublishedOn(content.getPublishedOn());
- state.setAuthors(content.getAuthors());
- state.setTags(tagManager.getTagsAsString(userLogged, content));
- state.setStatus(content.getStatus());
- state.setStateToken(content.getStateToken());
- final Revision revision = content.getLastRevision();
- state.setVersion(content.getVersion());
- final char[] text = revision.getBody();
- final String textBody = text == null ? null : new String(text);
- if (content.isWave()) {
- state.setWaveRef(textBody);
- try {
- final Wavelet wavelet = kuneWaveManager.fetchWavelet(
- JavaWaverefEncoder.decodeWaveRefFromPath(textBody), content.getAuthors().get(0).getShortName());
- state.setContent(wavelet.getRootBlip().getContent());
- state.setTitle(wavelet.getTitle());
- state.setIsParticipant(kuneWaveManager.isParticipant(wavelet, userLogged.getShortName()));
- } catch (final InvalidWaveRefException e) {
- throw new DefaultException("Error retriving Wave");
- }
- } else {
- state.setContent(textBody);
- state.setTitle(revision.getTitle());
- }
- final Container container = content.getContainer();
- state.setRootContainer(calculateRootContainer(container));
- final License license = content.getLicense();
- final Group group = container.getOwner();
- state.setLicense(license == null ? group.getDefaultLicense() : license);
- state.setContentRights(rightsService.get(userLogged, content.getAccessLists()));
- state.setAccessLists(content.getAccessLists());
- setCommon(state, userLogged, group, container);
- if (userLogged != User.UNKNOWN_USER) {
- state.setCurrentUserRate(contentManager.getRateContent(userLogged, content));
- }
- // FIXME: user RateResult
- final Double rateAvg = contentManager.getRateAvg(content);
- state.setRate(rateAvg != null ? rateAvg : 0D);
- final Long rateByUsers = contentManager.getRateByUsers(content);
- state.setRateByUsers(rateByUsers != null ? rateByUsers.intValue() : 0);
- return state;
+ @Override
+ public StateContent create(final User userLogged, final Content content) {
+ final StateContent state = new StateContent();
+ final String typeId = content.getTypeId();
+ state.setTypeId(typeId);
+ state.setMimeType(content.getMimeType());
+ state.setDocumentId(content.getId().toString());
+ state.setLanguage(content.getLanguage());
+ state.setPublishedOn(content.getPublishedOn());
+ state.setAuthors(content.getAuthors());
+ state.setTags(tagManager.getTagsAsString(userLogged, content));
+ state.setStatus(content.getStatus());
+ state.setStateToken(content.getStateToken());
+ final Revision revision = content.getLastRevision();
+ state.setVersion(content.getVersion());
+ final char[] text = revision.getBody();
+ final String textBody = text == null ? null : new String(text);
+ if (content.isWave()) {
+ state.setWaveRef(textBody);
+ try {
+ final Wavelet wavelet = kuneWaveManager.fetchWavelet(
+ JavaWaverefEncoder.decodeWaveRefFromPath(textBody),
+ content.getAuthors().get(0).getShortName());
+ state.setContent(wavelet.getRootBlip().getContent());
+ state.setTitle(wavelet.getTitle());
+ state.setIsParticipant(userLogged != User.UNKNOWN_USER ? kuneWaveManager.isParticipant(wavelet,
+ userLogged.getShortName()) : false);
+ } catch (final InvalidWaveRefException e) {
+ throw new DefaultException("Error retriving Wave");
+ }
+ } else {
+ state.setContent(textBody);
+ state.setTitle(revision.getTitle());
}
-
- @Override
- public StateNoContent createNoHome(final User userLogged, final String groupShortName) {
- final Group group = groupManager.findByShortName(groupShortName);
- assert (group.isPersonal());
- final StateNoContent state = new StateNoContent();
- state.setGroup(group);
- state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
- setSocialNetwork(state, userLogged, group);
- state.setStateToken(group.getStateToken());
- state.setTitle("<h2>" + i18n.t("This user does not have a homepage") + "</h2>");
- return state;
+ final Container container = content.getContainer();
+ state.setRootContainer(calculateRootContainer(container));
+ final License license = content.getLicense();
+ final Group group = container.getOwner();
+ state.setLicense(license == null ? group.getDefaultLicense() : license);
+ state.setContentRights(rightsService.get(userLogged, content.getAccessLists()));
+ state.setAccessLists(content.getAccessLists());
+ setCommon(state, userLogged, group, container);
+ if (userLogged != User.UNKNOWN_USER) {
+ state.setCurrentUserRate(contentManager.getRateContent(userLogged, content));
}
+ // FIXME: user RateResult
+ final Double rateAvg = contentManager.getRateAvg(content);
+ state.setRate(rateAvg != null ? rateAvg : 0D);
+ final Long rateByUsers = contentManager.getRateByUsers(content);
+ state.setRateByUsers(rateByUsers != null ? rateByUsers.intValue() : 0);
+ return state;
+ }
- private void setCommon(final StateContainer state, final User userLogged, final Group group,
- final Container container) {
- state.setToolName(container.getToolName());
- state.setGroup(group);
- state.setContainer(container);
- state.setContainerRights(rightsService.get(userLogged, container.getAccessLists()));
- state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
- state.setTagCloudResult(tagManager.getTagCloudResultByGroup(group));
- setSocialNetwork(state, userLogged, group);
- }
+ @Override
+ public StateNoContent createNoHome(final User userLogged, final String groupShortName) {
+ final Group group = groupManager.findByShortName(groupShortName);
+ assert (group.isPersonal());
+ final StateNoContent state = new StateNoContent();
+ state.setGroup(group);
+ state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
+ setSocialNetwork(state, userLogged, group);
+ state.setStateToken(group.getStateToken());
+ state.setTitle("<h2>" + i18n.t("This user does not have a homepage") + "</h2>");
+ return state;
+ }
- private void setSocialNetwork(final StateAbstract state, final User userLogged, final Group group) {
- state.setSocialNetworkData(socialNetworkManager.getSocialNetworkData(userLogged, group));
- }
+ private void setCommon(final StateContainer state, final User userLogged, final Group group,
+ final Container container) {
+ state.setToolName(container.getToolName());
+ state.setGroup(group);
+ state.setContainer(container);
+ state.setContainerRights(rightsService.get(userLogged, container.getAccessLists()));
+ state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
+ state.setTagCloudResult(tagManager.getTagCloudResultByGroup(group));
+ setSocialNetwork(state, userLogged, group);
+ }
+
+ private void setSocialNetwork(final StateAbstract state, final User userLogged, final Group group) {
+ state.setSocialNetworkData(socialNetworkManager.getSocialNetworkData(userLogged, group));
+ }
}
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-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/core/shared/dto/StateContentDTO.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -30,145 +30,154 @@
public class StateContentDTO extends StateContainerDTO implements IsSerializable, HasContent {
- private List<UserSimpleDTO> authors;
- private String content;
- private AccessRights contentRights;
- private Double currentUserRate;
- private String documentId;
- private boolean isParticipant;
- private BasicMimeTypeDTO mimeType;
- private Date publishedOn;
- private Double rate;
- private Integer rateByUsers;
- private ContentStatus status;
- private String tags;
- private int version;
- private String waveRef;
+ private List<UserSimpleDTO> authors;
+ private String content;
+ private AccessRights contentRights;
+ private Double currentUserRate;
+ private String documentId;
+ private boolean isParticipant;
+ private BasicMimeTypeDTO mimeType;
+ private Date publishedOn;
+ private Double rate;
+ private Integer rateByUsers;
+ private ContentStatus status;
+ private String tags;
+ private int version;
+ private String waveRef;
- public StateContentDTO() {
- }
+ public StateContentDTO() {
+ }
- public List<UserSimpleDTO> getAuthors() {
- return authors;
- }
+ public List<UserSimpleDTO> getAuthors() {
+ return authors;
+ }
- public String getContent() {
- return content;
- }
+ public String getContent() {
+ return content;
+ }
- public AccessRights getContentRights() {
- return contentRights;
- }
+ public AccessRights getContentRights() {
+ return contentRights;
+ }
- public Double getCurrentUserRate() {
- return currentUserRate;
- }
+ public Double getCurrentUserRate() {
+ return currentUserRate;
+ }
- public String getDocumentId() {
- return documentId;
- }
+ public String getDocumentId() {
+ return documentId;
+ }
- public BasicMimeTypeDTO getMimeType() {
- return mimeType;
- }
+ public boolean getIsParticipant() {
+ return isParticipant;
+ }
- public Date getPublishedOn() {
- return publishedOn;
- }
+ public BasicMimeTypeDTO getMimeType() {
+ return mimeType;
+ }
- public Double getRate() {
- return rate;
- }
+ public Date getPublishedOn() {
+ return publishedOn;
+ }
- public Integer getRateByUsers() {
- return rateByUsers;
- }
+ public Double getRate() {
+ return rate;
+ }
- public ContentStatus getStatus() {
- return status;
- }
+ public Integer getRateByUsers() {
+ return rateByUsers;
+ }
- public String getTags() {
- return tags;
- }
+ public ContentStatus getStatus() {
+ return status;
+ }
- public int getVersion() {
- return version;
- }
+ public String getTags() {
+ return tags;
+ }
- public String getWaveRef() {
- return waveRef;
- }
+ public int getVersion() {
+ return version;
+ }
- public boolean isParticipant() {
- return isParticipant;
- }
+ public String getWaveRef() {
+ return waveRef;
+ }
- public void setAuthors(final List<UserSimpleDTO> authors) {
- this.authors = authors;
- }
+ public boolean isParticipant() {
+ return isParticipant;
+ }
- public void setContent(final String content) {
- this.content = content;
- }
+ public boolean isWave() {
+ return waveRef != null;
+ }
- public void setContentRights(final AccessRights contentRights) {
- this.contentRights = contentRights;
- }
+ public void setAuthors(final List<UserSimpleDTO> authors) {
+ this.authors = authors;
+ }
- public void setCurrentUserRate(final Double currentUserRate) {
- this.currentUserRate = currentUserRate;
- }
+ public void setContent(final String content) {
+ this.content = content;
+ }
- public void setDocumentId(final String documentId) {
- this.documentId = documentId;
- }
+ public void setContentRights(final AccessRights contentRights) {
+ this.contentRights = contentRights;
+ }
- void setIsParticipant(final boolean isParticipant) {
- this.isParticipant = isParticipant;
- }
+ public void setCurrentUserRate(final Double currentUserRate) {
+ this.currentUserRate = currentUserRate;
+ }
- public void setMimeType(final BasicMimeTypeDTO mimeType) {
- this.mimeType = mimeType;
- }
+ public void setDocumentId(final String documentId) {
+ this.documentId = documentId;
+ }
- public void setPublishedOn(final Date publishedOn) {
- this.publishedOn = publishedOn;
- }
+ public void setIsParticipant(final boolean isParticipant) {
+ this.isParticipant = isParticipant;
+ }
- public void setRate(final Double rate) {
- this.rate = rate;
- }
+ public void setMimeType(final BasicMimeTypeDTO mimeType) {
+ this.mimeType = mimeType;
+ }
- public void setRate(final RateResult result) {
- setRate(result.getRate());
- setRateByUsers(result.getRateByUsers());
- setCurrentUserRate(result.getCurrentUserRate());
- }
+ public void setPublishedOn(final Date publishedOn) {
+ this.publishedOn = publishedOn;
+ }
- public void setRateByUsers(final Integer rateByUsers) {
- this.rateByUsers = rateByUsers;
- }
+ public void setRate(final Double rate) {
+ this.rate = rate;
+ }
- public void setStatus(final ContentStatus status) {
- this.status = status;
- }
+ public void setRate(final RateResult result) {
+ setRate(result.getRate());
+ setRateByUsers(result.getRateByUsers());
+ setCurrentUserRate(result.getCurrentUserRate());
+ }
- public void setTags(final String tags) {
- this.tags = tags;
- }
+ public void setRateByUsers(final Integer rateByUsers) {
+ this.rateByUsers = rateByUsers;
+ }
- public void setVersion(final int version) {
- this.version = version;
- }
+ public void setStatus(final ContentStatus status) {
+ this.status = status;
+ }
- public void setWaveRef(final String waveRef) {
- this.waveRef = waveRef;
- }
+ public void setTags(final String tags) {
+ this.tags = tags;
+ }
- @Override
- public String toString() {
- return "StateDTO[" + getStateToken() + "/" + getTypeId() + (mimeType != null ? "-" + mimeType : "") + "]";
- }
+ public void setVersion(final int version) {
+ this.version = version;
+ }
+ public void setWaveRef(final String waveRef) {
+ this.waveRef = waveRef;
+ }
+
+ @Override
+ public String toString() {
+ return "StateDTO[" + getStateToken() + "/" + getTypeId() + (mimeType != null ? "-" + mimeType : "")
+ + "]";
+ }
+
}
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-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -40,39 +40,38 @@
public class DocsClientActions extends AbstractFoldableToolActions {
- final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- final String[] containers = { TYPE_ROOT, TYPE_FOLDER };
- final String[] containersNoRoot = { TYPE_FOLDER };
- final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] containers = { TYPE_ROOT, TYPE_FOLDER };
+ final String[] containersNoRoot = { TYPE_FOLDER };
+ final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- @Inject
- public DocsClientActions(final I18nUITranslationService i18n, final Session session,
- final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
- final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewDocBtn> newDocBtn,
- final Provider<NewFolderBtn> newFolderBtn, final Provider<OpenDocMenuItem> openContentMenuItem,
- final Provider<DelDocMenuItem> 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, newDocBtn, 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);
- }
+ @Inject
+ public DocsClientActions(final I18nUITranslationService i18n, final Session session,
+ final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
+ final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewDocBtn> newDocBtn,
+ final Provider<NewFolderBtn> newFolderBtn, final Provider<OpenDocMenuItem> openContentMenuItem,
+ final Provider<DelDocMenuItem> 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, newDocBtn, 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() {
- }
+ @Override
+ protected void createPostSessionInitActions() {
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -18,38 +18,39 @@
public class GoParentContainerBtn extends ButtonDescriptor {
- public static class GoParentContainerAction extends AbstractExtendedAction {
+ public static class GoParentContainerAction extends AbstractExtendedAction {
- private final Session session;
- private final StateManager stateManager;
+ private final Session session;
+ private final StateManager stateManager;
- @Inject
- public GoParentContainerAction(final Session session, final StateManager stateManager) {
- this.session = session;
- this.stateManager = stateManager;
- }
-
- @Override
- public void actionPerformed(final ActionEvent event) {
- NotifyUser.showProgress();
- StateToken stateToken;
- final StateAbstractDTO state = session.getCurrentState();
- if (state instanceof StateContentDTO) {
- stateToken = ((StateContentDTO) state).getContainer().getStateToken();
- } else {
- final ContainerDTO container = ((StateContainerDTO) state).getContainer();
- stateToken = container.getStateToken().copy().setFolder(container.getParentFolderId());
- }
- stateManager.gotoStateToken(stateToken);
- // NotifyUser.hideProgress();
- }
-
+ @Inject
+ public GoParentContainerAction(final Session session, final StateManager stateManager) {
+ this.session = session;
+ this.stateManager = stateManager;
}
- public GoParentContainerBtn(final I18nTranslationService i18n, final GoParentContainerAction action,
- final CoreResources res) {
- super(action);
- this.withToolTip(i18n.t("Go up: Open the container folder")).withIcon(res.folderGoUp()).withStyles("k-fl");
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ NotifyUser.showProgress();
+ StateToken stateToken;
+ final StateAbstractDTO state = session.getCurrentState();
+ if (state instanceof StateContentDTO) {
+ stateToken = ((StateContentDTO) state).getContainer().getStateToken();
+ } else {
+ final ContainerDTO container = ((StateContainerDTO) state).getContainer();
+ stateToken = container.getStateToken().copy().setFolder(container.getParentFolderId());
+ }
+ stateManager.gotoStateToken(stateToken);
+ // NotifyUser.hideProgress();
}
+ }
+
+ public GoParentContainerBtn(final I18nTranslationService i18n, final GoParentContainerAction action,
+ final CoreResources res) {
+ super(action);
+ this.withToolTip(i18n.t("Go up: Open the container folder")).withIcon(res.folderGoUp()).withStyles(
+ "k-btn-min, k-fl");
+ }
+
}
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -21,44 +21,45 @@
public class ParticipateInContentBtn extends ButtonDescriptor {
- public static class ParticipateInContentAction extends RolAction {
+ public static class ParticipateInContentAction extends RolAction {
- private final Provider<ContentServiceAsync> contentService;
- private final Session session;
- private final StateManager stateManager;
+ private final Provider<ContentServiceAsync> contentService;
+ private final Session session;
+ private final StateManager stateManager;
- @Inject
- public ParticipateInContentAction(final Session session, final StateManager stateManager,
- final I18nTranslationService i18n, final Provider<ContentServiceAsync> contentService) {
- super(AccessRolDTO.Editor, true);
- this.session = session;
- this.stateManager = stateManager;
- this.contentService = contentService;
- }
+ @Inject
+ public ParticipateInContentAction(final Session session, final StateManager stateManager,
+ final I18nTranslationService i18n, final Provider<ContentServiceAsync> contentService) {
+ super(AccessRolDTO.Editor, true);
+ this.session = session;
+ this.stateManager = stateManager;
+ this.contentService = contentService;
+ }
- @Override
- public void actionPerformed(final ActionEvent event) {
- NotifyUser.showProgressProcessing();
- stateManager.gotoStateToken(((HasContent) session.getCurrentState()).getContainer().getStateToken());
- contentService.get().addParticipant(session.getUserHash(), session.getCurrentStateToken(),
- session.getCurrentUser().getShortName(), new AsyncCallbackSimple<Void>() {
- @Override
- public void onSuccess(final Void arg) {
- NotifyUser.hideProgress();
- }
- });
- }
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ NotifyUser.showProgressProcessing();
+ stateManager.gotoStateToken(((HasContent) session.getCurrentState()).getContainer().getStateToken());
+ contentService.get().addParticipant(session.getUserHash(), session.getCurrentStateToken(),
+ session.getCurrentUser().getShortName(), new AsyncCallbackSimple<Void>() {
+ @Override
+ public void onSuccess(final Void arg) {
+ NotifyUser.hideProgress();
+ }
+ });
}
+ }
- @Inject
- public ParticipateInContentBtn(final I18nTranslationService i18n, final ParticipateInContentAction action,
- final IsLoggedCondition isLogged, final IsCurrentStateEditableCondition isEditable,
- final IsNotParticipantOfCurrentStateCondition isNotParticipant, final CoreResources res) {
- super(action);
- this.withText(i18n.t("Participate")).withToolTip("Participate in the edition of this page").withIcon(
- res.contentEdit()).withStyles("k-def-docbtn, k-fl");
- super.add(isLogged);
- super.add(isEditable);
- super.add(isNotParticipant);
- }
+ @Inject
+ public ParticipateInContentBtn(final I18nTranslationService i18n,
+ final ParticipateInContentAction action, final IsLoggedCondition isLogged,
+ final IsCurrentStateEditableCondition isEditable,
+ final IsNotParticipantOfCurrentStateCondition isNotParticipant, final CoreResources res) {
+ super(action);
+ this.withText(i18n.t("Edit")).withToolTip("Participate in the edition of this page").withIcon(
+ res.contentEdit()).withStyles("k-def-docbtn, k-fl");
+ super.add(isLogged);
+ super.add(isEditable);
+ super.add(isNotParticipant);
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -7,7 +7,6 @@
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.frame.FramedPanel;
import org.waveprotocol.box.webclient.widget.loading.LoadingIndicator;
import org.waveprotocol.wave.client.account.ProfileManager;
import org.waveprotocol.wave.client.account.impl.ProfileManagerImpl;
@@ -44,147 +43,141 @@
import com.gwtplatform.mvp.client.ViewImpl;
public class DocViewerPanel extends ViewImpl implements DocViewerView {
- interface DocsViewerPanelUiBinder extends UiBinder<Widget, DocViewerPanel> {
- }
+ interface DocsViewerPanelUiBinder extends UiBinder<Widget, DocViewerPanel> {
+ }
- private static DocsViewerPanelUiBinder uiBinder = GWT.create(DocsViewerPanelUiBinder.class);
+ 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;
- @UiField
- FramedPanel waveFrame;
- @UiField
- ImplPanel waveHolder;
- private final WaveStore waveStore = new SimpleWaveStore();
+ 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;
+ @UiField
+ ImplPanel waveHolder;
+ private final WaveStore waveStore = new SimpleWaveStore();
- private final Widget widget;
+ private final Widget widget;
- @Inject
- public DocViewerPanel(final GSpaceArmor wsArmor, final ContentCapabilitiesRegistry capabilitiesRegistry,
- final I18nTranslationService i18n) {
- this.gsArmor = wsArmor;
- this.capabilitiesRegistry = capabilitiesRegistry;
- widget = uiBinder.createAndBindUi(this);
- contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
- }
+ @Inject
+ public DocViewerPanel(final GSpaceArmor wsArmor,
+ final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n) {
+ this.gsArmor = wsArmor;
+ this.capabilitiesRegistry = capabilitiesRegistry;
+ widget = uiBinder.createAndBindUi(this);
+ contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
+ }
- @Override
- public Widget asWidget() {
- return widget;
- }
+ @Override
+ public Widget asWidget() {
+ return widget;
+ }
- @Override
- public void attach() {
- final ForIsWidget docContainer = gsArmor.getDocContainer();
- docContainer.add(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 clear() {
+ onlyViewPanel.setHTML("");
+ gsArmor.getSubheaderToolbar().clear();
+ UiUtils.clear(gsArmor.getDocContainer());
+ UiUtils.clear(gsArmor.getDocHeader());
+ }
- @Override
- public void detach() {
- clear();
- }
+ @Override
+ public void detach() {
+ clear();
+ }
- @Override
- public HasEditHandler getEditTitle() {
- return contentTitle.getEditableTitle();
- }
+ @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 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();
- }
+ 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 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 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);
- initWaveClientIfNeeded();
- setEditableWaveContent(state.getWaveRef(), false);
- deck.showWidget(0);
- // waveHolder.clear();
- // waveHolder.add(new Label(state.getContent()
- // + " (but here goes the Wave editor -we are testing it-)"));
- // onlyViewPanel.setHTML(SafeHtmlUtils.fromTrustedString(state.getContent()));
- }
+ @Override
+ public void setEditableContent(final StateContentDTO state) {
+ setTitle(state, true);
+ initWaveClientIfNeeded();
+ setEditableWaveContent(state.getWaveRef(), false);
+ deck.showWidget(0);
+ }
- @Override
- public void setEditableTitle(final String title) {
- contentTitle.setText(title);
- }
+ @Override
+ public void setEditableTitle(final String title) {
+ contentTitle.setText(title);
+ }
- private void setEditableWaveContent(final String waveRefS, final boolean isNewWave) {
- final WaveRef waveRef = getWaveRef(waveRefS);
+ private void setEditableWaveContent(final String waveRefS, final boolean isNewWave) {
+ final WaveRef waveRef = getWaveRef(waveRefS);
- if (wave != null) {
- wave.destroy();
- wave = null;
- }
-
- // 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();
- }
- });
+ if (wave != null) {
+ wave.destroy();
+ wave = null;
}
- private void setTitle(final StateContentDTO state, final boolean editable) {
- contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getMimeType(), editable
- && capabilitiesRegistry.isRenamable(state.getTypeId()));
- }
+ // 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()));
+ }
+
}
Modified: 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-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.ui.xml 2011-05-03 11:29:33 UTC (rev 1335)
@@ -4,23 +4,25 @@
xmlns:w='urn:import:org.waveprotocol.wave.client.widget.common'>
<ui:style>
.wavePanel {
- margin: 0 0 0 0;
+ margin: 0 0 0 0;
}
.waveHolder {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
+ 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">
- <f:FramedPanel ui:field="waveFrame" addStyleNames="{style.wavePanel}">
- <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}" />
- </f:FramedPanel>
- <g:InlineHTML ui:field="onlyViewPanel" />
+ <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
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -33,112 +33,117 @@
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 {
+public class DocViewerPresenter extends
+ Presenter<DocViewerPresenter.DocViewerView, DocViewerPresenter.DocViewerProxy> implements
+ ContentViewer {
- @ProxyCodeSplit
- public interface DocViewerProxy extends Proxy<DocViewerPresenter> {
- }
+ @ProxyCodeSplit
+ public interface DocViewerProxy extends Proxy<DocViewerPresenter> {
+ }
- public interface DocViewerView extends View {
+ public interface DocViewerView extends View {
- void attach();
+ void attach();
- void clear();
+ void clear();
- void detach();
+ void detach();
- HasEditHandler getEditTitle();
+ HasEditHandler getEditTitle();
- void setActions(GuiActionDescCollection actions);
+ void setActions(GuiActionDescCollection actions);
- void setContent(StateContentDTO state);
+ void setContent(StateContentDTO state);
- void setEditableContent(StateContentDTO state);
+ void setEditableContent(StateContentDTO state);
- void setEditableTitle(String title);
- }
+ void setEditableTitle(String title);
+ }
- private final ActionRegistryByType actionsRegistry;
- private HandlerRegistration editHandler;
- private final Provider<RenameAction> renameAction;
- private final Session session;
+ 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);
- }
+ @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);
+ }
- @Override
- public void attach() {
- getView().attach();
- if (editHandler == null) {
- createEditHandler();
- }
+ @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);
- }
+ 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 onSuccess(final StateToken token, final String title) {
+ getView().setEditableTitle(title);
+ }
+ });
+ }
+ });
+ }
- @Override
- public void detach() {
- getView().detach();
- }
+ @Override
+ public void detach() {
+ getView().detach();
+ }
- @Override
- protected void revealInParent() {
- RevealRootContentEvent.fire(this, this);
- }
+ @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
- getView().setEditableContent(stateContent);
- } else {
- // add "participate" action
- getView().setContent(stateContent);
- }
+ @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 {
- if (rights.isVisible()) {
- // Show contents
- getView().setContent(stateContent);
- } else {
- throw new UIException("Unexpected status in Viewer");
- }
+ getView().setContent(stateContent);
+ // When logged setEditable!
}
- final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContent.getGroup(),
- stateContent.getTypeId(), session.isLogged(), rights, ActionGroups.VIEW);
- getView().setActions(actions);
+ } 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/wave/server/KuneWaveManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -40,210 +40,212 @@
import com.google.wave.api.impl.WaveletData;
public class KuneWaveManagerDefault implements KuneWaveManager {
- public static final Log LOG = LogFactory.getLog(KuneWaveManagerDefault.class);
+ public static final Log LOG = LogFactory.getLog(KuneWaveManagerDefault.class);
- private static final String NO_TITLE = "";
+ private static final String NO_TITLE = "";
- private final ConversationUtil conversationUtil;
- private final EventDataConverterManager converterManager;
- private final String domain;
- private final OperationServiceRegistry operationRegistry;
- private final ParticipantUtils participantUtils;
- private final WaveletProvider waveletProvider;
+ private final ConversationUtil conversationUtil;
+ private final EventDataConverterManager converterManager;
+ private final String domain;
+ private final OperationServiceRegistry operationRegistry;
+ private final ParticipantUtils participantUtils;
+ private final WaveletProvider waveletProvider;
- @Inject
- public KuneWaveManagerDefault(final EventDataConverterManager converterManager,
- @Named("DataApiRegistry") final OperationServiceRegistry operationRegistry,
- final WaveletProvider waveletProvider, final ConversationUtil conversationUtil,
- final ParticipantUtils participantUtils, @Named(CoreSettings.WAVE_SERVER_DOMAIN) final String domain) {
- this.converterManager = converterManager;
- this.waveletProvider = waveletProvider;
- this.conversationUtil = conversationUtil;
- this.operationRegistry = operationRegistry;
- this.participantUtils = participantUtils;
- this.domain = domain;
+ @Inject
+ public KuneWaveManagerDefault(final EventDataConverterManager converterManager,
+ @Named("DataApiRegistry") final OperationServiceRegistry operationRegistry,
+ final WaveletProvider waveletProvider, final ConversationUtil conversationUtil,
+ final ParticipantUtils participantUtils,
+ @Named(CoreSettings.WAVE_SERVER_DOMAIN) final String domain) {
+ this.converterManager = converterManager;
+ this.waveletProvider = waveletProvider;
+ this.conversationUtil = conversationUtil;
+ this.operationRegistry = operationRegistry;
+ this.participantUtils = participantUtils;
+ this.domain = domain;
+ }
+
+ @Override
+ public void addParticipant(final WaveRef waveName, final String author, final String userWhoAdds,
+ final String participant) {
+ final Wavelet wavelet = fetchWavelet(waveName, author);
+ final String whoAdd = wavelet.getParticipants().contains(participantUtils.of(userWhoAdds)) ? userWhoAdds
+ : author;
+ final OperationQueue opQueue = new OperationQueue();
+ opQueue.addParticipantToWavelet(wavelet, participantUtils.of(participant).toString());
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ final OperationRequest request = opQueue.getPendingOperations().get(0);
+ OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(whoAdd));
+ final String reqId = request.getId();
+ final JsonRpcResponse response = context.getResponse(reqId);
+ if (response != null && response.isError()) {
+ onFailure(context.getResponse(reqId).getErrorMessage());
}
+ OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
+ @Override
+ public void onFailure(final String arg0) {
+ KuneWaveManagerDefault.this.onFailure("Wave add participant failed, onFailure: " + arg0);
+ }
- @Override
- public void addParticipant(final WaveRef waveName, final String author, final String userWhoAdds,
- final String participant) {
- final Wavelet wavelet = fetchWavelet(waveName, author);
- final String whoAdd = wavelet.getParticipants().contains(participantUtils.of(userWhoAdds)) ? userWhoAdds
- : author;
- final OperationQueue opQueue = new OperationQueue();
- opQueue.addParticipantToWavelet(wavelet, participantUtils.of(participant).toString());
- final OperationContextImpl context = new OperationContextImpl(waveletProvider,
- converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
- final OperationRequest request = opQueue.getPendingOperations().get(0);
- OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(whoAdd));
- final String reqId = request.getId();
- final JsonRpcResponse response = context.getResponse(reqId);
- if (response != null && response.isError()) {
- onFailure(context.getResponse(reqId).getErrorMessage());
- }
- OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
- @Override
- public void onFailure(final String arg0) {
- KuneWaveManagerDefault.this.onFailure("Wave add participant failed, onFailure: " + arg0);
- }
+ @Override
+ public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
+ LOG.info("Wave addParticipant success: " + arg1);
+ }
+ });
+ }
- @Override
- public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
- LOG.info("Wave addParticipant success: " + arg1);
- }
- });
- }
+ @Override
+ public WaveRef createWave(final String message, final ParticipantId participant) {
+ return createWave(NO_TITLE, message, participant);
+ }
- @Override
- public WaveRef createWave(final String message, final ParticipantId participant) {
- return createWave(NO_TITLE, message, participant);
+ @Override
+ public WaveRef createWave(@Nonnull final String title, final String message,
+ @Nonnull final ParticipantId... participantsArray) {
+ String newWaveId = null;
+ String newWaveletId = null;
+ final Set<String> participants = new HashSet<String>();
+ for (final ParticipantId participant : participantsArray) {
+ participants.add(participant.toString());
}
-
- @Override
- public WaveRef createWave(@Nonnull final String title, final String message,
- @Nonnull final ParticipantId... participantsArray) {
- String newWaveId = null;
- String newWaveletId = null;
- final Set<String> participants = new HashSet<String>();
- for (final ParticipantId participant : participantsArray) {
- participants.add(participant.toString());
+ final ParticipantId user = participantsArray[0];
+ final OperationQueue opQueue = new OperationQueue();
+ final Wavelet newWavelet = opQueue.createWavelet(domain, participants);
+ opQueue.setTitleOfWavelet(newWavelet, title);
+ final Blip rootBlip = newWavelet.getRootBlip();
+ rootBlip.append(new com.google.wave.api.Markup(message).getText());
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ for (final OperationRequest req : opQueue.getPendingOperations()) {
+ OperationUtil.executeOperation(req, operationRegistry, context, user);
+ final String reqId = req.getId();
+ final JsonRpcResponse response = context.getResponse(reqId);
+ if (response != null) {
+ if (response.isError()) {
+ onFailure(context.getResponse(reqId).getErrorMessage());
+ } else {
+ final Object responseWaveId = response.getData().get(ParamsProperty.WAVE_ID);
+ final Object responseWaveletId = response.getData().get(ParamsProperty.WAVELET_ID);
+ if (responseWaveId != null && responseWaveletId != null) {
+ // This is serialized use
+ // ApiIdSerializer.instance().deserialiseWaveId (see
+ // WaveService)
+ newWaveId = (String) responseWaveId;
+ newWaveletId = (String) responseWaveletId;
+ }
}
- final ParticipantId user = participantsArray[0];
- final OperationQueue opQueue = new OperationQueue();
- final Wavelet newWavelet = opQueue.createWavelet(domain, participants);
- opQueue.setTitleOfWavelet(newWavelet, title);
- final Blip rootBlip = newWavelet.getRootBlip();
- rootBlip.append(new com.google.wave.api.Markup(message).getText());
- final OperationContextImpl context = new OperationContextImpl(waveletProvider,
- converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
- for (final OperationRequest req : opQueue.getPendingOperations()) {
- OperationUtil.executeOperation(req, operationRegistry, context, user);
- final String reqId = req.getId();
- final JsonRpcResponse response = context.getResponse(reqId);
- if (response != null) {
- if (response.isError()) {
- onFailure(context.getResponse(reqId).getErrorMessage());
- } else {
- final Object responseWaveId = response.getData().get(ParamsProperty.WAVE_ID);
- final Object responseWaveletId = response.getData().get(ParamsProperty.WAVELET_ID);
- if (responseWaveId != null && responseWaveletId != null) {
- // This is serialized use
- // ApiIdSerializer.instance().deserialiseWaveId (see
- // WaveService)
- newWaveId = (String) responseWaveId;
- newWaveletId = (String) responseWaveletId;
- }
- }
- }
- }
- OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
- @Override
- public void onFailure(final String arg0) {
- KuneWaveManagerDefault.this.onFailure("Wave creation failed, onFailure: " + arg0);
- }
+ }
+ }
+ OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
+ @Override
+ public void onFailure(final String arg0) {
+ KuneWaveManagerDefault.this.onFailure("Wave creation failed, onFailure: " + arg0);
+ }
- @Override
- public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
- LOG.info("Wave creation success: " + arg1);
- }
- });
- LOG.info("WaveId: " + newWaveId + " waveletId: " + newWaveletId);
- WaveRef wavename;
- try {
- wavename = WaveRef.of(ApiIdSerializer.instance().deserialiseWaveId(newWaveId),
- ApiIdSerializer.instance().deserialiseWaveletId(newWaveletId));
- } catch (final InvalidIdException e) {
- throw new DefaultException("Error getting wave id");
- }
- return wavename;
+ @Override
+ public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
+ LOG.info("Wave creation success: " + arg1);
+ }
+ });
+ LOG.info("WaveId: " + newWaveId + " waveletId: " + newWaveletId);
+ WaveRef wavename;
+ try {
+ wavename = WaveRef.of(ApiIdSerializer.instance().deserialiseWaveId(newWaveId),
+ ApiIdSerializer.instance().deserialiseWaveletId(newWaveletId));
+ } catch (final InvalidIdException e) {
+ throw new DefaultException("Error getting wave id");
}
+ return wavename;
+ }
- public void doOperations(final WaveRef waveName, final String author, final OperationQueue opQueue,
- final SubmitRequestListener listener) {
- final OperationContextImpl context = new OperationContextImpl(waveletProvider,
- converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
- for (final OperationRequest req : opQueue.getPendingOperations()) {
- OperationUtil.executeOperation(req, operationRegistry, context, participantUtils.of(author));
- }
- OperationUtil.submitDeltas(context, waveletProvider, listener);
+ public void doOperations(final WaveRef waveName, final String author, final OperationQueue opQueue,
+ final SubmitRequestListener listener) {
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ for (final OperationRequest req : opQueue.getPendingOperations()) {
+ OperationUtil.executeOperation(req, operationRegistry, context, participantUtils.of(author));
}
+ OperationUtil.submitDeltas(context, waveletProvider, listener);
+ }
- @Override
- public Wavelet fetchWavelet(final WaveRef waveName, final String author) {
- Wavelet wavelet = null;
- final OperationQueue opQueue = new OperationQueue();
- opQueue.fetchWavelet(waveName.getWaveId(), waveName.getWaveletId());
- final OperationContextImpl context = new OperationContextImpl(waveletProvider,
- converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
- final OperationRequest request = opQueue.getPendingOperations().get(0);
- OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(author));
- final String reqId = request.getId();
- final JsonRpcResponse response = context.getResponse(reqId);
- if (response != null && response.isError()) {
- onFailure(context.getResponse(reqId).getErrorMessage());
- } else {
- // Duplicate code from WaveService
- final WaveletData waveletData = (WaveletData) response.getData().get(ParamsProperty.WAVELET_DATA);
- final Map<String, Blip> blips = new HashMap<String, Blip>();
- final Map<String, BlipThread> threads = new HashMap<String, BlipThread>();
- wavelet = Wavelet.deserialize(opQueue, blips, threads, waveletData);
+ @Override
+ public Wavelet fetchWavelet(final WaveRef waveName, final String author) {
+ Wavelet wavelet = null;
+ final OperationQueue opQueue = new OperationQueue();
+ opQueue.fetchWavelet(waveName.getWaveId(), waveName.getWaveletId());
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ final OperationRequest request = opQueue.getPendingOperations().get(0);
+ OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(author));
+ final String reqId = request.getId();
+ final JsonRpcResponse response = context.getResponse(reqId);
+ if (response != null && response.isError()) {
+ onFailure(context.getResponse(reqId).getErrorMessage());
+ } else {
+ // Duplicate code from WaveService
+ final WaveletData waveletData = (WaveletData) response.getData().get(ParamsProperty.WAVELET_DATA);
+ final Map<String, Blip> blips = new HashMap<String, Blip>();
+ final Map<String, BlipThread> threads = new HashMap<String, BlipThread>();
+ wavelet = Wavelet.deserialize(opQueue, blips, threads, waveletData);
- // Deserialize threads.
- @SuppressWarnings("unchecked")
- final Map<String, BlipThread> tempThreads = (Map<String, BlipThread>) response.getData().get(
- ParamsProperty.THREADS);
- for (final Map.Entry<String, BlipThread> entry : tempThreads.entrySet()) {
- final BlipThread thread = entry.getValue();
- threads.put(entry.getKey(), new BlipThread(thread.getId(), thread.getLocation(), thread.getBlipIds(),
- blips));
- }
+ // Deserialize threads.
+ @SuppressWarnings("unchecked")
+ final Map<String, BlipThread> tempThreads = (Map<String, BlipThread>) response.getData().get(
+ ParamsProperty.THREADS);
+ for (final Map.Entry<String, BlipThread> entry : tempThreads.entrySet()) {
+ final BlipThread thread = entry.getValue();
+ threads.put(entry.getKey(),
+ new BlipThread(thread.getId(), thread.getLocation(), thread.getBlipIds(), blips));
+ }
- // Deserialize blips.
- @SuppressWarnings("unchecked")
- final Map<String, BlipData> blipDatas = (Map<String, BlipData>) response.getData().get(ParamsProperty.BLIPS);
- for (final Map.Entry<String, BlipData> entry : blipDatas.entrySet()) {
- blips.put(entry.getKey(), Blip.deserialize(opQueue, wavelet, entry.getValue()));
- }
- }
- return wavelet;
+ // Deserialize blips.
+ @SuppressWarnings("unchecked")
+ final Map<String, BlipData> blipDatas = (Map<String, BlipData>) response.getData().get(
+ ParamsProperty.BLIPS);
+ for (final Map.Entry<String, BlipData> entry : blipDatas.entrySet()) {
+ blips.put(entry.getKey(), Blip.deserialize(opQueue, wavelet, entry.getValue()));
+ }
}
+ return wavelet;
+ }
- @Override
- public boolean isParticipant(final Wavelet wavelet, final String user) {
- return wavelet.getParticipants().contains(participantUtils.of(user));
- }
+ @Override
+ public boolean isParticipant(final Wavelet wavelet, final String user) {
+ return wavelet.getParticipants().contains(participantUtils.of(user).toString());
+ }
- private void onFailure(final String message) {
- final String errorMsg = TextUtils.notEmpty(message) ? message : "Wave operation failed";
- LOG.error(errorMsg);
- throw new DefaultException(errorMsg);
+ private void onFailure(final String message) {
+ final String errorMsg = TextUtils.notEmpty(message) ? message : "Wave operation failed";
+ LOG.error(errorMsg);
+ throw new DefaultException(errorMsg);
+ }
+
+ @Override
+ public void setTitle(final WaveRef waveName, final String title, final String author) {
+ final Wavelet wavelet = fetchWavelet(waveName, author);
+ final OperationQueue opQueue = new OperationQueue();
+ opQueue.setTitleOfWavelet(wavelet, title);
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ final OperationRequest request = opQueue.getPendingOperations().get(0);
+ OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(author));
+ final String reqId = request.getId();
+ final JsonRpcResponse response = context.getResponse(reqId);
+ if (response != null && response.isError()) {
+ onFailure(context.getResponse(reqId).getErrorMessage());
}
+ OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
+ @Override
+ public void onFailure(final String arg0) {
+ KuneWaveManagerDefault.this.onFailure("Wave set title failed, onFailure: " + arg0);
+ }
- @Override
- public void setTitle(final WaveRef waveName, final String title, final String author) {
- final Wavelet wavelet = fetchWavelet(waveName, author);
- final OperationQueue opQueue = new OperationQueue();
- opQueue.setTitleOfWavelet(wavelet, title);
- final OperationContextImpl context = new OperationContextImpl(waveletProvider,
- converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
- final OperationRequest request = opQueue.getPendingOperations().get(0);
- OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(author));
- final String reqId = request.getId();
- final JsonRpcResponse response = context.getResponse(reqId);
- if (response != null && response.isError()) {
- onFailure(context.getResponse(reqId).getErrorMessage());
- }
- OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
- @Override
- public void onFailure(final String arg0) {
- KuneWaveManagerDefault.this.onFailure("Wave set title failed, onFailure: " + arg0);
- }
+ @Override
+ public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
+ LOG.info("Wave set title success: " + arg1);
+ }
+ });
+ }
- @Override
- public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
- LOG.info("Wave set title success: " + arg1);
- }
- });
- }
-
}
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-03 08:22:21 UTC (rev 1334)
+++ trunk/src/test/java/cc/kune/core/server/mapper/MapperTest.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -33,7 +33,6 @@
import cc.kune.core.server.TestDomainHelper;
import cc.kune.core.server.TestHelper;
import cc.kune.core.server.manager.GroupManager;
-import cc.kune.core.server.mapper.Mapper;
import cc.kune.core.server.state.StateContent;
import cc.kune.core.shared.domain.GroupListMode;
import cc.kune.core.shared.domain.SocialNetworkVisibility;
@@ -67,296 +66,302 @@
import com.google.inject.Inject;
public class MapperTest {
- private static final String TESTGROUPSHORTNAME = "grouptest";
- private static final String TESTTOOL = "docs";
- @Inject
- GroupManager groupManager;
- @Inject
- Mapper mapper;
+ private static final String TESTGROUPSHORTNAME = "grouptest";
+ private static final String TESTTOOL = "docs";
+ @Inject
+ GroupManager groupManager;
+ @Inject
+ Mapper mapper;
- private void assertMapping(final GroupListMode mode, final String modeName) {
- final GroupList list = new GroupList();
- list.setMode(mode);
- final GroupListDTO dto = mapper.map(list, GroupListDTO.class);
- assertEquals(modeName, dto.getMode());
- final GroupList listBack = mapper.map(dto, GroupList.class);
- assertEquals(mode, listBack.getMode());
- }
+ private void assertMapping(final GroupListMode mode, final String modeName) {
+ final GroupList list = new GroupList();
+ list.setMode(mode);
+ final GroupListDTO dto = mapper.map(list, GroupListDTO.class);
+ assertEquals(modeName, dto.getMode());
+ final GroupList listBack = mapper.map(dto, GroupList.class);
+ assertEquals(mode, listBack.getMode());
+ }
- private void assertValidAccessListsMapping(final GroupList groupList, final GroupListDTO groupListDTO) {
- final List<Group> listOrig = groupList.getList();
- final List<GroupDTO> listDto = groupListDTO.getList();
- assertEquals(listDto.size(), listOrig.size());
- for (int i = 0; i < listDto.size(); i++) {
- final Object object = listDto.get(i);
- assertEquals(GroupDTO.class, object.getClass());
- final GroupDTO d = (GroupDTO) object;
- final Group g = listOrig.get(i);
- assertNotNull(d);
- assertNotNull(g);
- final GroupDTO map = mapper.map(g, GroupDTO.class);
- assertEquals(map, d);
- }
+ private void assertValidAccessListsMapping(final GroupList groupList, final GroupListDTO groupListDTO) {
+ final List<Group> listOrig = groupList.getList();
+ final List<GroupDTO> listDto = groupListDTO.getList();
+ assertEquals(listDto.size(), listOrig.size());
+ for (int i = 0; i < listDto.size(); i++) {
+ final Object object = listDto.get(i);
+ assertEquals(GroupDTO.class, object.getClass());
+ final GroupDTO d = (GroupDTO) object;
+ final Group g = listOrig.get(i);
+ assertNotNull(d);
+ assertNotNull(g);
+ final GroupDTO map = mapper.map(g, GroupDTO.class);
+ assertEquals(map, d);
}
+ }
- private Container createDefContainer() {
- return createDefContainer(createDeGroup());
- }
+ private Container createDefContainer() {
+ return createDefContainer(createDeGroup());
+ }
- private Container createDefContainer(final Group group) {
- final Container container = new Container();
- container.setId(1L);
- container.setToolName(TESTTOOL);
- container.setOwner(group);
- container.setName("folder");
- return container;
- }
+ private Container createDefContainer(final Group group) {
+ final Container container = new Container();
+ container.setId(1L);
+ container.setToolName(TESTTOOL);
+ container.setOwner(group);
+ container.setName("folder");
+ return container;
+ }
- private Content createDefContent() {
- final Container container = createDefContainer(createDeGroup());
- final Content d = new Content();
- d.setId(1L);
- final Revision revision = new Revision(d);
- revision.setTitle("title");
- d.addRevision(revision);
- d.setContainer(container);
- return d;
- }
+ private Content createDefContent() {
+ final Container container = createDefContainer(createDeGroup());
+ final Content d = new Content();
+ d.setId(1L);
+ final Revision revision = new Revision(d);
+ revision.setTitle("title");
+ d.addRevision(revision);
+ d.setContainer(container);
+ return d;
+ }
- private Group createDeGroup() {
- final Group group = new Group(TESTGROUPSHORTNAME, "This is a group Test");
- return group;
- }
+ private Group createDeGroup() {
+ final Group group = new Group(TESTGROUPSHORTNAME, "This is a group Test");
+ return group;
+ }
- @Test
- public void groupHasLogo() {
- final Group group = new Group("test", "this is a test");
- GroupDTO groupDTO = mapper.map(group, GroupDTO.class);
- assertFalse(group.hasLogo());
- assertFalse(groupDTO.hasLogo());
- group.setLogo(new byte[2]);
- group.setLogoMime(new BasicMimeType("image/png"));
- groupDTO = mapper.map(group, GroupDTO.class);
- assertTrue(group.hasLogo());
- assertTrue(groupDTO.hasLogo());
- }
+ @Test
+ public void groupHasLogo() {
+ final Group group = new Group("test", "this is a test");
+ GroupDTO groupDTO = mapper.map(group, GroupDTO.class);
+ assertFalse(group.hasLogo());
+ assertFalse(groupDTO.hasLogo());
+ group.setLogo(new byte[2]);
+ group.setLogoMime(new BasicMimeType("image/png"));
+ groupDTO = mapper.map(group, GroupDTO.class);
+ assertTrue(group.hasLogo());
+ assertTrue(groupDTO.hasLogo());
+ }
- @Before
- public void inject() {
- TestHelper.inject(this);
- }
+ @Before
+ public void inject() {
+ TestHelper.inject(this);
+ }
- @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 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");
- assertEquals(expectedToken, d.getStateToken());
+ @Test
+ public void testContentDescriptorMapping() {
+ final Content d = createDefContent();
+ final StateToken expectedToken = new StateToken(TESTGROUPSHORTNAME, TESTTOOL, "1", "1");
+ assertEquals(expectedToken, d.getStateToken());
- final ContentSimpleDTO dto = mapper.map(d, ContentSimpleDTO.class);
- assertEquals(1, (long) dto.getId());
- assertEquals("title", dto.getTitle());
- assertEquals(expectedToken, dto.getStateToken());
- }
+ final ContentSimpleDTO dto = mapper.map(d, ContentSimpleDTO.class);
+ assertEquals(1, (long) dto.getId());
+ assertEquals("title", dto.getTitle());
+ assertEquals(expectedToken, dto.getStateToken());
+ }
- @Test
- public void testContentDescriptorToLinkMapping() {
- final Content d = createDefContent();
+ @Test
+ public void testContentDescriptorToLinkMapping() {
+ final Content d = createDefContent();
- final LinkDTO dto = mapper.map(d, LinkDTO.class);
- assertEquals("title", dto.getLongName());
- assertEquals(TESTGROUPSHORTNAME, dto.getShortName());
- assertEquals("grouptest.docs.1.1", dto.getLink());
- }
+ final LinkDTO dto = mapper.map(d, LinkDTO.class);
+ assertEquals("title", dto.getLongName());
+ assertEquals(TESTGROUPSHORTNAME, dto.getShortName());
+ assertEquals("grouptest.docs.1.1", dto.getLink());
+ }
- @Test
- public void testContentMapping() {
- final StateContent c = new StateContent();
- c.setContentRights(new AccessRights(true, true, true));
- final Group groupAdmins = TestDomainHelper.createGroup(1);
- final Group groupEdit = TestDomainHelper.createGroup(2);
- final Group groupView = TestDomainHelper.createGroup(3);
- c.setAccessLists(TestDomainHelper.createAccessLists(groupAdmins, groupEdit, groupView));
- c.setRate(10.2D);
- c.setRateByUsers(3);
- c.setCurrentUserRate(null);
+ @Test
+ public void testContentMapping() {
+ final StateContent c = new StateContent();
+ c.setContentRights(new AccessRights(true, true, true));
+ final Group groupAdmins = TestDomainHelper.createGroup(1);
+ final Group groupEdit = TestDomainHelper.createGroup(2);
+ final Group groupView = TestDomainHelper.createGroup(3);
+ c.setIsParticipant(true);
+ c.setAccessLists(TestDomainHelper.createAccessLists(groupAdmins, groupEdit, groupView));
+ c.setRate(10.2D);
+ c.setRateByUsers(3);
+ c.setCurrentUserRate(null);
- final StateContentDTO dto = mapper.map(c, StateContentDTO.class);
- assertEquals(c.getContentRights().isAdministrable(), dto.getContentRights().isAdministrable());
+ final StateContentDTO dto = mapper.map(c, StateContentDTO.class);
+ assertEquals(c.getContentRights().isAdministrable(), dto.getContentRights().isAdministrable());
- assertValidAccessListsMapping(c.getAccessLists().getAdmins(), dto.getAccessLists().getAdmins());
- assertValidAccessListsMapping(c.getAccessLists().getEditors(), dto.getAccessLists().getEditors());
- assertValidAccessListsMapping(c.getAccessLists().getViewers(), dto.getAccessLists().getViewers());
+ assertValidAccessListsMapping(c.getAccessLists().getAdmins(), dto.getAccessLists().getAdmins());
+ assertValidAccessListsMapping(c.getAccessLists().getEditors(), dto.getAccessLists().getEditors());
+ assertValidAccessListsMapping(c.getAccessLists().getViewers(), dto.getAccessLists().getViewers());
- assertEquals(dto.getRate(), c.getRate());
- assertEquals(dto.getRateByUsers(), c.getRateByUsers());
- assertEquals(dto.getCurrentUserRate(), c.getCurrentUserRate());
- }
+ assertEquals(dto.getRate(), c.getRate());
+ assertEquals(dto.getRateByUsers(), c.getRateByUsers());
+ assertEquals(dto.getCurrentUserRate(), c.getCurrentUserRate());
+ assertEquals(dto.isParticipant(), true);
+ assertEquals(dto.getIsParticipant(), true);
+ }
- @Test
- public void testFolderMapping() {
- final Container container = createDefContainer();
- final StateToken expectedToken = new StateToken(TESTGROUPSHORTNAME, TESTTOOL, 1L);
- assertEquals(expectedToken, container.getStateToken());
- container.addChild(createDefContainer());
- container.addChild(createDefContainer());
- container.addContent(createDefContent());
- container.addContent(createDefContent());
- container.addContent(createDefContent());
- final Container containerChild = createDefContainer();
- container.addChild(containerChild);
- final List<Container> absolutePathChild = new ArrayList<Container>();
- absolutePathChild.add(container);
- containerChild.setAbsolutePath(absolutePathChild);
+ @Test
+ public void testFolderMapping() {
+ final Container container = createDefContainer();
+ final StateToken expectedToken = new StateToken(TESTGROUPSHORTNAME, TESTTOOL, 1L);
+ assertEquals(expectedToken, container.getStateToken());
+ container.addChild(createDefContainer());
+ container.addChild(createDefContainer());
+ container.addContent(createDefContent());
+ container.addContent(createDefContent());
+ container.addContent(createDefContent());
+ final Container containerChild = createDefContainer();
+ container.addChild(containerChild);
+ final List<Container> absolutePathChild = new ArrayList<Container>();
+ absolutePathChild.add(container);
+ containerChild.setAbsolutePath(absolutePathChild);
- final ContainerDTO dto = mapper.map(container, ContainerDTO.class);
- assertEquals(3, dto.getChilds().size());
- assertEquals(3, dto.getContents().size());
- assertTrue(dto.getContents().get(0) instanceof ContentSimpleDTO);
- assertTrue(dto.getChilds().get(0) instanceof ContainerSimpleDTO);
- assertEquals(new StateToken(TESTGROUPSHORTNAME, TESTTOOL),
- dto.getChilds().get(0).getStateToken().copy().clearFolder());
- assertEquals(expectedToken, dto.getContents().get(0).getStateToken().copy().clearDocument());
- assertEquals(expectedToken, dto.getStateToken());
+ final ContainerDTO dto = mapper.map(container, ContainerDTO.class);
+ assertEquals(3, dto.getChilds().size());
+ assertEquals(3, dto.getContents().size());
+ assertTrue(dto.getContents().get(0) instanceof ContentSimpleDTO);
+ assertTrue(dto.getChilds().get(0) instanceof ContainerSimpleDTO);
+ assertEquals(new StateToken(TESTGROUPSHORTNAME, TESTTOOL),
+ dto.getChilds().get(0).getStateToken().copy().clearFolder());
+ assertEquals(expectedToken, dto.getContents().get(0).getStateToken().copy().clearDocument());
+ assertEquals(expectedToken, dto.getStateToken());
- final ContainerDTO dtoChild = mapper.map(containerChild, ContainerDTO.class);
- assertNotNull(dtoChild.getAbsolutePath()[0]);
- }
+ final ContainerDTO dtoChild = mapper.map(containerChild, ContainerDTO.class);
+ assertNotNull(dtoChild.getAbsolutePath()[0]);
+ }
- @Test
- public void testGroupListMapping() {
- assertMapping(GroupListMode.EVERYONE, GroupListDTO.EVERYONE);
- assertMapping(GroupListMode.NOBODY, GroupListDTO.NOBODY);
- assertMapping(GroupListMode.NORMAL, GroupListDTO.NORMAL);
- }
+ @Test
+ public void testGroupListMapping() {
+ assertMapping(GroupListMode.EVERYONE, GroupListDTO.EVERYONE);
+ assertMapping(GroupListMode.NOBODY, GroupListDTO.NOBODY);
+ assertMapping(GroupListMode.NORMAL, GroupListDTO.NORMAL);
+ }
- @Test
- public void testGroupMapping() {
- final Group group = new Group("shortName", "name");
- final GroupDTO dto = mapper.map(group, GroupDTO.class);
- assertEquals(group.getLongName(), dto.getLongName());
- assertEquals(group.getShortName(), dto.getShortName());
- }
+ @Test
+ public void testGroupMapping() {
+ final Group group = new Group("shortName", "name");
+ final GroupDTO dto = mapper.map(group, GroupDTO.class);
+ assertEquals(group.getLongName(), dto.getLongName());
+ assertEquals(group.getShortName(), dto.getShortName());
+ }
- @Test
- public void testLicenseMapping() {
- final License licenseCC = new License("by-nc-nd", "Creative Commons Attribution-NonCommercial-NoDerivs", "cc1",
- "http://creativecommons.org/licenses/by-nc-nd/3.0/", true, false, false, "cc2", "cc3");
+ @Test
+ public void testLicenseMapping() {
+ final License licenseCC = new License("by-nc-nd",
+ "Creative Commons Attribution-NonCommercial-NoDerivs", "cc1",
+ "http://creativecommons.org/licenses/by-nc-nd/3.0/", true, false, false, "cc2", "cc3");
- final License licenseNotCC = new License("gfdl", "GNU Free Documentation License", "nocc1",
- "http://www.gnu.org/copyleft/fdl.html", false, true, false, "nocc2", "nocc3");
+ final License licenseNotCC = new License("gfdl", "GNU Free Documentation License", "nocc1",
+ "http://www.gnu.org/copyleft/fdl.html", false, true, false, "nocc2", "nocc3");
- final LicenseDTO dtoCC = mapper.map(licenseCC, LicenseDTO.class);
- final LicenseDTO dtoNotCC = mapper.map(licenseNotCC, LicenseDTO.class);
+ final LicenseDTO dtoCC = mapper.map(licenseCC, LicenseDTO.class);
+ final LicenseDTO dtoNotCC = mapper.map(licenseNotCC, LicenseDTO.class);
- assertEquals("by-nc-nd", dtoCC.getShortName());
- assertEquals("gfdl", dtoNotCC.getShortName());
- assertEquals("Creative Commons Attribution-NonCommercial-NoDerivs", dtoCC.getLongName());
- assertEquals("GNU Free Documentation License", dtoNotCC.getLongName());
- assertEquals("http://creativecommons.org/licenses/by-nc-nd/3.0/", dtoCC.getUrl());
- assertEquals("http://www.gnu.org/copyleft/fdl.html", dtoNotCC.getUrl());
- assertTrue(dtoCC.isCC());
- assertFalse(dtoNotCC.isCC());
- assertFalse(dtoCC.isCopyleft());
- assertTrue(dtoNotCC.isCopyleft());
- assertFalse(dtoCC.isDeprecated());
- assertFalse(dtoNotCC.isDeprecated());
- assertEquals("cc1", dtoCC.getDescription());
- assertEquals("cc2", dtoCC.getRdf());
- assertEquals("cc3", dtoCC.getImageUrl());
- assertEquals("nocc1", dtoNotCC.getDescription());
- assertEquals("nocc2", dtoNotCC.getRdf());
- assertEquals("nocc3", dtoNotCC.getImageUrl());
- }
+ assertEquals("by-nc-nd", dtoCC.getShortName());
+ assertEquals("gfdl", dtoNotCC.getShortName());
+ assertEquals("Creative Commons Attribution-NonCommercial-NoDerivs", dtoCC.getLongName());
+ assertEquals("GNU Free Documentation License", dtoNotCC.getLongName());
+ assertEquals("http://creativecommons.org/licenses/by-nc-nd/3.0/", dtoCC.getUrl());
+ assertEquals("http://www.gnu.org/copyleft/fdl.html", dtoNotCC.getUrl());
+ assertTrue(dtoCC.isCC());
+ assertFalse(dtoNotCC.isCC());
+ assertFalse(dtoCC.isCopyleft());
+ assertTrue(dtoNotCC.isCopyleft());
+ assertFalse(dtoCC.isDeprecated());
+ assertFalse(dtoNotCC.isDeprecated());
+ assertEquals("cc1", dtoCC.getDescription());
+ assertEquals("cc2", dtoCC.getRdf());
+ assertEquals("cc3", dtoCC.getImageUrl());
+ assertEquals("nocc1", dtoNotCC.getDescription());
+ assertEquals("nocc2", dtoNotCC.getRdf());
+ assertEquals("nocc3", dtoNotCC.getImageUrl());
+ }
- @Test
- public void testMimeMapping() {
- final Content d = createDefContent();
- d.setMimeType(new BasicMimeType("application/pdf"));
- final ContentSimpleDTO contentSimpleDTO = mapper.map(d, ContentSimpleDTO.class);
- assertEquals("application/pdf", contentSimpleDTO.getMimeType().toString());
- }
+ @Test
+ public void testMimeMapping() {
+ final Content d = createDefContent();
+ d.setMimeType(new BasicMimeType("application/pdf"));
+ final ContentSimpleDTO contentSimpleDTO = mapper.map(d, ContentSimpleDTO.class);
+ assertEquals("application/pdf", contentSimpleDTO.getMimeType().toString());
+ }
- @Test
- public void testSnResultMap() {
- final Group group = new Group("test", "this is a test");
- final SocialNetwork sn = new SocialNetwork();
- sn.addAdmin(group);
- final ParticipationData part = new ParticipationData();
- part.setGroupsIsAdmin(sn.getAccessLists().getAdmins().getList());
- final UserBuddiesData budData = new UserBuddiesData();
- final ArrayList<User> buddies = new ArrayList<User>();
- final User user = new User();
- user.setShortName("usertest");
- user.setUserGroup(new Group("test2", "this is test2"));
- buddies.add(user);
- budData.setBuddies(buddies);
- final SocialNetworkData snResult = new SocialNetworkData(SocialNetworkVisibility.onlymembers, sn, part,
- UserSNetVisibility.yourbuddies, budData, new AccessRights(false, false, true), true, true);
- final SocialNetworkDataDTO map = mapper.map(snResult, SocialNetworkDataDTO.class);
- assertNotNull(map);
- assertEquals(SocialNetworkVisibility.onlymembers, map.getSocialNetworkVisibility());
- assertEquals(UserSNetVisibility.yourbuddies, map.getUserBuddiesVisibility());
- assertEquals("test", map.getGroupMembers().getAccessLists().getAdmins().getList().get(0).getShortName());
- assertEquals("test", map.getUserParticipation().getGroupsIsAdmin().get(0).getShortName());
- assertEquals("usertest", map.getUserBuddies().getBuddies().get(0).getShortName());
- assertFalse(map.getGroupRights().isAdministrable());
- assertFalse(map.getGroupRights().isEditable());
- assertTrue(map.getGroupRights().isVisible());
- assertTrue(map.isMembersVisible());
- assertTrue(map.isBuddiesVisible());
- }
+ @Test
+ public void testSnResultMap() {
+ final Group group = new Group("test", "this is a test");
+ final SocialNetwork sn = new SocialNetwork();
+ sn.addAdmin(group);
+ final ParticipationData part = new ParticipationData();
+ part.setGroupsIsAdmin(sn.getAccessLists().getAdmins().getList());
+ final UserBuddiesData budData = new UserBuddiesData();
+ final ArrayList<User> buddies = new ArrayList<User>();
+ final User user = new User();
+ user.setShortName("usertest");
+ user.setUserGroup(new Group("test2", "this is test2"));
+ buddies.add(user);
+ budData.setBuddies(buddies);
+ final SocialNetworkData snResult = new SocialNetworkData(SocialNetworkVisibility.onlymembers, sn,
+ part, UserSNetVisibility.yourbuddies, budData, new AccessRights(false, false, true), true, true);
+ final SocialNetworkDataDTO map = mapper.map(snResult, SocialNetworkDataDTO.class);
+ assertNotNull(map);
+ assertEquals(SocialNetworkVisibility.onlymembers, map.getSocialNetworkVisibility());
+ assertEquals(UserSNetVisibility.yourbuddies, map.getUserBuddiesVisibility());
+ assertEquals("test",
+ map.getGroupMembers().getAccessLists().getAdmins().getList().get(0).getShortName());
+ assertEquals("test", map.getUserParticipation().getGroupsIsAdmin().get(0).getShortName());
+ assertEquals("usertest", map.getUserBuddies().getBuddies().get(0).getShortName());
+ assertFalse(map.getGroupRights().isAdministrable());
+ assertFalse(map.getGroupRights().isEditable());
+ assertTrue(map.getGroupRights().isVisible());
+ assertTrue(map.isMembersVisible());
+ assertTrue(map.isBuddiesVisible());
+ }
- @Test
- public void testStateTokenInStateMap() {
- final StateToken stateToken = new StateToken(TESTGROUPSHORTNAME, TESTTOOL, "1", "2");
- final StateToken stateTokenMapped = mapper.map(stateToken, StateToken.class);
- assertEquals(stateToken, stateTokenMapped);
- final StateContent state = new StateContent();
- state.setStateToken(stateToken);
- final StateContentDTO stateDTO = mapper.map(state, StateContentDTO.class);
- assertEquals(stateToken, stateDTO.getStateToken());
- }
+ @Test
+ public void testStateTokenInStateMap() {
+ final StateToken stateToken = new StateToken(TESTGROUPSHORTNAME, TESTTOOL, "1", "2");
+ final StateToken stateTokenMapped = mapper.map(stateToken, StateToken.class);
+ assertEquals(stateToken, stateTokenMapped);
+ final StateContent state = new StateContent();
+ state.setStateToken(stateToken);
+ final StateContentDTO stateDTO = mapper.map(state, StateContentDTO.class);
+ assertEquals(stateToken, stateDTO.getStateToken());
+ }
- @Test
- public void testUserToLinkMappping() {
- final User user = new User("shortName", "longName", "", "", "".getBytes(), "".getBytes(), null, null, null);
- final LinkDTO dto = mapper.map(user, LinkDTO.class);
- assertEquals("shortName", dto.getShortName());
- assertEquals("longName", dto.getLongName());
- }
+ @Test
+ public void testUserToLinkMappping() {
+ final User user = new User("shortName", "longName", "", "", "".getBytes(), "".getBytes(), null,
+ null, null);
+ final LinkDTO dto = mapper.map(user, LinkDTO.class);
+ assertEquals("shortName", dto.getShortName());
+ assertEquals("longName", dto.getLongName());
+ }
}
Modified: trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java 2011-05-03 08:22:21 UTC (rev 1334)
+++ trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java 2011-05-03 11:29:33 UTC (rev 1335)
@@ -19,75 +19,79 @@
public class KuneWaveManagerDefaultTest extends IntegrationTest {
- private static final String MESSAGE = "testing";
- private static final String NEW_PARTICIPANT = "newparti";
- private static final String TITLE = "title";
- private static final String TITLENEW = "titleNew";
- @Inject
- KuneWaveManagerDefault manager;
- @Inject
- ParticipantUtils participantUtils;
+ private static final String MESSAGE = "testing";
+ private static final String NEW_PARTICIPANT = "newparti";
+ private static final String TITLE = "title";
+ private static final String TITLENEW = "titleNew";
+ @Inject
+ KuneWaveManagerDefault manager;
+ @Inject
+ ParticipantUtils participantUtils;
- private void addParticipant(final String whoAdds) throws IOException {
- doLogin();
- final WaveRef waveletName = manager.createWave(TITLE, MESSAGE, participantUtils.of(getSiteAdminShortName()));
- assertNotNull(waveletName);
- manager.addParticipant(waveletName, getSiteAdminShortName(), whoAdds, NEW_PARTICIPANT);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
- assertNotNull(fetchWavelet);
- assertEquals(2, fetchWavelet.getParticipants().size());
- manager.isParticipant(fetchWavelet, NEW_PARTICIPANT);
- }
+ private void addParticipant(final String whoAdds) throws IOException {
+ doLogin();
+ final WaveRef waveletName = manager.createWave(TITLE, MESSAGE,
+ participantUtils.of(getSiteAdminShortName()));
+ assertNotNull(waveletName);
+ manager.addParticipant(waveletName, getSiteAdminShortName(), whoAdds, NEW_PARTICIPANT);
+ final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ assertNotNull(fetchWavelet);
+ assertEquals(2, fetchWavelet.getParticipants().size());
+ manager.isParticipant(fetchWavelet, NEW_PARTICIPANT);
+ manager.isParticipant(fetchWavelet, "newparti");
+ }
- @Test
- public void authorAddParticipant() throws DefaultException, IOException {
- final String whoAdds = getSiteAdminShortName();
- addParticipant(whoAdds);
- }
+ @Test
+ public void authorAddParticipant() throws DefaultException, IOException {
+ final String whoAdds = getSiteAdminShortName();
+ addParticipant(whoAdds);
+ }
- @Before
- public void before() {
- new IntegrationTestHelper(this);
+ @Before
+ public void before() {
+ new IntegrationTestHelper(this);
- }
+ }
- @Test
- public void createWave() throws DefaultException, IOException {
- doLogin();
- final WaveRef waveletName = manager.createWave(MESSAGE, participantUtils.of(getSiteAdminShortName()));
- assertNotNull(waveletName);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
- assertNotNull(fetchWavelet);
- assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
- }
+ @Test
+ public void createWave() throws DefaultException, IOException {
+ doLogin();
+ final WaveRef waveletName = manager.createWave(MESSAGE, participantUtils.of(getSiteAdminShortName()));
+ assertNotNull(waveletName);
+ final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ assertNotNull(fetchWavelet);
+ assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
+ }
- @Test
- public void createWaveWithTitle() throws DefaultException, IOException {
- doLogin();
- final WaveRef waveletName = manager.createWave(TITLE, MESSAGE, participantUtils.of(getSiteAdminShortName()));
- assertNotNull(waveletName);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
- assertNotNull(fetchWavelet);
- assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
- assertEquals(TITLE, fetchWavelet.getTitle());
- }
+ @Test
+ public void createWaveWithTitle() throws DefaultException, IOException {
+ doLogin();
+ final WaveRef waveletName = manager.createWave(TITLE, MESSAGE,
+ participantUtils.of(getSiteAdminShortName()));
+ assertNotNull(waveletName);
+ final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ assertNotNull(fetchWavelet);
+ assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
+ assertEquals(TITLE, fetchWavelet.getTitle());
+ }
- @Test
- public void otherMemberAddParticipant() throws DefaultException, IOException {
- final String whoAdds = "otherMember";
- addParticipant(whoAdds);
- }
+ @Test
+ public void otherMemberAddParticipant() throws DefaultException, IOException {
+ final String whoAdds = "otherMember";
+ addParticipant(whoAdds);
+ }
- @Test
- public void setTitle() throws DefaultException, IOException {
- doLogin();
- final WaveRef waveletName = manager.createWave(TITLE, MESSAGE, participantUtils.of(getSiteAdminShortName()));
- assertNotNull(waveletName);
- manager.setTitle(waveletName, TITLENEW, getSiteAdminShortName());
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
- assertNotNull(fetchWavelet);
- assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
- assertEquals(TITLENEW, fetchWavelet.getTitle());
- }
+ @Test
+ public void setTitle() throws DefaultException, IOException {
+ doLogin();
+ final WaveRef waveletName = manager.createWave(TITLE, MESSAGE,
+ participantUtils.of(getSiteAdminShortName()));
+ assertNotNull(waveletName);
+ manager.setTitle(waveletName, TITLENEW, getSiteAdminShortName());
+ final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ assertNotNull(fetchWavelet);
+ assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
+ assertEquals(TITLENEW, fetchWavelet.getTitle());
+ }
}
1
0
Author: vjrj_
Date: 2011-05-03 10:22:21 +0200 (Tue, 03 May 2011)
New Revision: 1334
Added:
trunk/src/main/java/cc/kune/blogs/client/actions/AbstractOptionsMenu.java
trunk/src/main/java/cc/kune/blogs/client/actions/ContentViewerOptionsMenu.java
trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java
trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.ui.xml
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsNotParticipantOfCurrentStateCondition.java
trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java
trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentMenuItem.java
trunk/src/main/java/cc/kune/msgs/client/resources/UserMessageImagesUtil.java
Removed:
trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java
trunk/src/test/java/org/ourproject/kune/platf/integration/
trunk/src/test/java/org/ourproject/kune/platf/server/
trunk/src/test/java/org/ourproject/kune/rack/filters/
trunk/src/test/java/org/ourproject/kune/testhelper/
Modified:
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/blogs/client/actions/GoParentBlogBtn.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java
trunk/src/main/java/cc/kune/common/client/notify/NotifyLevel.java
trunk/src/main/java/cc/kune/common/client/notify/NotifyUser.java
trunk/src/main/java/cc/kune/common/client/ui/AbstractAtBorderPopupPanel.java
trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java
trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java
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/client/sitebar/AboutKuneDialog.java
trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPanel.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.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/StateContentDTO.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.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/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
trunk/src/main/java/cc/kune/msgs/client/UserMessage.java
trunk/src/main/java/cc/kune/wave/client/WebClient.java
trunk/src/main/java/cc/kune/wave/server/KuneWaveManager.java
trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java
trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java
Log:
More actions, error dialog, participate action (work in progress)
Added: trunk/src/main/java/cc/kune/blogs/client/actions/AbstractOptionsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/AbstractOptionsMenu.java (rev 0)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/AbstractOptionsMenu.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -0,0 +1,13 @@
+package cc.kune.blogs.client.actions;
+
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
+import cc.kune.core.client.resources.CoreResources;
+
+public abstract class AbstractOptionsMenu extends MenuDescriptor {
+
+ public AbstractOptionsMenu(final CoreResources res) {
+ super();
+ this.withIcon(res.arrowDownBlack()).withStyles("k-fr");
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -30,7 +30,8 @@
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.RefreshContentBtn;
+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;
@@ -38,34 +39,36 @@
public class BlogsClientActions extends AbstractFoldableToolActions {
- final String[] all = { TYPE_ROOT, TYPE_BLOG, 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[] contentsModerated = { TYPE_POST, TYPE_UPLOADEDFILE };
+ final String[] all = { TYPE_ROOT, TYPE_BLOG, 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[] contentsModerated = { TYPE_POST, TYPE_UPLOADEDFILE };
- @Inject
- public BlogsClientActions(final I18nUITranslationService i18n, final Session session,
- final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
- final Provider<GoParentBlogBtn> folderGoUp, final Provider<NewPostBtn> newDocBtn,
- final Provider<NewBlogBtn> newFolderBtn, final Provider<OpenBlogMenuItem> openContentMenuItem,
- final Provider<DelPostMenuItem> delContentMenuItem, final Provider<RefreshContentBtn> refresh,
- final Provider<DelBlogMenuItem> delFolderMenuItem,
- final Provider<SetAsHomePageMenuItem> setAsHomePage) {
- super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.VIEW, newDocBtn, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.VIEW, refresh, all);
- 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, delFolderMenuItem, contents);
- }
+ @Inject
+ public BlogsClientActions(final I18nUITranslationService i18n, final Session session,
+ final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
+ final Provider<GoParentBlogBtn> folderGoUp, final Provider<NewPostBtn> newDocBtn,
+ final Provider<NewBlogBtn> newFolderBtn, final Provider<OpenBlogMenuItem> openContentMenuItem,
+ final Provider<DelPostMenuItem> delContentMenuItem, final Provider<RefreshContentMenuItem> refresh,
+ final Provider<ContentViewerOptionsMenu> optionsMenuContent,
+ final Provider<ParticipateInContentBtn> participateBtn, final Provider<DelBlogMenuItem> delFolderMenuItem,
+ final Provider<SetAsHomePageMenuItem> setAsHomePage) {
+ super(session, stateManager, i18n, registry);
+ 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);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.MENUITEM, delFolderMenuItem, containersNoRoot);
+ }
- @Override
- protected void createPostSessionInitActions() {
- }
+ @Override
+ protected void createPostSessionInitActions() {
+ }
}
Added: trunk/src/main/java/cc/kune/blogs/client/actions/ContentViewerOptionsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/ContentViewerOptionsMenu.java (rev 0)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/ContentViewerOptionsMenu.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -0,0 +1,16 @@
+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/blogs/client/actions/GoParentBlogBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/GoParentBlogBtn.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/GoParentBlogBtn.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -9,7 +9,8 @@
public class GoParentBlogBtn extends GoParentContainerBtn {
@Inject
- public GoParentBlogBtn(final I18nTranslationService i18n, final GoParentContainerAction action, final CoreResources res) {
+ public GoParentBlogBtn(final I18nTranslationService i18n, final GoParentContainerAction action,
+ final CoreResources res) {
super(i18n, action, res);
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -239,6 +239,12 @@
}
@Override
+ public GuiActionDescrip withId(final String id) {
+ setId(id);
+ return this;
+ }
+
+ @Override
public GuiActionDescrip withParent(final GuiActionDescrip parent) {
setParent(parent);
return this;
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -80,6 +80,8 @@
GuiActionDescrip withIconCls(String icon);
+ GuiActionDescrip withId(String id);
+
GuiActionDescrip withParent(GuiActionDescrip parent);
GuiActionDescrip withShortcut(KeyStroke keystroke);
Modified: trunk/src/main/java/cc/kune/common/client/notify/NotifyLevel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/notify/NotifyLevel.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/common/client/notify/NotifyLevel.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -20,5 +20,5 @@
package cc.kune.common.client.notify;
public enum NotifyLevel {
- info, important, veryImportant, error
+ error, important, info, log, veryImportant
}
Modified: trunk/src/main/java/cc/kune/common/client/notify/NotifyUser.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/notify/NotifyUser.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/common/client/notify/NotifyUser.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -88,6 +88,10 @@
}
+ public static void logError(final String message) {
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.log, message));
+ }
+
public static void showAlertMessage(final String title, final String message) {
showAlertMessage(title, message, onOk);
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/AbstractAtBorderPopupPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/AbstractAtBorderPopupPanel.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/common/client/ui/AbstractAtBorderPopupPanel.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -27,8 +27,10 @@
public abstract class AbstractAtBorderPopupPanel extends PopupPanel {
+ private String height;
private boolean showCentered = true;
protected UIObject showNearObject;
+ private String width;
public AbstractAtBorderPopupPanel() {
super(false, false);
@@ -44,15 +46,21 @@
init();
}
+ private String calculatePercent(final int currentSize, final String percent) {
+ return String.valueOf(currentSize * Integer.valueOf(percent.replace("%", "")) / 100) + "px";
+ }
+
public void defaultStyle() {
addStyleName("k-opacity90");
addStyleName("k-box-10shadow");
}
private void init() {
+ setSizes();
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(final ResizeEvent event) {
+ setSizeWithListener(event.getWidth(), event.getHeight());
if (isShowing()) {
if (showCentered) {
setCenterPositionImpl();
@@ -70,6 +78,46 @@
protected abstract void setCenterPositionImpl();
+ @Override
+ public void setHeight(final String height) {
+ this.height = height;
+ setSizes();
+ }
+
+ @Override
+ public void setSize(final String width, final String height) {
+ this.width = width;
+ this.height = height;
+ setSizes();
+ }
+
+ private void setSizes() {
+ setSizeWithListener(Window.getClientWidth(), Window.getClientHeight());
+ }
+
+ private void setSizeWithListener(final int windowWidth, final int windowHeight) {
+ if (width != null) {
+ if (width.contains("%")) {
+ calculatePercent(windowWidth, width);
+ } else {
+ super.setWidth(width);
+ }
+ }
+ if (height != null) {
+ if (height.contains("%")) {
+ calculatePercent(windowHeight, height);
+ } else {
+ super.setHeight(height);
+ }
+ }
+ }
+
+ @Override
+ public void setWidth(final String width) {
+ this.width = width;
+ setSizes();
+ }
+
public void showCentered() {
showCentered = true;
setCenterPositionImpl();
Modified: trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -40,129 +40,131 @@
public class IconLabel extends Composite implements HasWidgets, HasDirectionalText {
- interface IconTitleUiBinder extends UiBinder<Widget, IconLabel> {
- }
+ interface IconTitleUiBinder extends UiBinder<Widget, IconLabel> {
+ }
- private static IconTitleUiBinder uiBinder = GWT.create(IconTitleUiBinder.class);
+ private static IconTitleUiBinder uiBinder = GWT.create(IconTitleUiBinder.class);
- @UiField
- FlowPanel flow;
- @UiField
- Image iconLeft;
- @UiField
- Image iconRight;
- @UiField
- InlineLabel label;
- @UiField
- FocusPanel self;
+ @UiField
+ FlowPanel flow;
+ @UiField
+ Image iconLeft;
+ @UiField
+ Image iconRight;
+ @UiField
+ InlineLabel label;
+ @UiField
+ FocusPanel self;
- public IconLabel() {
- this("");
- }
+ public IconLabel() {
+ this("");
+ }
- public IconLabel(final ImageResource imgRes, final String text) {
- this(text);
- if (imgRes != null) {
- iconLeft.setResource(imgRes);
+ public IconLabel(final ImageResource imgRes, final String text) {
+ this(text);
+ if (imgRes != null) {
+ iconLeft.setResource(imgRes);
+ }
}
- }
- public IconLabel(final String text) {
- initWidget(uiBinder.createAndBindUi(this));
- label.setText(text);
- label.addStyleName("k-space-nowrap");
- label.addStyleName("k-iconlabel-text");
- }
+ public IconLabel(final String text) {
+ initWidget(uiBinder.createAndBindUi(this));
+ label.setText(text);
+ label.addStyleName("k-space-nowrap");
+ label.addStyleName("k-iconlabel-text");
+ }
- @Override
- public void add(final Widget w) {
- flow.add(w);
- }
+ @Override
+ public void add(final Widget w) {
+ flow.add(w);
+ }
- @Override
- public void addStyleName(final String style) {
- flow.addStyleName(style);
- }
+ @Override
+ public void addStyleName(final String style) {
+ flow.addStyleName(style);
+ }
- public void addTextStyleName(final String style) {
- label.addStyleName(style);
- }
+ public void addTextStyleName(final String style) {
+ label.addStyleName(style);
+ }
- @Override
- public void clear() {
- flow.clear();
- }
+ @Override
+ public void clear() {
+ flow.clear();
+ }
- public HasClickHandlers getFocus() {
- return self;
- }
+ public HasClickHandlers getFocus() {
+ return self;
+ }
- @Override
- public String getText() {
- return label.getText();
- }
+ @Override
+ public String getText() {
+ return label.getText();
+ }
- @Override
- public Direction getTextDirection() {
- return label.getTextDirection();
- }
+ @Override
+ public Direction getTextDirection() {
+ return label.getTextDirection();
+ }
- @Override
- public Iterator<Widget> iterator() {
- return flow.iterator();
- }
+ @Override
+ public Iterator<Widget> iterator() {
+ return flow.iterator();
+ }
- @Override
- public boolean remove(final Widget w) {
- return flow.remove(w);
- }
+ @Override
+ public boolean remove(final Widget w) {
+ return flow.remove(w);
+ }
- public void setLabelText(final String text) {
- label.setText(text);
- }
+ public void setLabelText(final String text) {
+ label.setText(text);
+ }
- public void setLeftIcon(final String imgCss) {
- iconLeft.setUrl("images/clear.gif");
- iconLeft.setStyleName(imgCss);
- iconLeft.addStyleName("k-iconlabel-left");
- iconLeft.addStyleName("oc-ico-pad");
- }
+ public void setLeftIcon(final String imgCss) {
+ iconLeft.setUrl("images/clear.gif");
+ iconLeft.setStyleName(imgCss);
+ iconLeft.addStyleName("k-iconlabel-left");
+ iconLeft.addStyleName("oc-ico-pad");
+ }
- public void setLeftIconResource(final ImageResource res) {
- iconLeft.setResource(res);
- iconLeft.addStyleName("k-iconlabel-left");
- }
+ public void setLeftIconResource(final ImageResource res) {
+ iconLeft.setResource(res);
+ iconLeft.addStyleName("k-iconlabel-left");
+ }
- public void setRightIcon(final String imgCss) {
- iconRight.setUrl("images/clear.gif");
- iconRight.setStyleName(imgCss);
- iconRight.addStyleName("oc-ico-pad");
- iconRight.addStyleName("k-iconlabel-right");
- }
+ public void setRightIcon(final String imgCss) {
+ iconRight.setUrl("images/clear.gif");
+ iconRight.setStyleName(imgCss);
+ iconRight.addStyleName("oc-ico-pad");
+ iconRight.addStyleName("k-iconlabel-right");
+ }
- public void setRightIconResource(final ImageResource res) {
- iconRight.setResource(res);
- iconRight.addStyleName("k-iconlabel-right");
- }
+ public void setRightIconResource(final ImageResource res) {
+ iconRight.setResource(res);
+ iconRight.addStyleName("k-iconlabel-right");
+ }
- @Override
- public void setStyleName(final String style) {
- flow.setStyleName(style);
- }
+ @Override
+ public void setStyleName(final String style) {
+ flow.setStyleName(style);
+ }
- @Override
- public void setText(final String text) {
- label.setText(text);
- }
+ @Override
+ public void setText(final String text) {
+ label.setText(text);
+ }
- @Override
- public void setText(final String text, final Direction dir) {
- label.setText(text, dir);
- }
+ @Override
+ public void setText(final String text, final Direction dir) {
+ label.setText(text, dir);
+ }
- public void setTooltip(final String text) {
- Tooltip.to(label, text);
- // Tooltip.to(iconRight, text);
- // Tooltip.to(iconLeft, text);
- }
+ public void setTooltip(final String text) {
+ Tooltip.to(label, text);
+ }
+
+ public void setWordWrap(final boolean wordWrap) {
+ label.setWordWrap(wordWrap);
+ }
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -28,135 +28,134 @@
public class BasicTopDialog extends BasicDialog {
- public static class Builder {
- private final boolean autohide;
- private boolean autoscroll = false;
- private final String dialogId;
- private String firstButtonId;
- private String firstButtonTitle;
- private String height = "70%";
- private String icon;
- private final boolean modal;
- private String sndButtonId;
- private String sndButtonTitle;
- private int tabIndexStart = 0;
- private String title;
- private String width = "400px";
+ public static class Builder {
+ private final boolean autohide;
+ private boolean autoscroll = false;
+ private final String dialogId;
+ private String firstButtonId;
+ private String firstButtonTitle;
+ private String height = "70%";
+ private String icon;
+ private final boolean modal;
+ private String sndButtonId;
+ private String sndButtonTitle;
+ private int tabIndexStart = 0;
+ private String title;
+ private String width = "400px";
- public Builder(final String dialogId, final boolean autohide, final boolean modal) {
- // Required params
- this.autohide = autohide;
- this.modal = modal;
- this.dialogId = dialogId;
- }
+ public Builder(final String dialogId, final boolean autohide, final boolean modal) {
+ // Required params
+ this.autohide = autohide;
+ this.modal = modal;
+ this.dialogId = dialogId;
+ }
- public Builder autoscroll(final boolean autoscroll) {
- // Not used for now
- this.autoscroll = autoscroll;
- return this;
- }
+ public Builder autoscroll(final boolean autoscroll) {
+ // Not used for now
+ this.autoscroll = autoscroll;
+ return this;
+ }
- public BasicTopDialog build() {
- return new BasicTopDialog(this);
- }
+ public BasicTopDialog build() {
+ return new BasicTopDialog(this);
+ }
- public Builder firstButtonId(final String firstButtonId) {
- this.firstButtonId = firstButtonId;
- return this;
- }
+ public Builder firstButtonId(final String firstButtonId) {
+ this.firstButtonId = firstButtonId;
+ return this;
+ }
- public Builder firstButtonTitle(final String firstButtonTitle) {
- this.firstButtonTitle = firstButtonTitle;
- return this;
- }
+ public Builder firstButtonTitle(final String firstButtonTitle) {
+ this.firstButtonTitle = firstButtonTitle;
+ return this;
+ }
- public Builder height(final int height) {
- this.height = String.valueOf(height);
- return this;
- }
+ public Builder height(final int height) {
+ this.height = String.valueOf(height);
+ return this;
+ }
- public Builder height(final String height) {
- this.height = height;
- return this;
- }
+ public Builder height(final String height) {
+ this.height = height;
+ return this;
+ }
- public Builder icon(final String icon) {
- this.icon = icon;
- return this;
- }
+ public Builder icon(final String icon) {
+ this.icon = icon;
+ return this;
+ }
- public Builder sndButtonId(final String sndButtonId) {
- this.sndButtonId = sndButtonId;
- return this;
- }
+ public Builder sndButtonId(final String sndButtonId) {
+ this.sndButtonId = sndButtonId;
+ return this;
+ }
- public Builder sndButtonTitle(final String sndButtonTitle) {
- this.sndButtonTitle = sndButtonTitle;
- return this;
- }
+ public Builder sndButtonTitle(final String sndButtonTitle) {
+ this.sndButtonTitle = sndButtonTitle;
+ return this;
+ }
- public Builder tabIndexStart(final int tabIndexStart) {
- this.tabIndexStart = tabIndexStart;
- return this;
- }
+ public Builder tabIndexStart(final int tabIndexStart) {
+ this.tabIndexStart = tabIndexStart;
+ return this;
+ }
- public Builder title(final String title) {
- this.title = title;
- return this;
- }
+ public Builder title(final String title) {
+ this.title = title;
+ return this;
+ }
- public Builder width(final int width) {
- this.width = String.valueOf(width);
- return this;
- }
+ public Builder width(final int width) {
+ this.width = String.valueOf(width);
+ return this;
+ }
- public Builder width(final String width) {
- this.width = width;
- return this;
+ public Builder width(final String width) {
+ this.width = width;
+ return this;
+ }
+
}
- }
+ private final PopupTopPanel popup;
- private final PopupTopPanel popup;
+ private BasicTopDialog(final Builder builder) {
+ popup = new PopupTopPanel(builder.autohide, builder.modal);
+ popup.add(this);
+ popup.ensureDebugId(builder.dialogId);
+ super.getTitleText().setText(builder.title);
+ if (TextUtils.notEmpty(builder.icon)) {
+ super.setTitleIcon(builder.icon);
+ }
+ super.setFirstBtnText(builder.firstButtonTitle);
+ super.setFirstBtnId(builder.firstButtonId);
+ super.setFirstBtnTabIndex(builder.tabIndexStart);
+ super.setSecondBtnText(builder.sndButtonTitle);
+ super.setSecondBtnId(builder.sndButtonId);
+ super.setSecondBtnTabIndex(builder.tabIndexStart + 1);
+ super.getTitleText().setText(builder.title);
+ popup.setWidth(builder.width);
+ popup.setHeight(builder.height);
+ }
- private BasicTopDialog(final Builder builder) {
- popup = new PopupTopPanel(builder.autohide, builder.modal);
- popup.add(this);
- popup.ensureDebugId(builder.dialogId);
- super.getTitleText().setText(builder.title);
- if (TextUtils.notEmpty(builder.icon)) {
- super.setTitleIcon(builder.icon);
+ public HasCloseHandlers<PopupPanel> getClose() {
+ return popup;
}
- super.setFirstBtnText(builder.firstButtonTitle);
- super.setFirstBtnId(builder.firstButtonId);
- super.setFirstBtnTabIndex(builder.tabIndexStart);
- super.setSecondBtnText(builder.sndButtonTitle);
- super.setSecondBtnId(builder.sndButtonId);
- super.setSecondBtnTabIndex(builder.tabIndexStart + 1);
- super.getTitleText().setText(builder.title);
- super.setSize(builder.width, builder.height);
- }
- public HasCloseHandlers<PopupPanel> getClose() {
- return popup;
- }
+ public void hide() {
+ popup.hide();
+ }
- public void hide() {
- popup.hide();
+ @Override
+ public void setFirstBtnTitle(final String title) {
+ super.setFirstBtnTitle(title);
+ }
- }
+ public void showCentered() {
+ popup.showCentered();
+ }
- @Override
- public void setFirstBtnTitle(final String title) {
- super.setFirstBtnTitle(title);
-
- }
-
- public void showCentered() {
- popup.showCentered();
- }
-
- public void showRelativeTo(final UIObject object) {
- popup.showRelativeTo(object);
- }
+ public void showRelativeTo(final UIObject object) {
+ popup.showRelativeTo(object);
+ }
}
Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-05-03 08:22:21 UTC (rev 1334)
@@ -144,11 +144,11 @@
.k-dialog-innerp {
background-color: #FFFFFF;
border: solid 1px #F2F2F2;
- margin: 34px 16px 20px 16px;
+ margin: 0px 4px 10px;
}
.k-dialog-btn-area {
- padding: 0 15px 15px 15px;
+ padding: 0 5px 5px 5px;
margin-bottom: 30px;
}
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -59,6 +59,7 @@
import cc.kune.core.client.notify.spiner.SpinerPresenter;
import cc.kune.core.client.notify.spiner.SpinerViewImpl;
import cc.kune.core.client.registry.ContentCapabilitiesRegistry;
+import cc.kune.core.client.sitebar.ErrorsDialog;
import cc.kune.core.client.sitebar.SiteUserOptions;
import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
import cc.kune.core.client.sitebar.SitebarActions;
@@ -207,6 +208,8 @@
s(SitebarNewGroupLink.class);
s(SitebarSignInLink.class);
s(SitebarSignOutLink.class);
+
+ s(ErrorsDialog.class);
}
}
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -89,7 +89,6 @@
dialog = builder.build();
this.i18n = i18n;
this.mask = mask;
- // Field.setMsgTarget("side");
form = createNewGroupInitialDataForm();
messageErrorBar = new MessageToolbar(img, ERROR_MSG_BAR);
Modified: trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/client/notify/msgs/UserNotifierPresenter.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -19,6 +19,7 @@
*/
package cc.kune.core.client.notify.msgs;
+import cc.kune.common.client.notify.NotifyLevel;
import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierProxy;
import cc.kune.core.client.notify.msgs.UserNotifierPresenter.UserNotifierView;
@@ -46,8 +47,10 @@
}
@ProxyEvent
- public void onUserNotify(UserNotifyEvent event) {
- getView().notify(event);
+ public void onUserNotify(final UserNotifyEvent event) {
+ if (event.getLevel() != NotifyLevel.log) {
+ getView().notify(event);
+ }
}
@Override
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -51,6 +51,8 @@
StateContainerDTO addFolder(String hash, StateToken parentToken, String typeId, String title)
throws DefaultException;
+ void addParticipant(String userHash, StateToken token, String participant) throws DefaultException;
+
StateContainerDTO addRoom(String user, StateToken parentToken, String name) throws DefaultException;
StateContentDTO delContent(String userHash, StateToken token) 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-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -21,6 +21,7 @@
import java.util.Date;
+import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.domain.RateResult;
import cc.kune.core.shared.domain.TagCloudResult;
@@ -49,6 +50,9 @@
void addFolder(String hash, StateToken parentToken, String title, String typeId,
AsyncCallback<StateContainerDTO> callback);
+ void addParticipant(String userHash, StateToken token, String authorShortName, AsyncCallback<Void> asyncCallback)
+ throws DefaultException;
+
void addRoom(String user, StateToken parentToken, String name, AsyncCallback<StateContainerDTO> callback);
void delContent(String userHash, StateToken token, AsyncCallback<StateContentDTO> asyncCallback);
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -20,8 +20,6 @@
public static final String ABOUT_KUNE_BTN_ID = "kune-about-button-diag";
public static final String ABOUT_KUNE_ID = "kune-about-diag";
private static final Binder BINDER = GWT.create(Binder.class);
-
- public static final String SITE_OPTIONS_MENU = "kune-sop-om";
private final BasicTopDialog dialog;
@UiField
FlowPanel flow;
@@ -31,7 +29,7 @@
@Inject
public AboutKuneDialog(final I18nTranslationService i18n) {
dialog = new BasicTopDialog.Builder(ABOUT_KUNE_ID, true, true).title(i18n.t("About Kune")).autoscroll(false).firstButtonTitle(
- i18n.t("Ok")).firstButtonId(ABOUT_KUNE_BTN_ID).tabIndexStart(1).build();
+ i18n.t("Ok")).firstButtonId(ABOUT_KUNE_BTN_ID).tabIndexStart(1).height("70%").build();
dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
dialog.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.ui.xml 2011-05-03 08:22:21 UTC (rev 1334)
@@ -4,15 +4,12 @@
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:style>
.panel {
- width: 400px;
- height: 400px;
}
.frame {
border: 0px;
margin: 0px;
width: 100%;
- height: 400px;
background-color: #F2F2F2;
}
</ui:style>
Added: trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -0,0 +1,64 @@
+package cc.kune.core.client.sitebar;
+
+import cc.kune.common.client.notify.NotifyLevel;
+import cc.kune.common.client.ui.IconLabel;
+import cc.kune.common.client.ui.dialogs.BasicTopDialog;
+import cc.kune.core.client.notify.msgs.UserNotifyEvent;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.msgs.client.resources.UserMessageImagesUtil;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.InlineLabel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+
+public class ErrorsDialog {
+
+ interface Binder extends UiBinder<Widget, ErrorsDialog> {
+ }
+ private static final Binder BINDER = GWT.create(Binder.class);
+ public static final String ERROR_LOGGER_BUTTON_ID = "kune-error-button-diag";
+ public static final String ERROR_LOGGER_ID = "kune-error-diag";
+
+ private final BasicTopDialog dialog;
+ @UiField
+ VerticalPanel panel;
+
+ @Inject
+ public ErrorsDialog(final I18nTranslationService i18n, final EventBus eventBus) {
+ dialog = new BasicTopDialog.Builder(ERROR_LOGGER_ID, true, true).title(i18n.t("Errors info")).autoscroll(true).firstButtonTitle(
+ i18n.t("Ok")).firstButtonId(ERROR_LOGGER_BUTTON_ID).tabIndexStart(1).height("300px").build();
+ dialog.getTitleText().setText(i18n.t("Info about errors"));
+ final InlineLabel subTitle = new InlineLabel(i18n.t("Please copy/paste this info to report problems"));
+ dialog.getInnerPanel().add(subTitle);
+ dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
+ dialog.getFirstBtn().addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ dialog.hide();
+ }
+ });
+ eventBus.addHandler(UserNotifyEvent.getType(), new UserNotifyEvent.UserNotifyHandler() {
+ @Override
+ public void onUserNotify(final UserNotifyEvent event) {
+ final NotifyLevel level = event.getLevel();
+ final IconLabel iconMessage = new IconLabel();
+ iconMessage.setLeftIconResource(UserMessageImagesUtil.getIcon(level));
+ iconMessage.setText(event.getMessage());
+ iconMessage.setWordWrap(true);
+ panel.insert(iconMessage, 0);
+ }
+ });
+ }
+
+ public void showCentered() {
+ dialog.showCentered();
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/ErrorsDialog.ui.xml 2011-05-03 08:22:21 UTC (rev 1334)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:g='urn:import:com.google.gwt.user.client.ui'>
+ <ui:style>
+ .panel {
+ background-color: #F2F2F2;
+ }
+ </ui:style>
+<g:ScrollPanel>
+ <g:VerticalPanel styleName="{style.panel}" ui:field="panel">
+ </g:VerticalPanel>
+</g:ScrollPanel>
+</ui:UiBinder>
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPanel.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPanel.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -33,16 +33,18 @@
public class SitebarActionsPanel extends ViewImpl implements SitebarActionsView {
private final Provider<AboutKuneDialog> aboutPanel;
+ private final ErrorsDialog errorPanel;
private final ActionSimplePanel toolbarLeft;
private final ActionSimplePanel toolbarRight;
@Inject
public SitebarActionsPanel(final GSpaceArmor armor, final ActionSimplePanel toolbarRight,
final ActionSimplePanel toolbarLeft, final I18nTranslationService i18n,
- final Provider<AboutKuneDialog> aboutPanel) {
+ final Provider<AboutKuneDialog> aboutPanel, final ErrorsDialog errorPanel) {
this.toolbarRight = toolbarRight;
this.toolbarLeft = toolbarLeft;
this.aboutPanel = aboutPanel;
+ this.errorPanel = errorPanel;
toolbarRight.addStyleName("k-sitebar");
toolbarRight.addStyleName("k-floatright");
toolbarLeft.addStyleName("k-sitebar");
@@ -71,4 +73,9 @@
aboutPanel.get().showCentered();
}
+ @Override
+ public void showErrorDialog() {
+ errorPanel.showCentered();
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -54,6 +54,7 @@
@ProxyCodeSplit
public interface SitebarActionsProxy extends Proxy<SitebarActionsPresenter> {
}
+
public interface SitebarActionsView extends View {
IsActionExtensible getLeftBar();
@@ -61,11 +62,14 @@
IsActionExtensible getRightBar();
void showAboutDialog();
+
+ void showErrorDialog();
}
+ public static final ToolbarDescriptor LEFT_TOOLBAR = new ToolbarDescriptor();
- public static final ToolbarDescriptor LEFT_TOOLBAR = new ToolbarDescriptor();
public static final MenuDescriptor OPTIONS_MENU = new MenuDescriptor();
public static final ToolbarDescriptor RIGHT_TOOLBAR = new ToolbarDescriptor();
+ public static final String SITE_OPTIONS_MENU = "kune-sop-om";
private final I18nTranslationService i18n;
private final IconResources icons;
@@ -105,6 +109,7 @@
}
private void init() {
+ OPTIONS_MENU.withId(SITE_OPTIONS_MENU);
getView().getLeftBar().add(LEFT_TOOLBAR);
getView().getRightBar().add(RIGHT_TOOLBAR);
}
@@ -131,8 +136,13 @@
bugsAction.putValue(Action.SMALL_ICON, icons.bug());
final MenuItemDescriptor reportBugs = new MenuItemDescriptor(OPTIONS_MENU, bugsAction);
- // final KeyStroke shortcut = Shortcut.getShortcut(true, true, false,
- // false, Character.valueOf('K'));
+ final AbstractExtendedAction errorAction = new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ getView().showErrorDialog();
+ }
+ };
+
final AbstractExtendedAction aboutAction = new AbstractExtendedAction() {
@Override
public void actionPerformed(final ActionEvent event) {
@@ -146,7 +156,6 @@
KuneWindowUtils.open("http://incubator.apache.org/wave/");
}
};
-
final MenuItemDescriptor gotoKuneDevSite = new MenuItemDescriptor(OPTIONS_MENU, new AbstractAction() {
@Override
public void actionPerformed(final ActionEvent event) {
@@ -160,6 +169,8 @@
wavePowered.putValue(Action.SMALL_ICON, res.waveIcon());
aboutAction.putValue(Action.NAME, i18n.t("About kune"));
aboutAction.putValue(Action.SMALL_ICON, res.info());
+ errorAction.putValue(Action.NAME, i18n.t("Errors info"));
+ errorAction.putValue(Action.SMALL_ICON, res.important());
// aboutAction.setShortcut(shortcut);
// shortcutReg.put(shortcut, aboutAction);
@@ -171,10 +182,10 @@
right.add(OPTIONS_MENU);
right.add(gotoKuneDevSite);
right.add(reportBugs);
+ right.add(new MenuItemDescriptor(OPTIONS_MENU, errorAction));
right.add(new MenuItemDescriptor(OPTIONS_MENU, aboutAction));
right.add(menuSeparator);
right.add(new MenuItemDescriptor(OPTIONS_MENU, wavePowered));
-
}
@Override
Added: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsNotParticipantOfCurrentStateCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsNotParticipantOfCurrentStateCondition.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsNotParticipantOfCurrentStateCondition.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -0,0 +1,26 @@
+package cc.kune.core.client.sn.actions.conditions;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.StateContentDTO;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class IsNotParticipantOfCurrentStateCondition implements GuiAddCondition {
+
+ private final Session session;
+
+ @Inject
+ public IsNotParticipantOfCurrentStateCondition(final Session session) {
+ this.session = session;
+ }
+
+ @Override
+ public boolean mustBeAdded(final GuiActionDescrip descr) {
+ final StateContentDTO currentState = session.getContentState();
+ return !currentState.isParticipant();
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -45,6 +45,8 @@
void addAuthor(User user, Long contentId, String authorShortName) throws DefaultException;
+ void addParticipant(User user, Long contentId, String participant);
+
Content createContent(String title, String body, User author, Container container, String typeId);
boolean findIfExistsTitle(Container container, String title);
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -65,255 +65,256 @@
@Singleton
public class ContentManagerDefault extends DefaultManager<Content, Long> implements ContentManager {
- private final ContainerFinder containerFinder;
- private final ContentFinder contentFinder;
- private final FinderService finder;
- private final KuneWaveManager kuneWaveManager;
- private final I18nLanguageFinder languageFinder;
- private final ParticipantUtils participantUtils;
- private final TagUserContentManager tagManager;
- private final UserFinder userFinder;
+ private final ContainerFinder containerFinder;
+ private final ContentFinder contentFinder;
+ private final FinderService finder;
+ private final KuneWaveManager kuneWaveManager;
+ private final I18nLanguageFinder languageFinder;
+ private final ParticipantUtils participantUtils;
+ private final TagUserContentManager tagManager;
+ private final UserFinder userFinder;
- @Inject
- public ContentManagerDefault(final ContentFinder contentFinder, final ContainerFinder containerFinder,
- final Provider<EntityManager> provider, final FinderService finder, final UserFinder userFinder,
- final I18nLanguageFinder languageFinder, final TagUserContentManager tagManager,
- final KuneWaveManager kuneWaveManager, final ParticipantUtils participantUtils) {
- super(provider, Content.class);
- this.contentFinder = contentFinder;
- this.containerFinder = containerFinder;
- this.finder = finder;
- this.userFinder = userFinder;
- this.languageFinder = languageFinder;
- this.tagManager = tagManager;
- this.kuneWaveManager = kuneWaveManager;
- this.participantUtils = participantUtils;
- }
+ @Inject
+ public ContentManagerDefault(final ContentFinder contentFinder, final ContainerFinder containerFinder,
+ final Provider<EntityManager> provider, final FinderService finder, final UserFinder userFinder,
+ final I18nLanguageFinder languageFinder, final TagUserContentManager tagManager,
+ final KuneWaveManager kuneWaveManager, final ParticipantUtils participantUtils) {
+ super(provider, Content.class);
+ this.contentFinder = contentFinder;
+ this.containerFinder = containerFinder;
+ this.finder = finder;
+ this.userFinder = userFinder;
+ this.languageFinder = languageFinder;
+ this.tagManager = tagManager;
+ this.kuneWaveManager = kuneWaveManager;
+ this.participantUtils = participantUtils;
+ }
- @Override
- public void addAuthor(final User user, final Long contentId, final String authorShortName)
- throws DefaultException {
- final Content content = finder.getContent(contentId);
- final User author = userFinder.getByShortName(authorShortName);
- if (author == null) {
- throw new UserNotFoundException();
+ @Override
+ public void addAuthor(final User user, final Long contentId, final String authorShortName) throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ final User author = userFinder.getByShortName(authorShortName);
+ if (author == null) {
+ throw new UserNotFoundException();
+ }
+ content.addAuthor(author);
}
- content.addAuthor(author);
- }
- @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();
- newContent.addAuthor(author);
- newContent.setLanguage(author.getLanguage());
- newContent.setTypeId(typeId);
- container.addContent(newContent);
- newContent.setContainer(container);
- final Revision revision = new Revision(newContent);
- revision.setTitle(newtitle);
- // Duplicate in StateServiceDefault
- if (newContent.isWave()) {
- final WaveRef waveRef = kuneWaveManager.createWave(title, body,
- participantUtils.of(author.getShortName()));
- contentBody = JavaWaverefEncoder.encodeToUriPathSegment(waveRef);
- } else {
- contentBody = body;
+ @Override
+ public void addParticipant(final User user, final Long contentId, final String participant) {
+ final Content content = finder.getContent(contentId);
+ if (content.isWave()) {
+ kuneWaveManager.addParticipant(getWaveRef(content), content.getAuthors().get(0).getShortName(),
+ user.getShortName(), participant);
+ }
}
- revision.setBody(contentBody);
- newContent.addRevision(revision);
- return persist(newContent);
- }
- private MultiFieldQueryParser createMultiFieldParser() {
- final MultiFieldQueryParser parser = new MultiFieldQueryParser(DEF_GLOBAL_SEARCH_FIELDS,
- new StandardAnalyzer());
- return parser;
- }
+ @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();
+ newContent.addAuthor(author);
+ newContent.setLanguage(author.getLanguage());
+ newContent.setTypeId(typeId);
+ container.addContent(newContent);
+ newContent.setContainer(container);
+ final Revision revision = new Revision(newContent);
+ revision.setTitle(newtitle);
+ // Duplicate in StateServiceDefault
+ if (newContent.isWave()) {
+ final WaveRef waveRef = kuneWaveManager.createWave(title, body, participantUtils.of(author.getShortName()));
+ contentBody = JavaWaverefEncoder.encodeToUriPathSegment(waveRef);
+ } else {
+ contentBody = body;
+ }
+ revision.setBody(contentBody);
+ newContent.addRevision(revision);
+ return persist(newContent);
+ }
- @Override
- public boolean findIfExistsTitle(final Container container, final String title) {
- return (contentFinder.findIfExistsTitle(container, title) > 0)
- || (containerFinder.findIfExistsTitle(container, title) > 0);
- }
+ private MultiFieldQueryParser createMultiFieldParser() {
+ final MultiFieldQueryParser parser = new MultiFieldQueryParser(DEF_GLOBAL_SEARCH_FIELDS, new StandardAnalyzer());
+ return parser;
+ }
- private String findInexistentTitle(final Container container, final String title) {
- String initialTitle = String.valueOf(title);
- while (findIfExistsTitle(container, initialTitle)) {
- initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
+ @Override
+ public boolean findIfExistsTitle(final Container container, final String title) {
+ return (contentFinder.findIfExistsTitle(container, title) > 0)
+ || (containerFinder.findIfExistsTitle(container, title) > 0);
}
- return initialTitle;
- }
- @Override
- public Double getRateAvg(final Content content) {
- return finder.getRateAvg(content);
- }
+ private String findInexistentTitle(final Container container, final String title) {
+ String initialTitle = String.valueOf(title);
+ while (findIfExistsTitle(container, initialTitle)) {
+ initialTitle = FileUtils.getNextSequentialFileName(initialTitle);
+ }
+ return initialTitle;
+ }
- @Override
- public Long getRateByUsers(final Content content) {
- return finder.getRateByUsers(content);
- }
+ @Override
+ public Double getRateAvg(final Content content) {
+ return finder.getRateAvg(content);
+ }
- @Override
- public Double getRateContent(final User rater, final Content content) {
- final Rate rate = finder.getRate(rater, content);
- if (rate != null) {
- return rate.getValue();
- } else {
- return null;
+ @Override
+ public Long getRateByUsers(final Content content) {
+ return finder.getRateByUsers(content);
}
- }
- @Override
- public RateResult rateContent(final User rater, final Long contentId, final Double value)
- throws DefaultException {
- final Content content = finder.getContent(contentId);
- final Rate oldRate = finder.getRate(rater, content);
- if (oldRate == null) {
- final Rate rate = new Rate(rater, content, value);
- super.persist(rate, Rate.class);
- } else {
- oldRate.setValue(value);
- super.persist(oldRate, Rate.class);
+ @Override
+ public Double getRateContent(final User rater, final Content content) {
+ final Rate rate = finder.getRate(rater, content);
+ if (rate != null) {
+ return rate.getValue();
+ } else {
+ return null;
+ }
}
- final Double rateAvg = getRateAvg(content);
- final Long rateByUsers = getRateByUsers(content);
- return new RateResult(rateAvg != null ? rateAvg : 0D, rateByUsers != null ? rateByUsers.intValue()
- : 0, value);
- }
- @Override
- public void removeAuthor(final User user, final Long contentId, final String authorShortName)
- throws DefaultException {
- final Content content = finder.getContent(contentId);
- final User author = userFinder.getByShortName(authorShortName);
- if (author == null) {
- throw new UserNotFoundException();
+ private WaveRef getWaveRef(final Content content) {
+ try {
+ return JavaWaverefEncoder.decodeWaveRefFromPath(String.valueOf(content.getLastRevision().getBody()));
+ } catch (final InvalidWaveRefException e) {
+ throw new DefaultException("Error getting the wave");
+ }
}
- content.removeAuthor(author);
- }
- @Override
- public Content renameContent(final User user, final Long contentId, final String newTitle)
- throws DefaultException {
- final String newTitleWithoutNL = FilenameUtils.chomp(newTitle);
- FilenameUtils.checkBasicFilename(newTitleWithoutNL);
- final Content content = finder.getContent(contentId);
- if (findIfExistsTitle(content.getContainer(), newTitleWithoutNL)) {
- throw new NameInUseException();
+ @Override
+ public RateResult rateContent(final User rater, final Long contentId, final Double value) throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ final Rate oldRate = finder.getRate(rater, content);
+ if (oldRate == null) {
+ final Rate rate = new Rate(rater, content, value);
+ super.persist(rate, Rate.class);
+ } else {
+ oldRate.setValue(value);
+ super.persist(oldRate, Rate.class);
+ }
+ final Double rateAvg = getRateAvg(content);
+ final Long rateByUsers = getRateByUsers(content);
+ return new RateResult(rateAvg != null ? rateAvg : 0D, rateByUsers != null ? rateByUsers.intValue() : 0, value);
}
- content.getLastRevision().setTitle(newTitleWithoutNL);
- if (content.isWave()) {
- final String author = content.getAuthors().get(0).getShortName();
- try {
- kuneWaveManager.setTitle(
- JavaWaverefEncoder.decodeWaveRefFromPath(String.valueOf(content.getLastRevision().getBody())),
- newTitle, author);
- } catch (final InvalidWaveRefException e) {
- throw new DefaultException("Error setting the wave title");
- }
+
+ @Override
+ public void removeAuthor(final User user, final Long contentId, final String authorShortName)
+ throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ final User author = userFinder.getByShortName(authorShortName);
+ if (author == null) {
+ throw new UserNotFoundException();
+ }
+ content.removeAuthor(author);
}
- return content;
- }
- @Override
- public Content save(final User editor, final Content content) {
- return persist(content);
- }
+ @Override
+ public Content renameContent(final User user, final Long contentId, final String newTitle) throws DefaultException {
+ final String newTitleWithoutNL = FilenameUtils.chomp(newTitle);
+ FilenameUtils.checkBasicFilename(newTitleWithoutNL);
+ final Content content = finder.getContent(contentId);
+ if (findIfExistsTitle(content.getContainer(), newTitleWithoutNL)) {
+ throw new NameInUseException();
+ }
+ content.getLastRevision().setTitle(newTitleWithoutNL);
+ if (content.isWave()) {
+ final String author = content.getAuthors().get(0).getShortName();
+ kuneWaveManager.setTitle(getWaveRef(content), newTitle, author);
+ }
+ return content;
+ }
- @Override
- public Content save(final User editor, final Content content, final String body) {
- final Revision revision = new Revision(content);
- revision.setEditor(editor);
- revision.setTitle(content.getTitle());
- revision.setBody(body);
- content.addRevision(revision);
- return persist(content);
- }
+ @Override
+ public Content save(final User editor, final Content content) {
+ return persist(content);
+ }
- @Override
- public SearchResult<Content> search(final String search) {
- return this.search(search, null, null);
- }
+ @Override
+ public Content save(final User editor, final Content content, final String body) {
+ final Revision revision = new Revision(content);
+ revision.setEditor(editor);
+ revision.setTitle(content.getTitle());
+ revision.setBody(body);
+ content.addRevision(revision);
+ return persist(content);
+ }
- @Override
- public SearchResult<Content> search(final String search, final Integer firstResult,
- final Integer maxResults) {
- final MultiFieldQueryParser parser = createMultiFieldParser();
- Query query;
- try {
- query = parser.parse(search);
- } catch (final ParseException e) {
- throw new ServerManagerException("Error parsing search");
+ @Override
+ public SearchResult<Content> search(final String search) {
+ return this.search(search, null, null);
}
- return super.search(query, firstResult, maxResults);
- }
- @Override
- public SearchResult<Content> searchMime(final String search, final Integer firstResult,
- final Integer maxResults, final String groupShortName, final String mimetype) {
- final List<Content> list = contentFinder.findMime(groupShortName, "%" + search + "%", mimetype,
- firstResult, maxResults);
- final Long count = contentFinder.findMimeCount(groupShortName, "%" + search + "%", mimetype);
- return new SearchResult<Content>(count.intValue(), list);
- }
+ @Override
+ public SearchResult<Content> search(final String search, final Integer firstResult, final Integer maxResults) {
+ final MultiFieldQueryParser parser = createMultiFieldParser();
+ Query query;
+ try {
+ query = parser.parse(search);
+ } catch (final ParseException e) {
+ throw new ServerManagerException("Error parsing search");
+ }
+ return super.search(query, firstResult, maxResults);
+ }
- @Override
- public SearchResult<?> searchMime(final String search, final Integer firstResult,
- final Integer maxResults, final String groupShortName, final String mimetype,
- final String mimetype2) {
- final List<Content> list = contentFinder.find2Mime(groupShortName, "%" + search + "%", mimetype,
- mimetype2, firstResult, maxResults);
- final Long count = contentFinder.find2MimeCount(groupShortName, "%" + search + "%", mimetype,
- mimetype2);
- return new SearchResult<Content>(count.intValue(), list);
- }
+ @Override
+ public SearchResult<Content> searchMime(final String search, final Integer firstResult, final Integer maxResults,
+ final String groupShortName, final String mimetype) {
+ final List<Content> list = contentFinder.findMime(groupShortName, "%" + search + "%", mimetype, firstResult,
+ maxResults);
+ final Long count = contentFinder.findMimeCount(groupShortName, "%" + search + "%", mimetype);
+ return new SearchResult<Content>(count.intValue(), list);
+ }
- @Override
- public I18nLanguage setLanguage(final User user, final Long contentId, final String languageCode)
- throws DefaultException {
- final Content content = finder.getContent(contentId);
- final I18nLanguage language = languageFinder.findByCode(languageCode);
- if (language == null) {
- throw new I18nNotFoundException();
+ @Override
+ public SearchResult<?> searchMime(final String search, final Integer firstResult, final Integer maxResults,
+ final String groupShortName, final String mimetype, final String mimetype2) {
+ final List<Content> list = contentFinder.find2Mime(groupShortName, "%" + search + "%", mimetype, mimetype2,
+ firstResult, maxResults);
+ final Long count = contentFinder.find2MimeCount(groupShortName, "%" + search + "%", mimetype, mimetype2);
+ return new SearchResult<Content>(count.intValue(), list);
}
- content.setLanguage(language);
- return language;
- }
- @Override
- public void setPublishedOn(final User user, final Long contentId, final Date publishedOn)
- throws DefaultException {
- final Content content = finder.getContent(contentId);
- content.setPublishedOn(publishedOn);
- }
+ @Override
+ public I18nLanguage setLanguage(final User user, final Long contentId, final String languageCode)
+ throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ final I18nLanguage language = languageFinder.findByCode(languageCode);
+ if (language == null) {
+ throw new I18nNotFoundException();
+ }
+ content.setLanguage(language);
+ return language;
+ }
- @Override
- public Content setStatus(final Long contentId, final ContentStatus status) {
- final Content content = finder.getContent(contentId);
- content.setStatus(status);
- switch (status) {
- case publishedOnline:
- content.setPublishedOn(new Date());
- content.setDeletedOn(null);
- break;
- case inTheDustbin:
- content.setDeletedOn(new Date());
- content.setPublishedOn(null);
- break;
- default:
- break;
+ @Override
+ public void setPublishedOn(final User user, final Long contentId, final Date publishedOn) throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ content.setPublishedOn(publishedOn);
}
- return content;
- }
- @Override
- public void setTags(final User user, final Long contentId, final String tags) throws DefaultException {
- final Content content = finder.getContent(contentId);
- tagManager.setTags(user, content, tags);
- }
+ @Override
+ public Content setStatus(final Long contentId, final ContentStatus status) {
+ final Content content = finder.getContent(contentId);
+ content.setStatus(status);
+ switch (status) {
+ case publishedOnline:
+ content.setPublishedOn(new Date());
+ content.setDeletedOn(null);
+ break;
+ case inTheDustbin:
+ content.setDeletedOn(new Date());
+ content.setPublishedOn(null);
+ break;
+ default:
+ break;
+ }
+ return content;
+ }
+
+ @Override
+ public void setTags(final User user, final Long contentId, final String tags) throws DefaultException {
+ final Content content = finder.getContent(contentId);
+ tagManager.setTags(user, content, tags);
+ }
}
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -169,6 +169,17 @@
@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)
@Transactional
public StateContainerDTO addRoom(final String userHash, final StateToken parentToken, final String roomName)
Modified: trunk/src/main/java/cc/kune/core/server/state/StateContent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateContent.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/server/state/StateContent.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -28,137 +28,144 @@
import cc.kune.domain.User;
public class StateContent extends StateContainer {
+ private List<User> authors;
+ private String content;
+ private AccessRights contentRights;
+ private Double currentUserRate;
+ private String documentId;
+ private boolean isParticipant;
+ private boolean isWave;
+ private BasicMimeType mimeType;
+ private Date publishedOn;
+ private Double rate;
+ private Integer rateByUsers;
+ private ContentStatus status;
+ private String tags;
+ private int version;
+ private String waveRef;
- private List<User> authors;
- private String content;
- private AccessRights contentRights;
- private Double currentUserRate;
- private String documentId;
- private boolean isWave;
- private BasicMimeType mimeType;
- private Date publishedOn;
- private Double rate;
- private Integer rateByUsers;
- private ContentStatus status;
- private String tags;
- private int version;
- private String waveRef;
+ public StateContent() {
+ }
- public StateContent() {
- }
+ public List<User> getAuthors() {
+ return authors;
+ }
- public List<User> getAuthors() {
- return authors;
- }
+ public String getContent() {
+ return content;
+ }
- public String getContent() {
- return content;
- }
+ public AccessRights getContentRights() {
+ return contentRights;
+ }
- public AccessRights getContentRights() {
- return contentRights;
- }
+ public Double getCurrentUserRate() {
+ return currentUserRate;
+ }
- public Double getCurrentUserRate() {
- return currentUserRate;
- }
+ public String getDocumentId() {
+ return documentId;
+ }
- public String getDocumentId() {
- return documentId;
- }
+ public BasicMimeType getMimeType() {
+ return mimeType;
+ }
- public BasicMimeType getMimeType() {
- return mimeType;
- }
+ public Date getPublishedOn() {
+ return publishedOn;
+ }
- public Date getPublishedOn() {
- return publishedOn;
- }
+ public Double getRate() {
+ return rate;
+ }
- public Double getRate() {
- return rate;
- }
+ public Integer getRateByUsers() {
+ return rateByUsers;
+ }
- public Integer getRateByUsers() {
- return rateByUsers;
- }
+ public ContentStatus getStatus() {
+ return status;
+ }
- public ContentStatus getStatus() {
- return status;
- }
+ public String getTags() {
+ return tags;
+ }
- public String getTags() {
- return tags;
- }
+ public int getVersion() {
+ return version;
+ }
- public int getVersion() {
- return version;
- }
+ public String getWaveRef() {
+ return waveRef;
+ }
- public String getWaveRef() {
- return waveRef;
- }
+ public boolean isParticipant() {
+ return isParticipant;
+ }
- public boolean isWave() {
- return waveRef != null;
- }
+ public boolean isWave() {
+ return waveRef != null;
+ }
- public void setAuthors(final List<User> authors) {
- this.authors = authors;
- }
+ public void setAuthors(final List<User> authors) {
+ this.authors = authors;
+ }
- public void setContent(final String content) {
- this.content = content;
- }
+ public void setContent(final String content) {
+ this.content = content;
+ }
- public void setContentRights(final AccessRights contentRights) {
- this.contentRights = contentRights;
- }
+ public void setContentRights(final AccessRights contentRights) {
+ this.contentRights = contentRights;
+ }
- public void setCurrentUserRate(final Double currentUserRate) {
- this.currentUserRate = currentUserRate;
- }
+ public void setCurrentUserRate(final Double currentUserRate) {
+ this.currentUserRate = currentUserRate;
+ }
- public void setDocumentId(final String documentId) {
- this.documentId = documentId;
- }
+ public void setDocumentId(final String documentId) {
+ this.documentId = documentId;
+ }
- public void setMimeType(final BasicMimeType mimeType) {
- this.mimeType = mimeType;
- }
+ void setIsParticipant(final boolean isParticipant) {
+ this.isParticipant = isParticipant;
+ }
- public void setPublishedOn(final Date publishedOn) {
- this.publishedOn = publishedOn;
- }
+ public void setMimeType(final BasicMimeType mimeType) {
+ this.mimeType = mimeType;
+ }
- public void setRate(final Double rate) {
- this.rate = rate;
- }
+ public void setPublishedOn(final Date publishedOn) {
+ this.publishedOn = publishedOn;
+ }
- public void setRateByUsers(final Integer rateByUsers) {
- this.rateByUsers = rateByUsers;
- }
+ public void setRate(final Double rate) {
+ this.rate = rate;
+ }
- public void setStatus(final ContentStatus status) {
- this.status = status;
- }
+ public void setRateByUsers(final Integer rateByUsers) {
+ this.rateByUsers = rateByUsers;
+ }
- public void setTags(final String tags) {
- this.tags = tags;
- }
+ public void setStatus(final ContentStatus status) {
+ this.status = status;
+ }
- public void setVersion(final int version) {
- this.version = version;
- }
+ public void setTags(final String tags) {
+ this.tags = tags;
+ }
- public void setWaveRef(final String waveRef) {
- this.waveRef = waveRef;
- }
+ public void setVersion(final int version) {
+ this.version = version;
+ }
- @Override
- public String toString() {
- return "State[" + getStateToken() + "/" + getTypeId() + (mimeType != null ? "-" + mimeType : "")
- + "]";
- }
+ public void setWaveRef(final String waveRef) {
+ this.waveRef = waveRef;
+ }
+ @Override
+ public String toString() {
+ return "State[" + getStateToken() + "/" + getTypeId() + (mimeType != null ? "-" + mimeType : "") + "]";
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -44,123 +44,123 @@
@Singleton
public class StateServiceDefault implements StateService {
- private final ContentManager contentManager;
- private final GroupManager groupManager;
- private final I18nTranslationService i18n;
- private final KuneWaveManager kuneWaveManager;
- private final AccessRightsService rightsService;
- private final SocialNetworkManager socialNetworkManager;
- private final TagUserContentManager tagManager;
+ private final ContentManager contentManager;
+ private final GroupManager groupManager;
+ private final I18nTranslationService i18n;
+ private final KuneWaveManager kuneWaveManager;
+ private final AccessRightsService rightsService;
+ private final SocialNetworkManager socialNetworkManager;
+ private final TagUserContentManager tagManager;
- @Inject
- public StateServiceDefault(final GroupManager groupManager,
- final SocialNetworkManager socialNetworkManager, final ContentManager contentManager,
- final TagUserContentManager tagManager, final AccessRightsService rightsService,
- final I18nTranslationService i18n, final KuneWaveManager kuneWaveManager) {
- this.groupManager = groupManager;
- this.socialNetworkManager = socialNetworkManager;
- this.contentManager = contentManager;
- this.tagManager = tagManager;
- this.rightsService = rightsService;
- this.i18n = i18n;
- this.kuneWaveManager = kuneWaveManager;
- }
+ @Inject
+ public StateServiceDefault(final GroupManager groupManager, final SocialNetworkManager socialNetworkManager,
+ final ContentManager contentManager, final TagUserContentManager tagManager,
+ final AccessRightsService rightsService, final I18nTranslationService i18n,
+ final KuneWaveManager kuneWaveManager) {
+ this.groupManager = groupManager;
+ this.socialNetworkManager = socialNetworkManager;
+ this.contentManager = contentManager;
+ this.tagManager = tagManager;
+ this.rightsService = rightsService;
+ this.i18n = i18n;
+ this.kuneWaveManager = kuneWaveManager;
+ }
- private Container calculateRootContainer(final Container container) {
- return container.isRoot() ? container : container.getAbsolutePath().get(0);
- }
+ private Container calculateRootContainer(final Container container) {
+ return container.isRoot() ? container : container.getAbsolutePath().get(0);
+ }
- @Override
- public StateContainer create(final User userLogged, final Container container) {
- final StateContainer state = new StateContainer();
- state.setTitle(container.getName());
- state.setTypeId(container.getTypeId());
- state.setLanguage(container.getLanguage());
- state.setStateToken(container.getStateToken());
- state.setRootContainer(calculateRootContainer(container));
- state.setLicense(container.getOwner().getDefaultLicense());
- state.setAccessLists(container.getAccessLists());
- final Group group = container.getOwner();
- setCommon(state, userLogged, group, container);
- return state;
- }
+ @Override
+ public StateContainer create(final User userLogged, final Container container) {
+ final StateContainer state = new StateContainer();
+ state.setTitle(container.getName());
+ state.setTypeId(container.getTypeId());
+ state.setLanguage(container.getLanguage());
+ state.setStateToken(container.getStateToken());
+ state.setRootContainer(calculateRootContainer(container));
+ state.setLicense(container.getOwner().getDefaultLicense());
+ state.setAccessLists(container.getAccessLists());
+ final Group group = container.getOwner();
+ setCommon(state, userLogged, group, container);
+ return state;
+ }
- @Override
- public StateContent create(final User userLogged, final Content content) {
- final StateContent state = new StateContent();
- final String typeId = content.getTypeId();
- state.setTypeId(typeId);
- state.setMimeType(content.getMimeType());
- state.setDocumentId(content.getId().toString());
- state.setLanguage(content.getLanguage());
- state.setPublishedOn(content.getPublishedOn());
- state.setAuthors(content.getAuthors());
- state.setTags(tagManager.getTagsAsString(userLogged, content));
- state.setStatus(content.getStatus());
- state.setStateToken(content.getStateToken());
- final Revision revision = content.getLastRevision();
- state.setVersion(content.getVersion());
- final char[] text = revision.getBody();
- final String textBody = text == null ? null : new String(text);
- if (content.isWave()) {
- state.setWaveRef(textBody);
- try {
- final Wavelet wavelet = kuneWaveManager.fetchWavelet(
- JavaWaverefEncoder.decodeWaveRefFromPath(textBody),
- content.getAuthors().get(0).getShortName());
- state.setContent(wavelet.getRootBlip().getContent());
- state.setTitle(wavelet.getTitle());
- } catch (final InvalidWaveRefException e) {
- throw new DefaultException("Error retriving Wave");
- }
- } else {
- state.setContent(textBody);
- state.setTitle(revision.getTitle());
+ @Override
+ public StateContent create(final User userLogged, final Content content) {
+ final StateContent state = new StateContent();
+ final String typeId = content.getTypeId();
+ state.setTypeId(typeId);
+ state.setMimeType(content.getMimeType());
+ state.setDocumentId(content.getId().toString());
+ state.setLanguage(content.getLanguage());
+ state.setPublishedOn(content.getPublishedOn());
+ state.setAuthors(content.getAuthors());
+ state.setTags(tagManager.getTagsAsString(userLogged, content));
+ state.setStatus(content.getStatus());
+ state.setStateToken(content.getStateToken());
+ final Revision revision = content.getLastRevision();
+ state.setVersion(content.getVersion());
+ final char[] text = revision.getBody();
+ final String textBody = text == null ? null : new String(text);
+ if (content.isWave()) {
+ state.setWaveRef(textBody);
+ try {
+ final Wavelet wavelet = kuneWaveManager.fetchWavelet(
+ JavaWaverefEncoder.decodeWaveRefFromPath(textBody), content.getAuthors().get(0).getShortName());
+ state.setContent(wavelet.getRootBlip().getContent());
+ state.setTitle(wavelet.getTitle());
+ state.setIsParticipant(kuneWaveManager.isParticipant(wavelet, userLogged.getShortName()));
+ } catch (final InvalidWaveRefException e) {
+ throw new DefaultException("Error retriving Wave");
+ }
+ } else {
+ state.setContent(textBody);
+ state.setTitle(revision.getTitle());
+ }
+ final Container container = content.getContainer();
+ state.setRootContainer(calculateRootContainer(container));
+ final License license = content.getLicense();
+ final Group group = container.getOwner();
+ state.setLicense(license == null ? group.getDefaultLicense() : license);
+ state.setContentRights(rightsService.get(userLogged, content.getAccessLists()));
+ state.setAccessLists(content.getAccessLists());
+ setCommon(state, userLogged, group, container);
+ if (userLogged != User.UNKNOWN_USER) {
+ state.setCurrentUserRate(contentManager.getRateContent(userLogged, content));
+ }
+ // FIXME: user RateResult
+ final Double rateAvg = contentManager.getRateAvg(content);
+ state.setRate(rateAvg != null ? rateAvg : 0D);
+ final Long rateByUsers = contentManager.getRateByUsers(content);
+ state.setRateByUsers(rateByUsers != null ? rateByUsers.intValue() : 0);
+ return state;
}
- final Container container = content.getContainer();
- state.setRootContainer(calculateRootContainer(container));
- final License license = content.getLicense();
- final Group group = container.getOwner();
- state.setLicense(license == null ? group.getDefaultLicense() : license);
- state.setContentRights(rightsService.get(userLogged, content.getAccessLists()));
- state.setAccessLists(content.getAccessLists());
- setCommon(state, userLogged, group, container);
- if (userLogged != User.UNKNOWN_USER) {
- state.setCurrentUserRate(contentManager.getRateContent(userLogged, content));
+
+ @Override
+ public StateNoContent createNoHome(final User userLogged, final String groupShortName) {
+ final Group group = groupManager.findByShortName(groupShortName);
+ assert (group.isPersonal());
+ final StateNoContent state = new StateNoContent();
+ state.setGroup(group);
+ state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
+ setSocialNetwork(state, userLogged, group);
+ state.setStateToken(group.getStateToken());
+ state.setTitle("<h2>" + i18n.t("This user does not have a homepage") + "</h2>");
+ return state;
}
- // FIXME: user RateResult
- final Double rateAvg = contentManager.getRateAvg(content);
- state.setRate(rateAvg != null ? rateAvg : 0D);
- final Long rateByUsers = contentManager.getRateByUsers(content);
- state.setRateByUsers(rateByUsers != null ? rateByUsers.intValue() : 0);
- return state;
- }
- @Override
- public StateNoContent createNoHome(final User userLogged, final String groupShortName) {
- final Group group = groupManager.findByShortName(groupShortName);
- assert (group.isPersonal());
- final StateNoContent state = new StateNoContent();
- state.setGroup(group);
- state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
- setSocialNetwork(state, userLogged, group);
- state.setStateToken(group.getStateToken());
- state.setTitle("<h2>" + i18n.t("This user does not have a homepage") + "</h2>");
- return state;
- }
+ private void setCommon(final StateContainer state, final User userLogged, final Group group,
+ final Container container) {
+ state.setToolName(container.getToolName());
+ state.setGroup(group);
+ state.setContainer(container);
+ state.setContainerRights(rightsService.get(userLogged, container.getAccessLists()));
+ state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
+ state.setTagCloudResult(tagManager.getTagCloudResultByGroup(group));
+ setSocialNetwork(state, userLogged, group);
+ }
- private void setCommon(final StateContainer state, final User userLogged, final Group group,
- final Container container) {
- state.setToolName(container.getToolName());
- state.setGroup(group);
- state.setContainer(container);
- state.setContainerRights(rightsService.get(userLogged, container.getAccessLists()));
- state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
- state.setTagCloudResult(tagManager.getTagCloudResultByGroup(group));
- setSocialNetwork(state, userLogged, group);
- }
-
- private void setSocialNetwork(final StateAbstract state, final User userLogged, final Group group) {
- state.setSocialNetworkData(socialNetworkManager.getSocialNetworkData(userLogged, group));
- }
+ private void setSocialNetwork(final StateAbstract state, final User userLogged, final Group group) {
+ state.setSocialNetworkData(socialNetworkManager.getSocialNetworkData(userLogged, group));
+ }
}
Modified: trunk/src/main/java/cc/kune/core/shared/dto/StateContentDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/StateContentDTO.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/core/shared/dto/StateContentDTO.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -35,6 +35,7 @@
private AccessRights contentRights;
private Double currentUserRate;
private String documentId;
+ private boolean isParticipant;
private BasicMimeTypeDTO mimeType;
private Date publishedOn;
private Double rate;
@@ -99,6 +100,10 @@
return waveRef;
}
+ public boolean isParticipant() {
+ return isParticipant;
+ }
+
public void setAuthors(final List<UserSimpleDTO> authors) {
this.authors = authors;
}
@@ -119,6 +124,10 @@
this.documentId = documentId;
}
+ void setIsParticipant(final boolean isParticipant) {
+ this.isParticipant = isParticipant;
+ }
+
public void setMimeType(final BasicMimeTypeDTO mimeType) {
this.mimeType = mimeType;
}
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -23,6 +23,7 @@
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;
@@ -30,7 +31,8 @@
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.RefreshContentBtn;
+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;
@@ -38,34 +40,39 @@
public class DocsClientActions extends AbstractFoldableToolActions {
- final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- final String[] containers = { TYPE_ROOT, TYPE_FOLDER };
- final String[] containersNoRoot = { TYPE_FOLDER };
- final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] containers = { TYPE_ROOT, TYPE_FOLDER };
+ final String[] containersNoRoot = { TYPE_FOLDER };
+ final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- @Inject
- public DocsClientActions(final I18nUITranslationService i18n, final Session session,
- final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
- final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewDocBtn> newDocBtn,
- final Provider<NewFolderBtn> newFolderBtn, final Provider<OpenDocMenuItem> openContentMenuItem,
- final Provider<DelDocMenuItem> delContentMenuItem,
- final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<RefreshContentBtn> refresh,
- final Provider<SetAsHomePageMenuItem> setAsHomePage) {
- super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.VIEW, newDocBtn, containers);
- actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, containers);
- actionsRegistry.addAction(ActionGroups.VIEW, refresh, all);
- 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);
- }
+ @Inject
+ public DocsClientActions(final I18nUITranslationService i18n, final Session session,
+ final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
+ final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewDocBtn> newDocBtn,
+ final Provider<NewFolderBtn> newFolderBtn, final Provider<OpenDocMenuItem> openContentMenuItem,
+ final Provider<DelDocMenuItem> 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, newDocBtn, 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() {
- }
+ @Override
+ protected void createPostSessionInitActions() {
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -19,6 +19,7 @@
*/
package cc.kune.gspace.client;
+import cc.kune.blogs.client.actions.ContentViewerOptionsMenu;
import cc.kune.client.ExtendedGinModule;
import cc.kune.gspace.client.actions.RenameAction;
import cc.kune.gspace.client.options.GroupOptions;
@@ -81,56 +82,58 @@
public class GSpaceGinModule extends ExtendedGinModule {
- /*
- * (non-Javadoc)
- *
- * @see com.google.gwt.inject.client.AbstractGinModule#configure()
- */
- @Override
- protected void configure() {
- bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
- EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
- bindPresenter(TagsSummaryPresenter.class, TagsSummaryPresenter.TagsSummaryView.class,
- TagsSummaryPanel.class, TagsSummaryPresenter.TagsSummaryProxy.class);
- bind(GSpaceArmorImpl.class).in(Singleton.class);
- bind(GSpaceArmor.class).to(GSpaceArmorImpl.class).in(Singleton.class);
- bind(GSpaceParts.class).asEagerSingleton();
- 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(FolderViewerPresenter.class, FolderViewerPresenter.FolderViewerView.class,
- FolderViewerAsTablePanel.class, FolderViewerPresenter.FolderViewerProxy.class);
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.google.gwt.inject.client.AbstractGinModule#configure()
+ */
+ @Override
+ protected void configure() {
+ bindPresenter(EntityLicensePresenter.class, EntityLicensePresenter.EntityLicenseView.class,
+ EntityLicensePanel.class, EntityLicensePresenter.EntityLicenseProxy.class);
+ bindPresenter(TagsSummaryPresenter.class, TagsSummaryPresenter.TagsSummaryView.class, TagsSummaryPanel.class,
+ TagsSummaryPresenter.TagsSummaryProxy.class);
+ bind(GSpaceArmorImpl.class).in(Singleton.class);
+ bind(GSpaceArmor.class).to(GSpaceArmorImpl.class).in(Singleton.class);
+ bind(GSpaceParts.class).asEagerSingleton();
+ 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(FolderViewerPresenter.class, FolderViewerPresenter.FolderViewerView.class,
+ FolderViewerAsTablePanel.class, FolderViewerPresenter.FolderViewerProxy.class);
- s(GroupOptions.class, GroupOptionsPresenter.class);
- s(GroupOptionsView.class, GroupOptionsPanel.class);
- s(UserOptions.class, UserOptionsPresenter.class);
- s(UserOptionsView.class, UserOptionsPanel.class);
+ s(GroupOptions.class, GroupOptionsPresenter.class);
+ s(GroupOptionsView.class, GroupOptionsPanel.class);
+ s(UserOptions.class, UserOptionsPresenter.class);
+ s(UserOptionsView.class, UserOptionsPanel.class);
- s(UserOptionsCollection.class);
- s(GroupOptionsCollection.class);
+ s(UserOptionsCollection.class);
+ s(GroupOptionsCollection.class);
- s(GroupOptionsDefLicense.class, GroupOptionsDefLicensePresenter.class);
- s(GroupOptionsDefLicenseView.class, GroupOptionsDefLicensePanel.class);
- s(GroupOptionsPublicSpaceConf.class, GroupOptionsPublicSpaceConfPresenter.class);
- s(GroupOptionsPublicSpaceConfView.class, GroupOptionsPublicSpaceConfPanel.class);
- s(GroupOptionsLogo.class, GroupOptionsLogoPresenter.class);
- s(GroupOptionsLogoView.class, GroupOptionsLogoPanel.class);
- s(GroupOptionsToolsConf.class, GroupOptionsToolsConfPresenter.class);
- s(GroupOptionsToolsConfView.class, GroupOptionsToolsConfPanel.class);
+ s(GroupOptionsDefLicense.class, GroupOptionsDefLicensePresenter.class);
+ s(GroupOptionsDefLicenseView.class, GroupOptionsDefLicensePanel.class);
+ s(GroupOptionsPublicSpaceConf.class, GroupOptionsPublicSpaceConfPresenter.class);
+ s(GroupOptionsPublicSpaceConfView.class, GroupOptionsPublicSpaceConfPanel.class);
+ s(GroupOptionsLogo.class, GroupOptionsLogoPresenter.class);
+ s(GroupOptionsLogoView.class, GroupOptionsLogoPanel.class);
+ s(GroupOptionsToolsConf.class, GroupOptionsToolsConfPresenter.class);
+ s(GroupOptionsToolsConfView.class, GroupOptionsToolsConfPanel.class);
- s(UserOptionsDefLicense.class, UserOptionsDefLicensePresenter.class);
- s(UserOptionsDefLicenseView.class, UserOptionsDefLicensePanel.class);
- s(UserOptionsPublicSpaceConf.class, UserOptionsPublicSpaceConfPresenter.class);
- s(UserOptionsPublicSpaceConfView.class, UserOptionsPublicSpaceConfPanel.class);
- s(UserOptionsLogo.class, UserOptionsLogoPresenter.class);
- s(UserOptionsLogoView.class, UserOptionsLogoPanel.class);
- s(UserOptionsToolsConf.class, UserOptionsToolsConfPresenter.class);
- s(UserOptionsToolsConfView.class, UserOptionsToolsConfPanel.class);
+ s(UserOptionsDefLicense.class, UserOptionsDefLicensePresenter.class);
+ s(UserOptionsDefLicenseView.class, UserOptionsDefLicensePanel.class);
+ s(UserOptionsPublicSpaceConf.class, UserOptionsPublicSpaceConfPresenter.class);
+ s(UserOptionsPublicSpaceConfView.class, UserOptionsPublicSpaceConfPanel.class);
+ s(UserOptionsLogo.class, UserOptionsLogoPresenter.class);
+ s(UserOptionsLogoView.class, UserOptionsLogoPanel.class);
+ s(UserOptionsToolsConf.class, UserOptionsToolsConfPresenter.class);
+ s(UserOptionsToolsConfView.class, UserOptionsToolsConfPanel.class);
- s(GSpaceBackManager.class, GSpaceBackManagerImpl.class);
+ s(GSpaceBackManager.class, GSpaceBackManagerImpl.class);
- s(RenameAction.class);
- }
+ // Actions
+ s(ContentViewerOptionsMenu.class);
+ s(RenameAction.class);
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -46,9 +46,10 @@
}
- public GoParentContainerBtn(final I18nTranslationService i18n, final GoParentContainerAction action, final CoreResources res) {
+ public GoParentContainerBtn(final I18nTranslationService i18n, final GoParentContainerAction action,
+ final CoreResources res) {
super(action);
- this.withToolTip(i18n.t("Go up: Open the container folder")).withIcon(res.folderGoUp());
+ this.withToolTip(i18n.t("Go up: Open the container folder")).withIcon(res.folderGoUp()).withStyles("k-fl");
}
}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ParticipateInContentBtn.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -0,0 +1,64 @@
+package cc.kune.gspace.client.actions;
+
+import cc.kune.common.client.actions.ActionEvent;
+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.CoreResources;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.sn.actions.conditions.IsCurrentStateEditableCondition;
+import cc.kune.core.client.sn.actions.conditions.IsLoggedCondition;
+import cc.kune.core.client.sn.actions.conditions.IsNotParticipantOfCurrentStateCondition;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.dto.AccessRolDTO;
+import cc.kune.core.shared.dto.HasContent;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class ParticipateInContentBtn extends ButtonDescriptor {
+
+ public static class ParticipateInContentAction extends RolAction {
+
+ private final Provider<ContentServiceAsync> contentService;
+ private final Session session;
+ private final StateManager stateManager;
+
+ @Inject
+ public ParticipateInContentAction(final Session session, final StateManager stateManager,
+ final I18nTranslationService i18n, final Provider<ContentServiceAsync> contentService) {
+ super(AccessRolDTO.Editor, true);
+ this.session = session;
+ this.stateManager = stateManager;
+ this.contentService = contentService;
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ NotifyUser.showProgressProcessing();
+ stateManager.gotoStateToken(((HasContent) session.getCurrentState()).getContainer().getStateToken());
+ contentService.get().addParticipant(session.getUserHash(), session.getCurrentStateToken(),
+ session.getCurrentUser().getShortName(), new AsyncCallbackSimple<Void>() {
+ @Override
+ public void onSuccess(final Void arg) {
+ NotifyUser.hideProgress();
+ }
+ });
+ }
+ }
+
+ @Inject
+ public ParticipateInContentBtn(final I18nTranslationService i18n, final ParticipateInContentAction action,
+ final IsLoggedCondition isLogged, final IsCurrentStateEditableCondition isEditable,
+ final IsNotParticipantOfCurrentStateCondition isNotParticipant, final CoreResources res) {
+ super(action);
+ this.withText(i18n.t("Participate")).withToolTip("Participate in the edition of this page").withIcon(
+ res.contentEdit()).withStyles("k-def-docbtn, k-fl");
+ super.add(isLogged);
+ super.add(isEditable);
+ super.add(isNotParticipant);
+ }
+}
Deleted: trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -1,37 +0,0 @@
-package cc.kune.gspace.client.actions;
-
-import cc.kune.common.client.actions.AbstractExtendedAction;
-import cc.kune.common.client.actions.ActionEvent;
-import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
-import cc.kune.core.client.resources.nav.NavResources;
-import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.google.inject.Inject;
-
-public class RefreshContentBtn extends ButtonDescriptor {
-
- public static class GoParentContainerAction extends AbstractExtendedAction {
-
- private final StateManager stateManager;
-
- @Inject
- public GoParentContainerAction(final StateManager stateManager) {
- this.stateManager = stateManager;
- }
-
- @Override
- public void actionPerformed(final ActionEvent event) {
- stateManager.refreshCurrentGroupState();
- }
-
- }
-
- @Inject
- public RefreshContentBtn(final I18nTranslationService i18n, final GoParentContainerAction action,
- final NavResources res) {
- super(action);
- this.withToolTip(i18n.t("Reload current page")).withIcon(res.refresh());
- }
-
-}
Copied: trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentMenuItem.java (from rev 1333, trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentMenuItem.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -0,0 +1,38 @@
+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;
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+
+public class RefreshContentMenuItem extends MenuItemDescriptor {
+
+ public static class GoParentContainerAction extends AbstractExtendedAction {
+
+ private final StateManager stateManager;
+
+ @Inject
+ public GoParentContainerAction(final StateManager stateManager) {
+ this.stateManager = stateManager;
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ stateManager.refreshCurrentGroupState();
+ }
+
+ }
+
+ @Inject
+ public RefreshContentMenuItem(final I18nTranslationService i18n, final GoParentContainerAction action,
+ final ContentViewerOptionsMenu optionsMenu, final NavResources res) {
+ super(action);
+ this.withText(i18n.t("Reload current page")).withIcon(res.refresh()).withParent(optionsMenu);
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentMenuItem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
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-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptionsDefLicensePanel.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -37,48 +37,49 @@
public class EntityOptionsDefLicensePanel extends Composite implements EntityOptionsDefLicenseView {
- private final Button change;
- private final Image licenseImage;
- private final IconLabel tabTitle;
+ private final Button change;
+ private final Image licenseImage;
+ private final IconLabel tabTitle;
- public EntityOptionsDefLicensePanel(final I18nTranslationService i18n, final CoreResources res) {
- tabTitle = new IconLabel(res.copyleft(), i18n.t("License"));
- final VerticalPanel vp = new VerticalPanel();
- final Label intro = new Label();
- 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);
- licenseImage = new Image();
- vp.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));
- }
+ public EntityOptionsDefLicensePanel(final I18nTranslationService i18n, final CoreResources res) {
+ tabTitle = new IconLabel(res.copyleft(), i18n.t("License"));
+ final VerticalPanel vp = new VerticalPanel();
+ 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);
+ licenseImage = new Image();
+ vp.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));
+ }
- @Override
- public HasClickHandlers getChange() {
- return change;
- }
+ @Override
+ public HasClickHandlers getChange() {
+ return change;
+ }
- @Override
- public HasClickHandlers getLicenseImage() {
- return licenseImage;
- }
+ @Override
+ public HasClickHandlers getLicenseImage() {
+ return licenseImage;
+ }
- @Override
- public IsWidget getTabTitle() {
- return tabTitle;
- }
+ @Override
+ public IsWidget getTabTitle() {
+ return tabTitle;
+ }
- @Override
- public void openWindow(final String url) {
- KuneWindowUtils.open(url);
- }
+ @Override
+ public void openWindow(final String url) {
+ KuneWindowUtils.open(url);
+ }
- @Override
- public void setLicense(final LicenseDTO defaultLicense) {
- licenseImage.setUrl(defaultLicense.getImageUrl());
- Tooltip.to(licenseImage, defaultLicense.getLongName());
- }
+ @Override
+ public void setLicense(final LicenseDTO defaultLicense) {
+ licenseImage.setUrl(defaultLicense.getImageUrl());
+ Tooltip.to(licenseImage, defaultLicense.getLongName());
+ }
}
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-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptionsLogoPanel.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -46,172 +46,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 = new Label();
+ dialogInfoLabel.setWordWrap(true);
- 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));
- setWidth(String.valueOf(EntityOptionsView.WIDTH));
- }
+ 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)
- + TextUtils.brbr());
- 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)
- + "<br/><br/>");
- 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/viewers/DocViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -44,141 +44,147 @@
import com.gwtplatform.mvp.client.ViewImpl;
public class DocViewerPanel extends ViewImpl implements DocViewerView {
- interface DocsViewerPanelUiBinder extends UiBinder<Widget, DocViewerPanel> {
- }
+ interface DocsViewerPanelUiBinder extends UiBinder<Widget, DocViewerPanel> {
+ }
- private static DocsViewerPanelUiBinder uiBinder = GWT.create(DocsViewerPanelUiBinder.class);
+ 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;
- @UiField
- FramedPanel waveFrame;
- @UiField
- ImplPanel waveHolder;
- private final WaveStore waveStore = new SimpleWaveStore();
+ 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;
+ @UiField
+ FramedPanel waveFrame;
+ @UiField
+ ImplPanel waveHolder;
+ private final WaveStore waveStore = new SimpleWaveStore();
- private final Widget widget;
+ private final Widget widget;
- @Inject
- public DocViewerPanel(final GSpaceArmor wsArmor,
- final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n) {
- this.gsArmor = wsArmor;
- this.capabilitiesRegistry = capabilitiesRegistry;
- widget = uiBinder.createAndBindUi(this);
- contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
- }
+ @Inject
+ public DocViewerPanel(final GSpaceArmor wsArmor, final ContentCapabilitiesRegistry capabilitiesRegistry,
+ final I18nTranslationService i18n) {
+ this.gsArmor = wsArmor;
+ this.capabilitiesRegistry = capabilitiesRegistry;
+ widget = uiBinder.createAndBindUi(this);
+ contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
+ }
- @Override
- public Widget asWidget() {
- return widget;
- }
+ @Override
+ public Widget asWidget() {
+ return widget;
+ }
- @Override
- public void attach() {
- final ForIsWidget docContainer = gsArmor.getDocContainer();
- docContainer.add(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 clear() {
+ onlyViewPanel.setHTML("");
+ gsArmor.getSubheaderToolbar().clear();
+ UiUtils.clear(gsArmor.getDocContainer());
+ UiUtils.clear(gsArmor.getDocHeader());
+ }
- @Override
- public void detach() {
- clear();
- }
+ @Override
+ public void detach() {
+ clear();
+ }
- @Override
- public HasEditHandler getEditTitle() {
- return contentTitle.getEditableTitle();
- }
+ @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 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();
+ 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 setActions(final GuiActionDescCollection actions) {
+ gsArmor.getSubheaderToolbar().clear();
+ gsArmor.getSubheaderToolbar().addAll(actions);
+ }
- @Override
- public void setContent(final StateContentDTO state) {
- final boolean editable = state.getContentRights().isEditable();
- contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getMimeType(), editable
- && capabilitiesRegistry.isRenamable(state.getTypeId()));
- if (editable) {
- initWaveClientIfNeeded();
- setEditableWaveContent(state.getWaveRef(), false);
- // waveHolder.clear();
- // waveHolder.add(new Label(state.getContent()
- // + " (but here goes the Wave editor -we are testing it-)"));
- // onlyViewPanel.setHTML(SafeHtmlUtils.fromTrustedString(state.getContent()));
- } else {
- onlyViewPanel.setHTML(SafeHtmlUtils.fromTrustedString(state.getContent()));
+ @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);
}
- // deck.showWidget(editable ? 0 : 1);
- deck.showWidget(1);
- }
- @Override
- public void setEditableTitle(final String title) {
- contentTitle.setText(title);
- }
+ @Override
+ public void setEditableContent(final StateContentDTO state) {
+ setTitle(state, true);
+ initWaveClientIfNeeded();
+ setEditableWaveContent(state.getWaveRef(), false);
+ deck.showWidget(0);
+ // waveHolder.clear();
+ // waveHolder.add(new Label(state.getContent()
+ // + " (but here goes the Wave editor -we are testing it-)"));
+ // onlyViewPanel.setHTML(SafeHtmlUtils.fromTrustedString(state.getContent()));
+ }
- private void setEditableWaveContent(final String waveRefS, final boolean isNewWave) {
- final WaveRef waveRef = getWaveRef(waveRefS);
+ @Override
+ public void setEditableTitle(final String title) {
+ contentTitle.setText(title);
+ }
- if (wave != null) {
- wave.destroy();
- wave = null;
+ private void setEditableWaveContent(final String waveRefS, final boolean isNewWave) {
+ final WaveRef waveRef = getWaveRef(waveRefS);
+
+ if (wave != null) {
+ wave.destroy();
+ wave = null;
+ }
+
+ // 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();
+ }
+ });
}
- // 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()));
+ }
}
Modified: 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-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.ui.xml 2011-05-03 08:22:21 UTC (rev 1334)
@@ -4,23 +4,22 @@
xmlns:w='urn:import:org.waveprotocol.wave.client.widget.common'>
<ui:style>
.wavePanel {
- margin: 0 0 0 0;
+ margin: 0 0 0 0;
}
.waveHolder {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
}
</ui:style>
<g:HTMLPanel width="100%" height="100%">
<g:DeckPanel ui:field="deck" addStyleNames="k-doc-content-deck">
<f:FramedPanel ui:field="waveFrame" addStyleNames="{style.wavePanel}">
+ <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}" />
</f:FramedPanel>
- <w:ImplPanel ui:field="waveHolder" addStyleNames="{style.waveHolder}" />
-<!-- <g:InlineHTML ui:field="delete" /> -->
<g:InlineHTML ui:field="onlyViewPanel" />
</g:DeckPanel>
</g:HTMLPanel>
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPresenter.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -5,6 +5,7 @@
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;
@@ -32,95 +33,112 @@
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 {
+public class DocViewerPresenter extends Presenter<DocViewerPresenter.DocViewerView, DocViewerPresenter.DocViewerProxy>
+ implements ContentViewer {
- @ProxyCodeSplit
- public interface DocViewerProxy extends Proxy<DocViewerPresenter> {
- }
+ @ProxyCodeSplit
+ public interface DocViewerProxy extends Proxy<DocViewerPresenter> {
+ }
- public interface DocViewerView extends View {
+ public interface DocViewerView extends View {
- void attach();
+ void attach();
- void clear();
+ void clear();
- void detach();
+ void detach();
- HasEditHandler getEditTitle();
+ HasEditHandler getEditTitle();
- void setActions(GuiActionDescCollection actions);
+ void setActions(GuiActionDescCollection actions);
- void setContent(StateContentDTO state);
+ void setContent(StateContentDTO state);
- void setEditableTitle(String title);
- }
+ void setEditableContent(StateContentDTO state);
- private final ActionRegistryByType actionsRegistry;
- private HandlerRegistration editHandler;
- private final Provider<RenameAction> renameAction;
- private final Session session;
+ void setEditableTitle(String title);
+ }
- @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);
- }
+ private final ActionRegistryByType actionsRegistry;
+ private HandlerRegistration editHandler;
+ private final Provider<RenameAction> renameAction;
+ private final Session session;
- @Override
- public void attach() {
- getView().attach();
- if (editHandler == null) {
- createEditHandler();
+ @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);
}
- }
- 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 attach() {
+ getView().attach();
+ if (editHandler == null) {
+ createEditHandler();
+ }
+ }
- @Override
- public void onSuccess(final StateToken token, final String title) {
- getView().setEditableTitle(title);
- }
- });
- }
- });
- }
+ 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 detach() {
- getView().detach();
- }
+ @Override
+ public void onSuccess(final StateToken token, final String title) {
+ getView().setEditableTitle(title);
+ }
+ });
+ }
+ });
+ }
- @Override
- protected void revealInParent() {
- RevealRootContentEvent.fire(this, this);
- }
+ @Override
+ public void detach() {
+ getView().detach();
+ }
- @Override
- public void setContent(@Nonnull final HasContent state) {
- getView().clear();
- final StateContentDTO stateContent = (StateContentDTO) state;
- final AccessRights rights = stateContent.getContentRights();
- final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContent.getGroup(),
- stateContent.getTypeId(), session.isLogged(), rights, ActionGroups.VIEW);
- getView().setActions(actions);
- getView().setContent(stateContent);
- }
+ @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
+ getView().setEditableContent(stateContent);
+ } 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);
+ getView().setContent(stateContent);
+ }
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/msgs/client/UserMessage.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessage.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessage.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -26,7 +26,7 @@
import cc.kune.common.client.notify.NotifyLevel;
import cc.kune.common.client.utils.TextUtils;
-import cc.kune.msgs.client.resources.UserMessageImages;
+import cc.kune.msgs.client.resources.UserMessageImagesUtil;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -108,22 +108,7 @@
};
time.schedule(fadeMills);
}
- switch (level) {
- case error:
- icon.setResource(UserMessageImages.INST.error());
- break;
- case important:
- icon.setResource(UserMessageImages.INST.important());
- break;
- case info:
- icon.setResource(UserMessageImages.INST.info());
- break;
- case veryImportant:
- icon.setResource(UserMessageImages.INST.warning());
- break;
- default:
- break;
- }
+ icon.setResource(UserMessageImagesUtil.getIcon(level));
final Show anim = new Show(this.getElement());
anim.setDuration(0.5);
anim.play();
Added: trunk/src/main/java/cc/kune/msgs/client/resources/UserMessageImagesUtil.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/resources/UserMessageImagesUtil.java (rev 0)
+++ trunk/src/main/java/cc/kune/msgs/client/resources/UserMessageImagesUtil.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -0,0 +1,24 @@
+package cc.kune.msgs.client.resources;
+
+import cc.kune.common.client.notify.NotifyLevel;
+
+import com.google.gwt.resources.client.ImageResource;
+
+public class UserMessageImagesUtil {
+
+ public static ImageResource getIcon(final NotifyLevel level) {
+
+ switch (level) {
+ case important:
+ return UserMessageImages.INST.important();
+ case info:
+ return UserMessageImages.INST.info();
+ case veryImportant:
+ return UserMessageImages.INST.warning();
+ case error:
+ default:
+ return UserMessageImages.INST.error();
+ }
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -25,6 +25,7 @@
import java.util.Date;
import java.util.logging.Logger;
+import org.apache.jasper.compiler.ErrorDispatcher;
import org.waveprotocol.box.webclient.client.ClientEvents;
import org.waveprotocol.box.webclient.client.ClientIdGenerator;
import org.waveprotocol.box.webclient.client.DebugMessagePanel;
@@ -64,6 +65,7 @@
import cc.kune.common.client.notify.NotifyUser;
import cc.kune.core.client.errors.DefaultException;
+import cc.kune.core.client.sitebar.ErrorsDialog;
import cc.kune.core.client.sitebar.spaces.Space;
import cc.kune.core.client.sitebar.spaces.SpaceConfEvent;
import cc.kune.core.client.state.SiteTokens;
@@ -263,12 +265,12 @@
*/
// XXX check formatting wrt GPE
public native static String getWebSocketBaseUrl(String moduleBase) /*-{
- return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";
- }-*/;
+ return "ws" + /:\/\/[^\/]+/.exec(moduleBase)[0] + "/";
+}-*/;
public native static boolean useSocketIO() /*-{
- return !!$wnd.__useSocketIO
- }-*/;
+ return !!$wnd.__useSocketIO
+}-*/;
/**
*/
@@ -345,7 +347,7 @@
}
public static void install() {
- GWT.setUncaughtExceptionHandler(new ErrorHandler(GWT.getUncaughtExceptionHandler()));
+ GWT.setUncaughtExceptionHandler(new ErrorHandler(GWT.getUncaughtExceptionHandler()));
}
@Override
@@ -357,9 +359,11 @@
getStackTraceAsync(e, new Accessor<SafeHtml>() {
@Override
public void use(SafeHtml stack) {
- NotifyUser.error("Error in wave client", true);
+ NotifyUser.error("Oops! Something has gone wrong. Please contact the site admins with <em>more details</em>", true);
// error.addDetail(stack, null);
- REMOTE_LOG.severe(stack.asString().replace("<br>", "\n"));
+ String message = stack.asString().replace("<br>", "\n");
+ REMOTE_LOG.severe(message);
+ NotifyUser.logError(message);
}
});
}
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveManager.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveManager.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveManager.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -7,12 +7,16 @@
public interface KuneWaveManager {
- WaveRef createWave(String message, ParticipantId participants);
+ void addParticipant(WaveRef waveName, String author, String userWhoAdd, String newParticipant);
- WaveRef createWave(String title, String message, ParticipantId... participantsArray);
+ WaveRef createWave(String message, ParticipantId participants);
- Wavelet fetchWavelet(WaveRef waveRef, String author);
+ WaveRef createWave(String title, String message, ParticipantId... participantsArray);
- void setTitle(WaveRef waveName, String title, String author);
+ Wavelet fetchWavelet(WaveRef waveRef, String author);
+ boolean isParticipant(Wavelet wavelet, String user);
+
+ void setTitle(WaveRef waveName, String title, String author);
+
}
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -40,166 +40,210 @@
import com.google.wave.api.impl.WaveletData;
public class KuneWaveManagerDefault implements KuneWaveManager {
- public static final Log LOG = LogFactory.getLog(KuneWaveManagerDefault.class);
+ public static final Log LOG = LogFactory.getLog(KuneWaveManagerDefault.class);
- private static final String NO_TITLE = "";
+ private static final String NO_TITLE = "";
- private final ConversationUtil conversationUtil;
- private final EventDataConverterManager converterManager;
- private final String domain;
- private final OperationServiceRegistry operationRegistry;
- private final ParticipantUtils participantUtils;
- private final WaveletProvider waveletProvider;
+ private final ConversationUtil conversationUtil;
+ private final EventDataConverterManager converterManager;
+ private final String domain;
+ private final OperationServiceRegistry operationRegistry;
+ private final ParticipantUtils participantUtils;
+ private final WaveletProvider waveletProvider;
- @Inject
- public KuneWaveManagerDefault(final EventDataConverterManager converterManager,
- @Named("DataApiRegistry") final OperationServiceRegistry operationRegistry,
- final WaveletProvider waveletProvider, final ConversationUtil conversationUtil,
- final ParticipantUtils participantUtils,
- @Named(CoreSettings.WAVE_SERVER_DOMAIN) final String domain) {
- this.converterManager = converterManager;
- this.waveletProvider = waveletProvider;
- this.conversationUtil = conversationUtil;
- this.operationRegistry = operationRegistry;
- this.participantUtils = participantUtils;
- this.domain = domain;
- }
+ @Inject
+ public KuneWaveManagerDefault(final EventDataConverterManager converterManager,
+ @Named("DataApiRegistry") final OperationServiceRegistry operationRegistry,
+ final WaveletProvider waveletProvider, final ConversationUtil conversationUtil,
+ final ParticipantUtils participantUtils, @Named(CoreSettings.WAVE_SERVER_DOMAIN) final String domain) {
+ this.converterManager = converterManager;
+ this.waveletProvider = waveletProvider;
+ this.conversationUtil = conversationUtil;
+ this.operationRegistry = operationRegistry;
+ this.participantUtils = participantUtils;
+ this.domain = domain;
+ }
- @Override
- public WaveRef createWave(final String message, final ParticipantId participant) {
- return createWave(NO_TITLE, message, participant);
- }
+ @Override
+ public void addParticipant(final WaveRef waveName, final String author, final String userWhoAdds,
+ final String participant) {
+ final Wavelet wavelet = fetchWavelet(waveName, author);
+ final String whoAdd = wavelet.getParticipants().contains(participantUtils.of(userWhoAdds)) ? userWhoAdds
+ : author;
+ final OperationQueue opQueue = new OperationQueue();
+ opQueue.addParticipantToWavelet(wavelet, participantUtils.of(participant).toString());
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ final OperationRequest request = opQueue.getPendingOperations().get(0);
+ OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(whoAdd));
+ final String reqId = request.getId();
+ final JsonRpcResponse response = context.getResponse(reqId);
+ if (response != null && response.isError()) {
+ onFailure(context.getResponse(reqId).getErrorMessage());
+ }
+ OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
+ @Override
+ public void onFailure(final String arg0) {
+ KuneWaveManagerDefault.this.onFailure("Wave add participant failed, onFailure: " + arg0);
+ }
- @Override
- public WaveRef createWave(@Nonnull final String title, final String message,
- @Nonnull final ParticipantId... participantsArray) {
- String newWaveId = null;
- String newWaveletId = null;
- final Set<String> participants = new HashSet<String>();
- for (final ParticipantId participant : participantsArray) {
- participants.add(participant.toString());
+ @Override
+ public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
+ LOG.info("Wave addParticipant success: " + arg1);
+ }
+ });
}
- final ParticipantId user = participantsArray[0];
- final OperationQueue opQueue = new OperationQueue();
- final Wavelet newWavelet = opQueue.createWavelet(domain, participants);
- opQueue.setTitleOfWavelet(newWavelet, title);
- final Blip rootBlip = newWavelet.getRootBlip();
- rootBlip.append(new com.google.wave.api.Markup(message).getText());
- final OperationContextImpl context = new OperationContextImpl(waveletProvider,
- converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
- for (final OperationRequest req : opQueue.getPendingOperations()) {
- OperationUtil.executeOperation(req, operationRegistry, context, user);
- final String reqId = req.getId();
- final JsonRpcResponse response = context.getResponse(reqId);
- if (response != null) {
- if (response.isError()) {
- onFailure(context.getResponse(reqId).getErrorMessage());
- } else {
- final Object responseWaveId = response.getData().get(ParamsProperty.WAVE_ID);
- final Object responseWaveletId = response.getData().get(ParamsProperty.WAVELET_ID);
- if (responseWaveId != null && responseWaveletId != null) {
- // This is serialized use
- // ApiIdSerializer.instance().deserialiseWaveId (see
- // WaveService)
- newWaveId = (String) responseWaveId;
- newWaveletId = (String) responseWaveletId;
- }
+
+ @Override
+ public WaveRef createWave(final String message, final ParticipantId participant) {
+ return createWave(NO_TITLE, message, participant);
+ }
+
+ @Override
+ public WaveRef createWave(@Nonnull final String title, final String message,
+ @Nonnull final ParticipantId... participantsArray) {
+ String newWaveId = null;
+ String newWaveletId = null;
+ final Set<String> participants = new HashSet<String>();
+ for (final ParticipantId participant : participantsArray) {
+ participants.add(participant.toString());
}
- }
+ final ParticipantId user = participantsArray[0];
+ final OperationQueue opQueue = new OperationQueue();
+ final Wavelet newWavelet = opQueue.createWavelet(domain, participants);
+ opQueue.setTitleOfWavelet(newWavelet, title);
+ final Blip rootBlip = newWavelet.getRootBlip();
+ rootBlip.append(new com.google.wave.api.Markup(message).getText());
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ for (final OperationRequest req : opQueue.getPendingOperations()) {
+ OperationUtil.executeOperation(req, operationRegistry, context, user);
+ final String reqId = req.getId();
+ final JsonRpcResponse response = context.getResponse(reqId);
+ if (response != null) {
+ if (response.isError()) {
+ onFailure(context.getResponse(reqId).getErrorMessage());
+ } else {
+ final Object responseWaveId = response.getData().get(ParamsProperty.WAVE_ID);
+ final Object responseWaveletId = response.getData().get(ParamsProperty.WAVELET_ID);
+ if (responseWaveId != null && responseWaveletId != null) {
+ // This is serialized use
+ // ApiIdSerializer.instance().deserialiseWaveId (see
+ // WaveService)
+ newWaveId = (String) responseWaveId;
+ newWaveletId = (String) responseWaveletId;
+ }
+ }
+ }
+ }
+ OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
+ @Override
+ public void onFailure(final String arg0) {
+ KuneWaveManagerDefault.this.onFailure("Wave creation failed, onFailure: " + arg0);
+ }
+
+ @Override
+ public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
+ LOG.info("Wave creation success: " + arg1);
+ }
+ });
+ LOG.info("WaveId: " + newWaveId + " waveletId: " + newWaveletId);
+ WaveRef wavename;
+ try {
+ wavename = WaveRef.of(ApiIdSerializer.instance().deserialiseWaveId(newWaveId),
+ ApiIdSerializer.instance().deserialiseWaveletId(newWaveletId));
+ } catch (final InvalidIdException e) {
+ throw new DefaultException("Error getting wave id");
+ }
+ return wavename;
}
- OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
- @Override
- public void onFailure(final String arg0) {
- KuneWaveManagerDefault.this.onFailure("Wave creation failed, onFailure: " + arg0);
- }
- @Override
- public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
- LOG.info("Wave creation success: " + arg1);
- }
- });
- LOG.info("WaveId: " + newWaveId + " waveletId: " + newWaveletId);
- WaveRef wavename;
- try {
- wavename = WaveRef.of(ApiIdSerializer.instance().deserialiseWaveId(newWaveId),
- ApiIdSerializer.instance().deserialiseWaveletId(newWaveletId));
- } catch (final InvalidIdException e) {
- throw new DefaultException("Error getting wave id");
+ public void doOperations(final WaveRef waveName, final String author, final OperationQueue opQueue,
+ final SubmitRequestListener listener) {
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ for (final OperationRequest req : opQueue.getPendingOperations()) {
+ OperationUtil.executeOperation(req, operationRegistry, context, participantUtils.of(author));
+ }
+ OperationUtil.submitDeltas(context, waveletProvider, listener);
}
- return wavename;
- }
- @Override
- public Wavelet fetchWavelet(final WaveRef waveName, final String author) {
- Wavelet wavelet = null;
- final OperationQueue opQueue = new OperationQueue();
- opQueue.fetchWavelet(waveName.getWaveId(), waveName.getWaveletId());
- final OperationContextImpl context = new OperationContextImpl(waveletProvider,
- converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
- final OperationRequest request = opQueue.getPendingOperations().get(0);
- OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(author));
- final String reqId = request.getId();
- final JsonRpcResponse response = context.getResponse(reqId);
- if (response != null && response.isError()) {
- onFailure(context.getResponse(reqId).getErrorMessage());
- } else {
- // Duplicate code from WaveService
- final WaveletData waveletData = (WaveletData) response.getData().get(ParamsProperty.WAVELET_DATA);
- final Map<String, Blip> blips = new HashMap<String, Blip>();
- final Map<String, BlipThread> threads = new HashMap<String, BlipThread>();
- wavelet = Wavelet.deserialize(opQueue, blips, threads, waveletData);
+ @Override
+ public Wavelet fetchWavelet(final WaveRef waveName, final String author) {
+ Wavelet wavelet = null;
+ final OperationQueue opQueue = new OperationQueue();
+ opQueue.fetchWavelet(waveName.getWaveId(), waveName.getWaveletId());
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ final OperationRequest request = opQueue.getPendingOperations().get(0);
+ OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(author));
+ final String reqId = request.getId();
+ final JsonRpcResponse response = context.getResponse(reqId);
+ if (response != null && response.isError()) {
+ onFailure(context.getResponse(reqId).getErrorMessage());
+ } else {
+ // Duplicate code from WaveService
+ final WaveletData waveletData = (WaveletData) response.getData().get(ParamsProperty.WAVELET_DATA);
+ final Map<String, Blip> blips = new HashMap<String, Blip>();
+ final Map<String, BlipThread> threads = new HashMap<String, BlipThread>();
+ wavelet = Wavelet.deserialize(opQueue, blips, threads, waveletData);
- // Deserialize threads.
- @SuppressWarnings("unchecked")
- final Map<String, BlipThread> tempThreads = (Map<String, BlipThread>) response.getData().get(
- ParamsProperty.THREADS);
- for (final Map.Entry<String, BlipThread> entry : tempThreads.entrySet()) {
- final BlipThread thread = entry.getValue();
- threads.put(entry.getKey(),
- new BlipThread(thread.getId(), thread.getLocation(), thread.getBlipIds(), blips));
- }
+ // Deserialize threads.
+ @SuppressWarnings("unchecked")
+ final Map<String, BlipThread> tempThreads = (Map<String, BlipThread>) response.getData().get(
+ ParamsProperty.THREADS);
+ for (final Map.Entry<String, BlipThread> entry : tempThreads.entrySet()) {
+ final BlipThread thread = entry.getValue();
+ threads.put(entry.getKey(), new BlipThread(thread.getId(), thread.getLocation(), thread.getBlipIds(),
+ blips));
+ }
- // Deserialize blips.
- @SuppressWarnings("unchecked")
- final Map<String, BlipData> blipDatas = (Map<String, BlipData>) response.getData().get(
- ParamsProperty.BLIPS);
- for (final Map.Entry<String, BlipData> entry : blipDatas.entrySet()) {
- blips.put(entry.getKey(), Blip.deserialize(opQueue, wavelet, entry.getValue()));
- }
+ // Deserialize blips.
+ @SuppressWarnings("unchecked")
+ final Map<String, BlipData> blipDatas = (Map<String, BlipData>) response.getData().get(ParamsProperty.BLIPS);
+ for (final Map.Entry<String, BlipData> entry : blipDatas.entrySet()) {
+ blips.put(entry.getKey(), Blip.deserialize(opQueue, wavelet, entry.getValue()));
+ }
+ }
+ return wavelet;
}
- return wavelet;
- }
- private void onFailure(final String message) {
- final String errorMsg = TextUtils.notEmpty(message) ? message : "Wave operation failed";
- LOG.error(errorMsg);
- throw new DefaultException(errorMsg);
- }
+ @Override
+ public boolean isParticipant(final Wavelet wavelet, final String user) {
+ return wavelet.getParticipants().contains(participantUtils.of(user));
+ }
- @Override
- public void setTitle(final WaveRef waveName, final String title, final String author) {
- final Wavelet wavelet = fetchWavelet(waveName, author);
- final OperationQueue opQueue = new OperationQueue();
- opQueue.setTitleOfWavelet(wavelet, title);
- final OperationContextImpl context = new OperationContextImpl(waveletProvider,
- converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
- final OperationRequest request = opQueue.getPendingOperations().get(0);
- OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(author));
- final String reqId = request.getId();
- final JsonRpcResponse response = context.getResponse(reqId);
- if (response != null && response.isError()) {
- onFailure(context.getResponse(reqId).getErrorMessage());
+ private void onFailure(final String message) {
+ final String errorMsg = TextUtils.notEmpty(message) ? message : "Wave operation failed";
+ LOG.error(errorMsg);
+ throw new DefaultException(errorMsg);
}
- OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
- @Override
- public void onFailure(final String arg0) {
- KuneWaveManagerDefault.this.onFailure("Wave set title failed, onFailure: " + arg0);
- }
- @Override
- public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
- LOG.info("Wave set title success: " + arg1);
- }
- });
- }
+ @Override
+ public void setTitle(final WaveRef waveName, final String title, final String author) {
+ final Wavelet wavelet = fetchWavelet(waveName, author);
+ final OperationQueue opQueue = new OperationQueue();
+ opQueue.setTitleOfWavelet(wavelet, title);
+ final OperationContextImpl context = new OperationContextImpl(waveletProvider,
+ converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
+ final OperationRequest request = opQueue.getPendingOperations().get(0);
+ OperationUtil.executeOperation(request, operationRegistry, context, participantUtils.of(author));
+ final String reqId = request.getId();
+ final JsonRpcResponse response = context.getResponse(reqId);
+ if (response != null && response.isError()) {
+ onFailure(context.getResponse(reqId).getErrorMessage());
+ }
+ OperationUtil.submitDeltas(context, waveletProvider, new SubmitRequestListener() {
+ @Override
+ public void onFailure(final String arg0) {
+ KuneWaveManagerDefault.this.onFailure("Wave set title failed, onFailure: " + arg0);
+ }
+
+ @Override
+ public void onSuccess(final int arg0, final HashedVersion arg1, final long arg2) {
+ LOG.info("Wave set title success: " + arg1);
+ }
+ });
+ }
+
}
Modified: trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java 2011-04-29 14:42:12 UTC (rev 1333)
+++ trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java 2011-05-03 08:22:21 UTC (rev 1334)
@@ -19,53 +19,75 @@
public class KuneWaveManagerDefaultTest extends IntegrationTest {
- private static final String MESSAGE = "testing";
- private static final String TITLE = "title";
- private static final String TITLENEW = "titleNew";
- @Inject
- KuneWaveManagerDefault manager;
- @Inject
- ParticipantUtils participantUtils;
+ private static final String MESSAGE = "testing";
+ private static final String NEW_PARTICIPANT = "newparti";
+ private static final String TITLE = "title";
+ private static final String TITLENEW = "titleNew";
+ @Inject
+ KuneWaveManagerDefault manager;
+ @Inject
+ ParticipantUtils participantUtils;
- @Before
- public void before() {
- new IntegrationTestHelper(this);
+ private void addParticipant(final String whoAdds) throws IOException {
+ doLogin();
+ final WaveRef waveletName = manager.createWave(TITLE, MESSAGE, participantUtils.of(getSiteAdminShortName()));
+ assertNotNull(waveletName);
+ manager.addParticipant(waveletName, getSiteAdminShortName(), whoAdds, NEW_PARTICIPANT);
+ final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ assertNotNull(fetchWavelet);
+ assertEquals(2, fetchWavelet.getParticipants().size());
+ manager.isParticipant(fetchWavelet, NEW_PARTICIPANT);
+ }
- }
+ @Test
+ public void authorAddParticipant() throws DefaultException, IOException {
+ final String whoAdds = getSiteAdminShortName();
+ addParticipant(whoAdds);
+ }
- @Test
- public void createWave() throws DefaultException, IOException {
- doLogin();
- final WaveRef waveletName = manager.createWave(MESSAGE, participantUtils.of(getSiteAdminShortName()));
- assertNotNull(waveletName);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
- assertNotNull(fetchWavelet);
- assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
- }
+ @Before
+ public void before() {
+ new IntegrationTestHelper(this);
- @Test
- public void createWaveWithTitle() throws DefaultException, IOException {
- doLogin();
- final WaveRef waveletName = manager.createWave(TITLE, MESSAGE,
- participantUtils.of(getSiteAdminShortName()));
- assertNotNull(waveletName);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
- assertNotNull(fetchWavelet);
- assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
- assertEquals(TITLE, fetchWavelet.getTitle());
- }
+ }
- @Test
- public void setTitle() throws DefaultException, IOException {
- doLogin();
- final WaveRef waveletName = manager.createWave(TITLE, MESSAGE,
- participantUtils.of(getSiteAdminShortName()));
- assertNotNull(waveletName);
- manager.setTitle(waveletName, TITLENEW, getSiteAdminShortName());
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
- assertNotNull(fetchWavelet);
- assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
- assertEquals(TITLENEW, fetchWavelet.getTitle());
- }
+ @Test
+ public void createWave() throws DefaultException, IOException {
+ doLogin();
+ final WaveRef waveletName = manager.createWave(MESSAGE, participantUtils.of(getSiteAdminShortName()));
+ assertNotNull(waveletName);
+ final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ assertNotNull(fetchWavelet);
+ assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
+ }
+ @Test
+ public void createWaveWithTitle() throws DefaultException, IOException {
+ doLogin();
+ final WaveRef waveletName = manager.createWave(TITLE, MESSAGE, participantUtils.of(getSiteAdminShortName()));
+ assertNotNull(waveletName);
+ final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ assertNotNull(fetchWavelet);
+ assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
+ assertEquals(TITLE, fetchWavelet.getTitle());
+ }
+
+ @Test
+ public void otherMemberAddParticipant() throws DefaultException, IOException {
+ final String whoAdds = "otherMember";
+ addParticipant(whoAdds);
+ }
+
+ @Test
+ public void setTitle() throws DefaultException, IOException {
+ doLogin();
+ final WaveRef waveletName = manager.createWave(TITLE, MESSAGE, participantUtils.of(getSiteAdminShortName()));
+ assertNotNull(waveletName);
+ manager.setTitle(waveletName, TITLENEW, getSiteAdminShortName());
+ final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ assertNotNull(fetchWavelet);
+ assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
+ assertEquals(TITLENEW, fetchWavelet.getTitle());
+ }
+
}
1
0
r1333 - in trunk/src/main/java/cc/kune: blogs/client/actions common/client/ui/dialogs common/client/ui/dialogs/tabbed docs/client/actions gspace/client/actions gspace/client/options
by Vicente J. Ruiz Jurado 29 Apr '11
by Vicente J. Ruiz Jurado 29 Apr '11
29 Apr '11
Author: vjrj_
Date: 2011-04-29 16:42:12 +0200 (Fri, 29 Apr 2011)
New Revision: 1333
Added:
trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java
trunk/src/main/java/cc/kune/gspace/client/actions/SetAsHomePageMenuItem.java
Modified:
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java
Log:
Some more content actions
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-04-29 13:26:13 UTC (rev 1332)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-04-29 14:42:12 UTC (rev 1333)
@@ -30,36 +30,42 @@
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.RefreshContentBtn;
+import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class BlogsClientActions extends AbstractFoldableToolActions {
- final String[] all = { TYPE_ROOT, TYPE_BLOG, 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[] contentsModerated = { TYPE_POST, TYPE_UPLOADEDFILE };
+ final String[] all = { TYPE_ROOT, TYPE_BLOG, 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[] contentsModerated = { TYPE_POST, TYPE_UPLOADEDFILE };
- @Inject
- public BlogsClientActions(final I18nUITranslationService i18n, final Session session,
- final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
- final Provider<GoParentBlogBtn> folderGoUp, final Provider<NewPostBtn> newDocBtn,
- final Provider<NewBlogBtn> newFolderBtn, final Provider<OpenBlogMenuItem> openContentMenuItem,
- final Provider<DelPostMenuItem> delContentMenuItem, final Provider<DelBlogMenuItem> delFolderMenuItem) {
- super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.VIEW, newDocBtn, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.MENUITEM, delFolderMenuItem, containersNoRoot);
- }
+ @Inject
+ public BlogsClientActions(final I18nUITranslationService i18n, final Session session,
+ final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
+ final Provider<GoParentBlogBtn> folderGoUp, final Provider<NewPostBtn> newDocBtn,
+ final Provider<NewBlogBtn> newFolderBtn, final Provider<OpenBlogMenuItem> openContentMenuItem,
+ final Provider<DelPostMenuItem> delContentMenuItem, final Provider<RefreshContentBtn> refresh,
+ final Provider<DelBlogMenuItem> delFolderMenuItem,
+ final Provider<SetAsHomePageMenuItem> setAsHomePage) {
+ super(session, stateManager, i18n, registry);
+ actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.VIEW, newDocBtn, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, TYPE_ROOT);
+ actionsRegistry.addAction(ActionGroups.VIEW, refresh, all);
+ 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, delFolderMenuItem, contents);
+ }
- @Override
- protected void createPostSessionInitActions() {
- }
+ @Override
+ protected void createPostSessionInitActions() {
+ }
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-04-29 13:26:13 UTC (rev 1332)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-04-29 14:42:12 UTC (rev 1333)
@@ -114,6 +114,7 @@
this.width = width;
return this;
}
+
}
private final PopupTopPanel popup;
@@ -132,6 +133,7 @@
super.setSecondBtnText(builder.sndButtonTitle);
super.setSecondBtnId(builder.sndButtonId);
super.setSecondBtnTabIndex(builder.tabIndexStart + 1);
+ super.getTitleText().setText(builder.title);
super.setSize(builder.width, builder.height);
}
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-04-29 13:26:13 UTC (rev 1332)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-04-29 14:42:12 UTC (rev 1333)
@@ -91,7 +91,7 @@
private void createDialog() {
dialog = new BasicTopDialog.Builder(dialogId, true, modal).autoscroll(true).width(width).height(
height).icon(iconCls).firstButtonId(firstBtnId).firstButtonTitle(firstBtnTitle).sndButtonId(
- dialogId).sndButtonTitle(sndBtnTitle).build();
+ dialogId).sndButtonTitle(sndBtnTitle).title(title).build();
messageErrorBar = new MessageToolbar(images, errorLabelId);
tabPanel = new DecoratedTabPanel();
dialog.getInnerPanel().add(tabPanel);
@@ -181,7 +181,7 @@
public void setTitle(final String title) {
this.title = title;
if (dialog != null) {
- dialog.setTitle(title);
+ dialog.getTitleText().setText(title);
}
}
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-04-29 13:26:13 UTC (rev 1332)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-04-29 14:42:12 UTC (rev 1333)
@@ -30,36 +30,42 @@
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.RefreshContentBtn;
+import cc.kune.gspace.client.actions.SetAsHomePageMenuItem;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class DocsClientActions extends AbstractFoldableToolActions {
- final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- final String[] containers = { TYPE_ROOT, TYPE_FOLDER };
- final String[] containersNoRoot = { TYPE_FOLDER };
- final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] all = { TYPE_ROOT, TYPE_FOLDER, TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] containers = { TYPE_ROOT, TYPE_FOLDER };
+ final String[] containersNoRoot = { TYPE_FOLDER };
+ final String[] contents = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
+ final String[] contentsModerated = { TYPE_DOCUMENT, TYPE_UPLOADEDFILE };
- @Inject
- public DocsClientActions(final I18nUITranslationService i18n, final Session session,
- final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
- final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewDocBtn> newDocBtn,
- final Provider<NewFolderBtn> newFolderBtn, final Provider<OpenDocMenuItem> openContentMenuItem,
- final Provider<DelDocMenuItem> delContentMenuItem, final Provider<DelFolderMenuItem> delFolderMenuItem) {
- super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.VIEW, newDocBtn, containers);
- 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);
- }
+ @Inject
+ public DocsClientActions(final I18nUITranslationService i18n, final Session session,
+ final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
+ final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewDocBtn> newDocBtn,
+ final Provider<NewFolderBtn> newFolderBtn, final Provider<OpenDocMenuItem> openContentMenuItem,
+ final Provider<DelDocMenuItem> delContentMenuItem,
+ final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<RefreshContentBtn> refresh,
+ final Provider<SetAsHomePageMenuItem> setAsHomePage) {
+ super(session, stateManager, i18n, registry);
+ actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.VIEW, newDocBtn, containers);
+ actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, containers);
+ actionsRegistry.addAction(ActionGroups.VIEW, refresh, all);
+ 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() {
- }
+ @Override
+ protected void createPostSessionInitActions() {
+ }
}
Added: trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java 2011-04-29 14:42:12 UTC (rev 1333)
@@ -0,0 +1,37 @@
+package cc.kune.gspace.client.actions;
+
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+
+public class RefreshContentBtn extends ButtonDescriptor {
+
+ public static class GoParentContainerAction extends AbstractExtendedAction {
+
+ private final StateManager stateManager;
+
+ @Inject
+ public GoParentContainerAction(final StateManager stateManager) {
+ this.stateManager = stateManager;
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ stateManager.refreshCurrentGroupState();
+ }
+
+ }
+
+ @Inject
+ public RefreshContentBtn(final I18nTranslationService i18n, final GoParentContainerAction action,
+ final NavResources res) {
+ super(action);
+ this.withToolTip(i18n.t("Reload current page")).withIcon(res.refresh());
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/gspace/client/actions/RefreshContentBtn.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/java/cc/kune/gspace/client/actions/SetAsHomePageMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/SetAsHomePageMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/SetAsHomePageMenuItem.java 2011-04-29 14:42:12 UTC (rev 1333)
@@ -0,0 +1,60 @@
+package cc.kune.gspace.client.actions;
+
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.actions.RolAction;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+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.AccessRolDTO;
+import cc.kune.core.shared.dto.ContentSimpleDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class SetAsHomePageMenuItem extends MenuItemDescriptor {
+
+ public static class SetAsHomePageAction extends RolAction {
+
+ private final Provider<ContentServiceAsync> contentService;
+ private final I18nTranslationService i18n;
+ private final Session session;
+
+ @Inject
+ public SetAsHomePageAction(final Session session,
+ final Provider<ContentServiceAsync> contentService, final I18nTranslationService i18n) {
+ super(AccessRolDTO.Administrator, true);
+ this.session = session;
+ this.contentService = contentService;
+ this.i18n = i18n;
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ final StateToken token = (StateToken) event.getTarget();
+ NotifyUser.showProgressProcessing();
+ contentService.get().setAsDefaultContent(session.getUserHash(), token,
+ new AsyncCallbackSimple<ContentSimpleDTO>() {
+ @Override
+ public void onSuccess(final ContentSimpleDTO defContent) {
+ session.getCurrentState().getGroup().setDefaultContent(defContent);
+ NotifyUser.hideProgress();
+ NotifyUser.info(i18n.t("Selected as the homepage"));
+ }
+ });
+ }
+
+ }
+
+ @Inject
+ public SetAsHomePageMenuItem(final I18nTranslationService i18n, final SetAsHomePageAction action,
+ final CoreResources res) {
+ super(action);
+ this.withText(i18n.t("Delete")).withIcon(res.groupHome()).withText(i18n.t("Select as the homepage"));
+ }
+
+}
Property changes on: trunk/src/main/java/cc/kune/gspace/client/actions/SetAsHomePageMenuItem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java 2011-04-29 13:26:13 UTC (rev 1332)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java 2011-04-29 14:42:12 UTC (rev 1333)
@@ -22,6 +22,7 @@
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.notify.NotifyLevelImages;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -46,7 +47,7 @@
this.entityHeader = entityHeader;
this.entityPreferencesGroup = entityOptionsGroup;
super.setIconCls("k-options-icon");
- super.setTitle(i18n.t(CoreMessages.GROUP_OPTIONS_DIALOG_TITLE));
+ super.setTitle(i18n.t(CoreMessages.GROUP_OPTIONS_DIALOG_TITLE) + TextUtils.IN_DEVELOPMENT_P);
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java 2011-04-29 13:26:13 UTC (rev 1332)
+++ trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java 2011-04-29 14:42:12 UTC (rev 1333)
@@ -21,6 +21,7 @@
import cc.kune.common.client.notify.NotifyLevelImages;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -44,7 +45,7 @@
USER_OPTIONS_ERROR_ID, i18n.t("Close"), null, null, null);
this.userPreferencesGroup = userOptionsGroup;
super.setIconCls("k-options-icon");
- super.setTitle(i18n.t(CoreMessages.USER_OPTIONS_DIALOG_TITLE));
+ super.setTitle(i18n.t(CoreMessages.USER_OPTIONS_DIALOG_TITLE) + TextUtils.IN_DEVELOPMENT_P);
}
@Override
1
0
r1332 - in trunk/src/main/java/cc/kune: common/client/ui gspace/client/viewers
by Vicente J. Ruiz Jurado 29 Apr '11
by Vicente J. Ruiz Jurado 29 Apr '11
29 Apr '11
Author: vjrj_
Date: 2011-04-29 15:26:13 +0200 (Fri, 29 Apr 2011)
New Revision: 1332
Modified:
trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java
Log:
Minor fix (root cannot be renamed)
Modified: trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-04-29 13:16:37 UTC (rev 1331)
+++ trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-04-29 13:26:13 UTC (rev 1332)
@@ -75,12 +75,16 @@
@UiHandler("label")
void onMouseOut(final MouseOutEvent event) {
- label.removeStyleDependentName("high");
+ if (editable) {
+ label.removeStyleDependentName("high");
+ }
}
@UiHandler("label")
void onMouseOver(final MouseOverEvent event) {
- label.addStyleDependentName("high");
+ if (editable) {
+ label.addStyleDependentName("high");
+ }
}
public void setEditable(final boolean editable) {
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2011-04-29 13:16:37 UTC (rev 1331)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2011-04-29 13:26:13 UTC (rev 1332)
@@ -15,6 +15,7 @@
import com.gwtplatform.mvp.client.ViewImpl;
public abstract class AbstractFolderViewerPanel extends ViewImpl implements FolderViewerView {
+ private final ContentCapabilitiesRegistry capabilitiesRegistry;
private final ContentTitleWidget contentTitle;
private final InlineLabel emptyLabel;
protected final GSpaceArmor gsArmor;
@@ -25,6 +26,7 @@
final ContentCapabilitiesRegistry capabilitiesRegistry) {
this.gsArmor = gsArmor;
this.i18n = i18n;
+ this.capabilitiesRegistry = capabilitiesRegistry;
emptyLabel = new InlineLabel(i18n.t("This folder is empty."));
emptyLabel.setStyleName("k-empty-msg");
contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
@@ -66,7 +68,8 @@
@Override
public void setContainer(final StateContainerDTO state) {
- contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getContainerRights().isEditable());
+ contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getContainerRights().isEditable()
+ && capabilitiesRegistry.isRenamable(state.getTypeId()));
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-04-29 13:16:37 UTC (rev 1331)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/DocViewerPanel.java 2011-04-29 13:26:13 UTC (rev 1332)
@@ -49,6 +49,7 @@
private static DocsViewerPanelUiBinder uiBinder = GWT.create(DocsViewerPanelUiBinder.class);
+ private final ContentCapabilitiesRegistry capabilitiesRegistry;
private RemoteViewServiceMultiplexer channel;
private final ContentTitleWidget contentTitle;
@UiField
@@ -66,12 +67,14 @@
@UiField
ImplPanel waveHolder;
private final WaveStore waveStore = new SimpleWaveStore();
+
private final Widget widget;
@Inject
public DocViewerPanel(final GSpaceArmor wsArmor,
final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n) {
this.gsArmor = wsArmor;
+ this.capabilitiesRegistry = capabilitiesRegistry;
widget = uiBinder.createAndBindUi(this);
contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
}
@@ -134,7 +137,8 @@
@Override
public void setContent(final StateContentDTO state) {
final boolean editable = state.getContentRights().isEditable();
- contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getMimeType(), editable);
+ contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getMimeType(), editable
+ && capabilitiesRegistry.isRenamable(state.getTypeId()));
if (editable) {
initWaveClientIfNeeded();
setEditableWaveContent(state.getWaveRef(), false);
1
0