Author: yurize
Date: Sun Dec 11 18:43:22 2011
New Revision: 1213039

URL: http://svn.apache.org/viewvc?rev=1213039&view=rev
Log:
Fixes issue WAVE-306 - bad dependency from org.waveprotocol.wave to 
org.waveprotocol.box

Modified:
    
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistoryChangeListener.java
    
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistorySupport.java
    
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/WebClient.java
    incubator/wave/trunk/src/org/waveprotocol/wave/client/StageThree.java
    
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java

Modified: 
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistoryChangeListener.java
URL: 
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistoryChangeListener.java?rev=1213039&r1=1213038&r2=1213039&view=diff
==============================================================================
--- 
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistoryChangeListener.java
 (original)
+++ 
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistoryChangeListener.java
 Sun Dec 11 18:43:22 2011
@@ -21,7 +21,9 @@ import com.google.gwt.event.logical.shar
 import com.google.gwt.user.client.History;
 
 import org.waveprotocol.box.webclient.client.events.WaveSelectionEvent;
+import org.waveprotocol.wave.model.waveref.InvalidWaveRefException;
 import org.waveprotocol.wave.model.waveref.WaveRef;
+import org.waveprotocol.wave.util.escapers.GwtWaverefEncoder;
 import org.waveprotocol.box.webclient.client.events.Log;
 
 /**
@@ -48,8 +50,10 @@ public class HistoryChangeListener {
         if (encodedToken == null || encodedToken.length() == 0) {
           return;
         }
-        WaveRef waveRef = HistorySupport.waveRefFromHistoryToken(encodedToken);
-        if (waveRef == null) {
+        WaveRef waveRef;
+        try {
+          waveRef = GwtWaverefEncoder.decodeWaveRefFromPath(encodedToken);
+        } catch (InvalidWaveRefException e) {
           LOG.info("History token contains invalid path: " + encodedToken);
           return;
         }

Modified: 
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistorySupport.java
URL: 
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistorySupport.java?rev=1213039&r1=1213038&r2=1213039&view=diff
==============================================================================
--- 
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistorySupport.java
 (original)
+++ 
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/HistorySupport.java
 Sun Dec 11 18:43:22 2011
@@ -16,13 +16,6 @@
 
 package org.waveprotocol.box.webclient.client;
 
-
-import org.waveprotocol.wave.model.waveref.InvalidWaveRefException;
-import org.waveprotocol.wave.model.waveref.WaveRef;
-import org.waveprotocol.wave.util.escapers.GwtWaverefEncoder;
-
-import javax.annotation.Nullable;
-
 /**
  * Contains the code to interface the history event mechanism with the client's
  * event bus. At the moment, a history token encodes a wave id or wave ref.
@@ -35,23 +28,6 @@ public class HistorySupport {
     HistorySupport.historyProvider = historyProvider;
   }
 
-  /**
-   * @param encodedToken token to parse into waveref
-   * @return null if cannot parse into valid waveRef
-   */
-  @Nullable
-  public static WaveRef waveRefFromHistoryToken(String encodedToken) {
-    try {
-      return GwtWaverefEncoder.decodeWaveRefFromPath(encodedToken);
-    } catch (InvalidWaveRefException e) {
-      return null;
-    }
-  }
-
-  public static String historyTokenFromWaveref(WaveRef ref) {
-    return GwtWaverefEncoder.encodeToUriPathSegment(ref);
-  }
-
   private HistorySupport() {
   }
 

Modified: 
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/WebClient.java
URL: 
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/WebClient.java?rev=1213039&r1=1213038&r2=1213039&view=diff
==============================================================================
--- 
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/WebClient.java 
(original)
+++ 
incubator/wave/trunk/src/org/waveprotocol/box/webclient/client/WebClient.java 
Sun Dec 11 18:43:22 2011
@@ -66,7 +66,9 @@ import org.waveprotocol.wave.client.widg
 import org.waveprotocol.wave.model.id.IdGenerator;
 import org.waveprotocol.wave.model.id.WaveId;
 import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.model.waveref.InvalidWaveRefException;
 import org.waveprotocol.wave.model.waveref.WaveRef;
+import org.waveprotocol.wave.util.escapers.GwtWaverefEncoder;
 
 import java.util.Date;
 import java.util.logging.Logger;
@@ -311,8 +313,10 @@ public class WebClient implements EntryP
     });
     String encodedToken = History.getToken();
     if (encodedToken != null && !encodedToken.isEmpty()) {
-      WaveRef fromWaveRef = 
HistorySupport.waveRefFromHistoryToken(encodedToken);
-      if (waveRef == null) {
+      WaveRef fromWaveRef;
+      try {
+        fromWaveRef = GwtWaverefEncoder.decodeWaveRefFromPath(encodedToken);
+      } catch (InvalidWaveRefException e) {
         LOG.info("History token contains invalid path: " + encodedToken);
         return;
       }
@@ -322,7 +326,7 @@ public class WebClient implements EntryP
         return;
       }
     }
