r1394 - in trunk: . src/main/java/cc/kune/common/client/ui src/main/java/cc/kune/core/client/errors src/main/java/cc/kune/domain src/main/java/cc/kune/gspace/client/resources src/main/java/cc/kune/wave/client
Author: vjrj_ Date: 2011-05-16 00:23:30 +0200 (Mon, 16 May 2011) New Revision: 1394 Modified: trunk/ trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java trunk/src/main/java/cc/kune/domain/Content.java trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java trunk/src/main/java/cc/kune/wave/client/WebClient.java Log: logout/login wave fixed Property changes on: trunk ___________________________________________________________________ Name: svn:ignore - pmd-eclipse.log .pmd www-test screenlog.0 client public target target-local Main-compile .settings .gwt-cache repository derby.log star-yellow-grey.png run.sh tomcat gwt-out synccss.sh .externalToolBuilders .wtpmodules www testRepository kune-OLD-jcr KuneApp.launch KuneApp NOSERVER.launch old_src org.ourproject.kune.app.Kune org.ourproject.kune.iml org.ourproject.kune.ipr org.ourproject.kune.iws nbproject hibernate.reveng.xml .gwt-tmp target-eclipse .checkstyle .classpath-bien pom.xml.* .gwt .jdee_sources .jdee_classpath prj.el .factorypath .apt_generated target.old _accounts _certificates _deltas + pmd-eclipse.log .pmd www-test screenlog.0 client public target target-local Main-compile .settings .gwt-cache repository derby.log star-yellow-grey.png run.sh tomcat gwt-out synccss.sh .externalToolBuilders .wtpmodules www testRepository kune-OLD-jcr KuneApp.launch KuneApp NOSERVER.launch old_src org.ourproject.kune.app.Kune org.ourproject.kune.iml org.ourproject.kune.ipr org.ourproject.kune.iws nbproject hibernate.reveng.xml .gwt-tmp target-eclipse .checkstyle .classpath-bien pom.xml.* .gwt .jdee_sources .jdee_classpath prj.el .factorypath .apt_generated target.old _accounts _certificates _deltas logs Modified: trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java =================================================================== --- trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-05-15 18:10:08 UTC (rev 1393) +++ trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-05-15 22:23:30 UTC (rev 1394) @@ -147,11 +147,6 @@ } } - @UiHandler("textbox") - void onMouseOutTextBox(final MouseOutEvent event) { - finishEdit(); - } - @UiHandler("label") void onMouseOver(final MouseOverEvent event) { if (editable) { Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-05-15 18:10:08 UTC (rev 1393) +++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-05-15 22:23:30 UTC (rev 1394) @@ -19,6 +19,9 @@ */ package cc.kune.core.client.errors; +import org.waveprotocol.wave.client.common.safehtml.SafeHtml; +import org.waveprotocol.wave.client.common.util.AsyncHolder.Accessor; + import cc.kune.common.client.log.Log; import cc.kune.common.client.notify.NotifyLevel; import cc.kune.common.client.notify.NotifyUser; @@ -28,6 +31,7 @@ import cc.kune.core.client.state.SiteTokens; import cc.kune.core.client.state.StateManager; import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.wave.client.WebClient; import com.google.gwt.event.shared.EventBus; import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException; @@ -35,93 +39,106 @@ public class ErrorHandler { - private final EventBus eventBus; - private final I18nTranslationService i18n; - private final Session session; - private final StateManager stateManager; + private final EventBus eventBus; + private final I18nTranslationService i18n; + private final Session session; + private final StateManager stateManager; - @Inject - public ErrorHandler(final Session session, final I18nTranslationService i18n, final StateManager stateManager, - final EventBus eventBus) { - this.session = session; - this.i18n = i18n; - this.stateManager = stateManager; - this.eventBus = eventBus; - } + @Inject + public ErrorHandler(final Session session, final I18nTranslationService i18n, + final StateManager stateManager, final EventBus eventBus) { + this.session = session; + this.i18n = i18n; + this.stateManager = stateManager; + this.eventBus = eventBus; + } - public void doSessionExpired() { - eventBus.fireEvent(new SessionExpiredEvent()); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.info, "Your session has expired. Please log in again.")); - } + public void doSessionExpired() { + eventBus.fireEvent(new SessionExpiredEvent()); + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.info, + "Your session has expired. Please log in again.")); + } - private void goHome() { - stateManager.gotoHistoryToken(SiteTokens.GROUP_HOME); - } + private void goHome() { + stateManager.gotoHistoryToken(SiteTokens.GROUP_HOME); + } - private void logException(final Throwable caught) { - logException(caught, false); - } + private void logException(final Throwable caught) { + logException(caught, false); + } - private void logException(final Throwable caught, final boolean showException) { - if (showException) { - Log.debug("Exception in KuneErrorHandler", caught); - } else { - Log.debug("Exception in KuneErrorHandler: " + caught.getMessage()); - } + private void logException(final Throwable caught, final boolean showException) { + if (showException) { + Log.debug("Exception in KuneErrorHandler", caught); + } else { + Log.debug("Exception in KuneErrorHandler: " + caught.getMessage()); } + } - public void process(final Throwable caught) { - eventBus.fireEvent(new ProgressHideEvent()); - if (caught instanceof AccessViolationException) { - logException(caught); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, - i18n.t("You do not have rights to perform that action"))); - } else if (caught instanceof SessionExpiredException) { - logException(caught); - doSessionExpired(); - } else if (caught instanceof UserMustBeLoggedException) { - logException(caught); - if (session.isLogged()) { - doSessionExpired(); - } else { - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.important, - i18n.t("Please sign in or register to collaborate"))); - } - } else if (caught instanceof GroupNotFoundException) { - logException(caught); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.veryImportant, i18n.t("Group not found"))); - goHome(); - } else if (caught instanceof IncompatibleRemoteServiceException) { - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, - i18n.t("Your browser is outdated with the server software. Please reload this page."))); - } else if (caught instanceof ContentNotFoundException) { - logException(caught); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.veryImportant, i18n.t("Content not found"))); - goHome(); - } else if (caught instanceof ContentNotPermittedException) { - logException(caught); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("Action not permitted in this location"))); - goHome(); - } else if (caught instanceof ContainerNotPermittedException) { - logException(caught); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("Action not permitted in this location"))); - goHome(); - } else if (caught instanceof LastAdminInGroupException) { - logException(caught); - NotifyUser.showAlertMessage(i18n.t("Warning"), i18n.t("Sorry, you are the last admin of this group." - + " Look for someone to substitute you appropriately as admin before leaving this group.")); - } else if (caught instanceof AlreadyGroupMemberException) { - logException(caught); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("This group is already a group member"))); - } else if (caught instanceof AlreadyUserMemberException) { - logException(caught); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("This user is already a group member"))); - } else { - logException(caught, true); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, - i18n.t("Oops! Something has gone wrong with our servers. Retry later, please."))); - Log.error("Other kind of exception in StateManagerDefault/processErrorException", caught); + public void process(final Throwable caught) { + eventBus.fireEvent(new ProgressHideEvent()); + if (caught instanceof AccessViolationException) { + logException(caught); + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, + i18n.t("You do not have rights to perform that action"))); + } else if (caught instanceof SessionExpiredException) { + logException(caught); + doSessionExpired(); + } else if (caught instanceof UserMustBeLoggedException) { + logException(caught); + if (session.isLogged()) { + doSessionExpired(); + } else { + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.important, + i18n.t("Please sign in or register to collaborate"))); + } + } else if (caught instanceof GroupNotFoundException) { + logException(caught); + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.veryImportant, i18n.t("Group not found"))); + goHome(); + } else if (caught instanceof IncompatibleRemoteServiceException) { + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, + i18n.t("Your browser is outdated with the server software. Please reload this page."))); + } else if (caught instanceof ContentNotFoundException) { + logException(caught); + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.veryImportant, i18n.t("Content not found"))); + goHome(); + } else if (caught instanceof ContentNotPermittedException) { + logException(caught); + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, + i18n.t("Action not permitted in this location"))); + goHome(); + } else if (caught instanceof ContainerNotPermittedException) { + logException(caught); + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, + i18n.t("Action not permitted in this location"))); + goHome(); + } else if (caught instanceof LastAdminInGroupException) { + logException(caught); + NotifyUser.showAlertMessage(i18n.t("Warning"), + i18n.t("Sorry, you are the last admin of this group." + + " Look for someone to substitute you appropriately as admin before leaving this group.")); + } else if (caught instanceof AlreadyGroupMemberException) { + logException(caught); + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, + i18n.t("This group is already a group member"))); + } else if (caught instanceof AlreadyUserMemberException) { + logException(caught); + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, + i18n.t("This user is already a group member"))); + } else { + logException(caught, true); + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, + i18n.t("Oops! Something has gone wrong with our servers. Retry later, please."))); + final String error = "Other kind of exception in StateManagerDefault/processErrorException"; + Log.error(error, caught); + WebClient.ErrorHandler.getStackTraceAsync(caught, new Accessor<SafeHtml>() { + @Override + public void use(final SafeHtml stack) { + NotifyUser.logError(stack.asString().replace("<br>", "\n")); } + }); } + } } Modified: trunk/src/main/java/cc/kune/domain/Content.java =================================================================== --- trunk/src/main/java/cc/kune/domain/Content.java 2011-05-15 18:10:08 UTC (rev 1393) +++ trunk/src/main/java/cc/kune/domain/Content.java 2011-05-15 22:23:30 UTC (rev 1394) @@ -135,7 +135,7 @@ private String typeId; @Version - private int version; + private Integer version; private String waveId; @@ -336,7 +336,7 @@ this.typeId = typeId; } - public void setVersion(final int version) { + public void setVersion(final Integer version) { this.version = version; } Modified: trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-15 18:10:08 UTC (rev 1393) +++ trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-15 22:23:30 UTC (rev 1394) @@ -69,7 +69,7 @@ font-weight: bold; margin-left: 15px; font: 'UbuntuBold', Arial; - line-height: 1.3em; + line-height: 36px; } .docHeader input { Modified: trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java =================================================================== --- trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java 2011-05-15 18:10:08 UTC (rev 1393) +++ trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java 2011-05-15 22:23:30 UTC (rev 1394) @@ -37,63 +37,65 @@ import com.google.inject.Inject; public class WaveClientManager { - private WebClient webClient; + private WebClient webClient; - @Inject - public WaveClientManager(final Session session, final StateManager stateManager, final EventBus eventBus, - final UserServiceAsync userService, final GSpaceArmor wsArmor) { - session.onUserSignIn(true, new UserSignInHandler() { - @Override - public void onUserSignIn(final UserSignInEvent event) { - userService.getWaveClientParameters(session.getUserHash(), new AsyncCallbackSimple<WaveClientParams>() { - - @Override - public void onSuccess(final WaveClientParams result) { - // NotifyUser.info(result.getSessionJSON(), true); - setUseSocketIO(result.useSocketIO()); - setSessionJSON(JsonUtils.safeEval(result.getSessionJSON())); - setClientFlags(JsonUtils.safeEval(result.getClientFlags())); - // Only for testing: - final ForIsWidget userSpace = wsArmor.getUserSpace(); - if (webClient == null) { - if (userSpace.getWidgetCount() > 0) { - userSpace.remove(0); - } - webClient = new WebClient(eventBus); - userSpace.add(webClient); - } else { - webClient.setVisible(true); - } - } - }); - } - }); - session.onUserSignOut(true, new UserSignOutHandler() { - @Override - public void onUserSignOut(final UserSignOutEvent event) { - if (webClient != null) { - webClient.setVisible(false); + @Inject + public WaveClientManager(final Session session, final StateManager stateManager, + final EventBus eventBus, final UserServiceAsync userService, final GSpaceArmor wsArmor) { + session.onUserSignIn(true, new UserSignInHandler() { + @Override + public void onUserSignIn(final UserSignInEvent event) { + userService.getWaveClientParameters(session.getUserHash(), + new AsyncCallbackSimple<WaveClientParams>() { + @Override + public void onSuccess(final WaveClientParams result) { + // NotifyUser.info(result.getSessionJSON(), true); + setUseSocketIO(result.useSocketIO()); + setSessionJSON(JsonUtils.safeEval(result.getSessionJSON())); + setClientFlags(JsonUtils.safeEval(result.getClientFlags())); + // Only for testing: + final ForIsWidget userSpace = wsArmor.getUserSpace(); + if (webClient == null) { + if (userSpace.getWidgetCount() > 0) { + userSpace.remove(0); + } + webClient = new WebClient(eventBus); + userSpace.add(webClient); + } else { + webClient.login(); + webClient.setVisible(true); } - setUseSocketIO(false); - setSessionJSON(JsonUtils.safeEval("{}")); - setClientFlags(JsonUtils.safeEval("{}")); - } - }); - } + } + }); + } + }); + session.onUserSignOut(true, new UserSignOutHandler() { + @Override + public void onUserSignOut(final UserSignOutEvent event) { + if (webClient != null) { + webClient.setVisible(false); + webClient.logout(); + } + setUseSocketIO(false); + setSessionJSON(JsonUtils.safeEval("{}")); + setClientFlags(JsonUtils.safeEval("{}")); + } + }); + } - public WebClient getWebClient() { - return webClient; - } + public WebClient getWebClient() { + return webClient; + } - private native void setClientFlags(JavaScriptObject object) /*-{ + private native void setClientFlags(JavaScriptObject object) /*-{ $wnd.__client_flags = object; - }-*/; + }-*/; - private native void setSessionJSON(JavaScriptObject object) /*-{ + private native void setSessionJSON(JavaScriptObject object) /*-{ $wnd.__session = object; - }-*/; + }-*/; - private native void setUseSocketIO(boolean use) /*-{ + private native void setUseSocketIO(boolean use) /*-{ $wnd.__useSocketIO = use; - }-*/; + }-*/; } Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java =================================================================== --- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-15 18:10:08 UTC (rev 1393) +++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-15 22:23:30 UTC (rev 1394) @@ -64,7 +64,6 @@ 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; @@ -98,7 +97,7 @@ * (an alert placed on the top of the screen). Once the stack trace is * prepared, it is revealed in the banner via a link. */ - static class ErrorHandler implements UncaughtExceptionHandler { + public static class ErrorHandler implements UncaughtExceptionHandler { public static void install() { GWT.setUncaughtExceptionHandler(new ErrorHandler(GWT.getUncaughtExceptionHandler())); } @@ -124,7 +123,7 @@ this.next = next; } - private void getStackTraceAsync(final Throwable t, final Accessor<SafeHtml> whenReady) { + public static void getStackTraceAsync(final Throwable t, final Accessor<SafeHtml> whenReady) { // TODO: Request stack-trace de-obfuscation. For now, just use the // javascript stack trace. // @@ -245,7 +244,7 @@ /** * Create a remote websocket to talk to the server-side FedOne service. */ - private final WaveWebSocketClient websocket; + private WaveWebSocketClient websocket; /** * This is the entry point method. @@ -274,19 +273,40 @@ HistorySupport.init(); + //createWebSocket(); + + loginImpl(); + + setupUi(); + + // History.fireCurrentHistoryState(); + LOG.info("SimpleWebClient.onModuleLoad() done"); + } + + private void createWebSocket() { websocket = new WaveWebSocketClient(useSocketIO(), getWebSocketBaseUrl(GWT.getModuleBaseURL())); websocket.connect(); + } + public void login() { + loginImpl(); + } + + public void logout() { + loggedInUser = null; + channel = null; + idGenerator = null; + websocket = null; + clear(); + } + + private void loginImpl() { + createWebSocket(); if (Session.get().isLoggedIn()) { loggedInUser = new ParticipantId(Session.get().getAddress()); idGenerator = ClientIdGenerator.create(); loginToServer(); } - - setupUi(); - - // History.fireCurrentHistoryState(); - LOG.info("SimpleWebClient.onModuleLoad() done"); } public RemoteViewServiceMultiplexer getChannel() { @@ -315,10 +335,14 @@ } public void clear() { + // Duplicate below if (wave != null) { wave.destroy(); wave = null; } + if (waveHolder.isAttached()) { + waveHolder.removeFromParent(); + } } /** * Shows a wave in a wave panel.
participants (1)
-
Vicente J. Ruiz Jurado