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