/* * Copyright [2011] [wisemapping] * * Licensed under WiseMapping Public License, Version 1.0 (the "License"). * It is basically the Apache License, Version 2.0 (the "License") plus the * "powered by wisemapping" text requirement on every single page; * you may not use this file except in compliance with the License. * You may obtain a copy of the license at * * http://www.wisemapping.org/license * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.wisemapping.controller; import com.wisemapping.filter.UserAgent; import com.wisemapping.model.MindMap; import com.wisemapping.security.Utils; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.multiaction.NoSuchRequestHandlingMethodException; import org.springframework.web.servlet.view.RedirectView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MindmapEditorController extends BaseMultiActionController { public static final String MINDMAP_ID_PARAMETER = "mapId"; public static final String MAP_XML_PARAM = "mapXml"; public ModelAndView handleNoSuchRequestHandlingMethod(NoSuchRequestHandlingMethodException noSuchRequestHandlingMethodException, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { return new ModelAndView(new RedirectView("mymaps.htm")); } public ModelAndView open(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { ModelAndView view; final String mindmapId = httpServletRequest.getParameter(MINDMAP_ID_PARAMETER); final int mapId = Integer.parseInt(mindmapId); UserAgent userAgent = UserAgent.create(httpServletRequest); if(userAgent.needsGCF()){ view = new ModelAndView("gcfPluginNeeded"); view.addObject(MINDMAP_ID_PARAMETER, mindmapId); } else{ final MindMap mindmap = getMindmapService().getMindmapById(mapId); // Mark as try mode... view = new ModelAndView("mindmapEditor", "mindmap", mindmap); view.addObject("editorTryMode", false); final boolean showHelp = isWelcomeMap(mindmap); view.addObject("showHelp", showHelp); final String xmlMap = mindmap.getNativeXmlAsJsLiteral(); view.addObject(MAP_XML_PARAM, xmlMap); view.addObject("user", Utils.getUser()); } return view; } private boolean isWelcomeMap(MindMap map) { return map.getTitle().startsWith("Welcome "); } }