@@ -0,0 +1,2135 @@
+/*%0A * Copyright %5B2013%5D %5BShopWiki%5D%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A * http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage com.shopwiki.vaadin;%0A%0Aimport com.vaadin.ui.UriFragmentUtility;%0Aimport com.vaadin.ui.UriFragmentUtility.FragmentChangedEvent;%0Aimport com.vaadin.ui.UriFragmentUtility.FragmentChangedListener;%0Aimport com.vaadin.ui.Window;%0A%0A/**%0A * @owner rstewart%0A */%0Apublic class UrlFragWindow extends Window %7B // TODO: Move to ehdotan.jar%0A%0A    private final UriFragmentUtility uriFragUtil = new UriFragmentUtility();%0A    private volatile boolean ignoreUrlFragChange = false;%0A%0A    protected UrlFragWindow(String name) %7B%0A        super(name);%0A%0A        addComponent(uriFragUtil);%0A        uriFragUtil.addListener(new FragmentChangedListener() %7B%0A            @Override%0A            public void fragmentChanged(FragmentChangedEvent source) %7B%0A                String frag = null;%0A                synchronized(uriFragUtil) %7B%0A                    if (ignoreUrlFragChange) %7B%0A                        ignoreUrlFragChange = false;%0A                        return;%0A                    %7D%0A                    frag = uriFragUtil.getFragment();%0A                %7D%0A                handleUrlFragChange(new UrlParams(frag));%0A            %7D%0A        %7D);%0A    %7D%0A%0A    public void setUrlFrag(UrlParams params) %7B%0A        synchronized(uriFragUtil) %7B%0A            ignoreUrlFragChange = true;%0A            uriFragUtil.setFragment(params.toString());%0A        %7D%0A    %7D%0A%0A    public UrlParams getUrlParams() %7B%0A        return new UrlParams(uriFragUtil.getFragment());%0A    %7D%0A%0A    @SuppressWarnings(%22unused%22)%0A    protected void handleUrlFragChange(UrlParams params) %7B%0A        // Override this!%0A    %7D%0A%7D%0A

Move UrlFragWindow.java from shopwiki-vaadin to ehdotan