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));