2 * Copyright (C) 2011 Openismus GmbH
4 * This file is part of GWT-Glom.
6 * GWT-Glom is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU Lesser General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
11 * GWT-Glom is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with GWT-Glom. If not, see <http://www.gnu.org/licenses/>.
20 package org.glom.web.client.place;
22 import java.util.HashMap;
24 import org.glom.web.client.StringUtils;
26 import com.google.gwt.place.shared.PlaceTokenizer;
27 import com.google.gwt.place.shared.Prefix;
29 public class DocumentLoginPlace extends HasDocumentPlace {
31 public DocumentLoginPlace(final String documentID) {
35 @Prefix("documentlogin")
36 public static class Tokenizer extends HasDocumentPlace.Tokenizer implements PlaceTokenizer<DocumentLoginPlace> {
39 public String getToken(final DocumentLoginPlace place) {
40 final HashMap<String, String> params = new HashMap<String, String>();
41 params.put(documentKey, place.getDocumentID());
42 return buildParamsToken(params);
46 public DocumentLoginPlace getPlace(final String token) {
47 // default empty values
48 String documentID = "";
50 final HashMap<String, String> params = getTokenParams(token);
53 return new DocumentLoginPlace("");
56 if (params.get(documentKey) != null) {
57 documentID = params.get(documentKey);
60 if (StringUtils.isEmpty(documentID)) {
61 // The documentID was not retrieved from the URL. Use empty values for the place.
62 return new DocumentLoginPlace("");
65 return new DocumentLoginPlace(documentID);