-    History.newItem(HistorySupport.historyTokenFromWaveref(waveRef), false);
+    History.newItem(GwtWaverefEncoder.encodeToUriPathSegment(waveRef), false);
   }
 
   /**

Modified: incubator/wave/trunk/src/org/waveprotocol/wave/client/StageThree.java
URL: 
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/wave/client/StageThree.java?rev=1213039&r1=1213038&r2=1213039&view=diff
==============================================================================
--- incubator/wave/trunk/src/org/waveprotocol/wave/client/StageThree.java 
(original)
+++ incubator/wave/trunk/src/org/waveprotocol/wave/client/StageThree.java Sun 
Dec 11 18:43:22 2011
@@ -158,7 +158,8 @@ public interface StageThree {
     }
 
     protected EditToolbar createEditToolbar() {
-      return EditToolbar.create(getStageTwo().getSignedInUser(), 
stageTwo.getIdGenerator());
+      return EditToolbar.create(getStageTwo().getSignedInUser(), 
stageTwo.getIdGenerator(),
+          stageTwo.getWave().getWaveId());
     }
 
     protected ViewToolbar createViewToolbar() {

Modified: 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java
URL: 
http://svn.apache.org/viewvc/incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java?rev=1213039&r1=1213038&r2=1213039&view=diff
==============================================================================
--- 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java
 (original)
+++ 
incubator/wave/trunk/src/org/waveprotocol/wave/client/wavepanel/impl/toolbar/EditToolbar.java
 Sun Dec 11 18:43:22 2011
@@ -25,7 +25,6 @@ import com.google.gwt.dom.client.Style.U
 import com.google.gwt.http.client.URL;
 import com.google.gwt.user.client.Window;
 
-import org.waveprotocol.box.webclient.client.HistorySupport;
 import org.waveprotocol.wave.client.common.util.WaveRefConstants;
 import org.waveprotocol.wave.client.doodad.link.Link;
 import org.waveprotocol.wave.client.doodad.link.Link.InvalidLinkException;
@@ -62,6 +61,7 @@ import org.waveprotocol.wave.model.docum
 import org.waveprotocol.wave.model.document.util.Point;
 import org.waveprotocol.wave.model.document.util.XmlStringBuilder;
 import org.waveprotocol.wave.model.id.IdGenerator;
+import org.waveprotocol.wave.model.id.WaveId;
 import org.waveprotocol.wave.model.wave.ParticipantId;
 import org.waveprotocol.wave.model.waveref.WaveRef;
 import org.waveprotocol.wave.util.escapers.GwtWaverefEncoder;
@@ -113,24 +113,28 @@ public class EditToolbar {
   private final ParticipantId user;
   private final AttachmentIdGenerator attachmentIdGenerator;
 
+  /** The id of the currently loaded wave. */
+  private WaveId waveId;
+
   private final EditorContextAdapter editor = new EditorContextAdapter(null);
   private final ButtonUpdater updater = new ButtonUpdater(editor);
 
   private EditToolbar(EditorToolbarResources.Css css, ToplevelToolbarWidget 
toolbarUi,
-      ParticipantId user, IdGenerator idGenerator) {
+      ParticipantId user, IdGenerator idGenerator, WaveId waveId) {
     this.css = css;
     this.toolbarUi = toolbarUi;
     this.user = user;
+    this.waveId = waveId;
     attachmentIdGenerator = new AttachmentIdGeneratorImpl(idGenerator);
   }
 
   /**
    * Attaches editor behaviour to a toolbar, adding all the edit buttons.
    */
-  public static EditToolbar create(ParticipantId user, IdGenerator 
idGenerator) {
+  public static EditToolbar create(ParticipantId user, IdGenerator 
idGenerator, WaveId waveId) {
     ToplevelToolbarWidget toolbarUi = new ToplevelToolbarWidget();
     EditorToolbarResources.Css css = EditorToolbarResources.Loader.res.css();
-    return new EditToolbar(css, toolbarUi, user, idGenerator);
+    return new EditToolbar(css, toolbarUi, user, idGenerator, waveId);
   }
 
   /** Constructs the initial set of actions in the toolbar. */
@@ -339,12 +343,7 @@ public class EditToolbar {
   }
 
   private void createInsertAttachmentButton(ToolbarView toolbar, final 
ParticipantId user) {
-    // Find the current wave id.
-    String encodedToken = HistorySupport.getToken();
-    WaveRef waveRef = null;
-    if (encodedToken != null && !encodedToken.isEmpty()) {
-      waveRef = HistorySupport.waveRefFromHistoryToken(encodedToken);
-    }
+    WaveRef waveRef = WaveRef.of(waveId);
     Preconditions.checkState(waveRef != null);
     final String waveRefToken = 
URL.encode(GwtWaverefEncoder.encodeToUriQueryString(waveRef));
 


Reply via email to