=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SystemController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SystemController.java 2013-03-16 10:13:34 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SystemController.java 2013-08-13 10:35:25 +0000 @@ -28,6 +28,7 @@ */ import org.hisp.dhis.api.utils.ContextUtils; +import org.hisp.dhis.api.webdomain.SystemInfo; import org.hisp.dhis.common.CodeGenerator; import org.hisp.dhis.dxf2.metadata.ImportSummary; import org.hisp.dhis.dxf2.utils.JacksonUtils; @@ -44,6 +45,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; @@ -71,7 +73,7 @@ // UID Generator //-------------------------------------------------------------------------- - @RequestMapping(value = "/uid", method = RequestMethod.GET) + @RequestMapping( value = "/uid", method = RequestMethod.GET ) public void getUid( @RequestParam(required = false) Integer n, HttpServletResponse response ) throws IOException { response.setContentType( ContextUtils.CONTENT_TYPE_JSON ); @@ -98,7 +100,7 @@ JacksonUtils.toJson( response.getOutputStream(), codes ); } - @RequestMapping(value = "/tasks/{category}", method = RequestMethod.GET, produces = { "*/*", "application/json" }) + @RequestMapping( value = "/tasks/{category}", method = RequestMethod.GET, produces = { "*/*", "application/json" } ) public void getTaskJson( HttpServletResponse response, @PathVariable("category") String category ) throws IOException { List notifications = new ArrayList(); @@ -115,7 +117,7 @@ JacksonUtils.toJson( response.getOutputStream(), notifications ); } - @RequestMapping(value = "/taskSummaries/{category}", method = RequestMethod.GET, produces = { "*/*", "application/json" }) + @RequestMapping( value = "/taskSummaries/{category}", method = RequestMethod.GET, produces = { "*/*", "application/json" } ) public void getTaskSummaryJson( HttpServletResponse response, @PathVariable("category") String category ) throws IOException { ImportSummary importSummary = new ImportSummary(); @@ -133,4 +135,12 @@ JacksonUtils.toJson( response.getOutputStream(), importSummary ); } + + @RequestMapping( value = "/info", method = RequestMethod.GET, produces = { "*/*", "application/json" } ) + public void getSystemInfo( HttpServletRequest request, HttpServletResponse response ) throws IOException + { + SystemInfo info = new SystemInfo(); + info.setContextPath( ContextUtils.getContextPath( request ) ); + JacksonUtils.toJson( response.getOutputStream(), info ); + } } === added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/webdomain/SystemInfo.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/webdomain/SystemInfo.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/webdomain/SystemInfo.java 2013-08-13 10:35:25 +0000 @@ -0,0 +1,52 @@ +package org.hisp.dhis.api.webdomain; + +/* +* Copyright (c) 2004-2012, University of Oslo +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright notice, this +* list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of the HISP project nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +import org.hisp.dhis.common.DxfNamespaces; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; + +@JacksonXmlRootElement( localName = "systemInfo", namespace = DxfNamespaces.DXF_2_0 ) +public class SystemInfo +{ + private String contextPath; + + @JsonProperty + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + public String getContextPath() + { + return contextPath; + } + + public void setContextPath( String contextPath ) + { + this.contextPath = contextPath; + } +}