dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #15348
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 5526: added basic serialization of dashboardContents
------------------------------------------------------------
revno: 5526
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2011-12-21 15:03:20 +0100
message:
added basic serialization of dashboardContents
added:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/DashboardContentXmlAdapter.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardContents.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DashboardContentController.java
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardContent.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardService.java
dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/dashboard/impl/DefaultDashboardService.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/DashboardContentXmlAdapter.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/DashboardContentXmlAdapter.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/DashboardContentXmlAdapter.java 2011-12-21 14:03:20 +0000
@@ -0,0 +1,62 @@
+package org.hisp.dhis.common.adapter;
+
+/*
+ * Copyright (c) 2004-2011, 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.BaseIdentifiableObject;
+import org.hisp.dhis.dashboard.DashboardContent;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import java.util.UUID;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+public class DashboardContentXmlAdapter extends XmlAdapter<BaseIdentifiableObject, DashboardContent>
+{
+ private BaseIdentifiableObjectXmlAdapter baseIdentifiableObjectXmlAdapter = new BaseIdentifiableObjectXmlAdapter();
+
+ @Override
+ public DashboardContent unmarshal( BaseIdentifiableObject identifiableObject ) throws Exception
+ {
+ DashboardContent dashboardContent = new DashboardContent();
+
+/*
+ dashboardContent.setUid( identifiableObject.getUid() );
+ dashboardContent.setLastUpdated( identifiableObject.getLastUpdated() );
+ dashboardContent.setName( identifiableObject.getName() == null ? UUID.randomUUID().toString() : identifiableObject.getName() );
+*/
+
+ return dashboardContent;
+ }
+
+ @Override
+ public BaseIdentifiableObject marshal( DashboardContent dashboardContent ) throws Exception
+ {
+ return null; // baseIdentifiableObjectXmlAdapter.marshal( dashboardContent );
+ }
+}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardContent.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardContent.java 2011-04-24 12:47:31 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardContent.java 2011-12-21 14:03:20 +0000
@@ -27,71 +27,82 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.util.ArrayList;
-import java.util.List;
-
+import org.codehaus.jackson.annotate.JsonProperty;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.hisp.dhis.common.BaseIdentifiableObject;
+import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.adapter.*;
import org.hisp.dhis.document.Document;
import org.hisp.dhis.mapping.MapView;
import org.hisp.dhis.report.Report;
import org.hisp.dhis.reporttable.ReportTable;
import org.hisp.dhis.user.User;
+import javax.xml.bind.annotation.*;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
/**
+ * it would make sense to make this an idObject, so that we could have nameable (switchable?)
+ * dashboards, would be great for default content etc.
+ *
* @author Lars Helge Overland
- * @version $Id$
*/
+@XmlRootElement( name = "dashboardContent", namespace = Dxf2Namespace.NAMESPACE )
+@XmlAccessorType( value = XmlAccessType.NONE )
public class DashboardContent
{
private final static int MAX_DASHBOARD_ELEMENTS = 6;
-
+
private int id;
-
+
private User user;
private List<Report> reports = new ArrayList<Report>();
-
+
private List<Document> documents = new ArrayList<Document>();
-
+
private List<ReportTable> reportTables = new ArrayList<ReportTable>();
private List<MapView> mapViews = new ArrayList<MapView>();
public DashboardContent()
- {
+ {
}
-
+
public DashboardContent( User user )
{
this.user = user;
}
-
+
public int hashCode()
{
return user.hashCode();
}
-
+
public boolean equals( Object object )
- {
+ {
if ( this == object )
{
return true;
}
-
+
if ( object == null )
{
return false;
}
-
+
if ( object.getClass() != getClass() )
{
return false;
}
-
+
final DashboardContent other = (DashboardContent) object;
-
+
return user.equals( other.user );
}
-
+
// -------------------------------------------------------------------------
// Logic
// -------------------------------------------------------------------------
@@ -101,57 +112,59 @@
if ( !reports.contains( report ) )
{
reports.add( 0, report );
-
+
while ( reports.size() > MAX_DASHBOARD_ELEMENTS )
{
reports.remove( MAX_DASHBOARD_ELEMENTS );
}
}
}
-
+
public void addDocument( Document document )
{
if ( !documents.contains( document ) )
{
documents.add( 0, document );
-
+
while ( documents.size() > MAX_DASHBOARD_ELEMENTS )
{
documents.remove( MAX_DASHBOARD_ELEMENTS );
}
}
}
-
+
public void addReportTable( ReportTable reportTable )
{
if ( !reportTables.contains( reportTable ) )
{
reportTables.add( 0, reportTable );
-
+
while ( reportTables.size() > MAX_DASHBOARD_ELEMENTS )
{
reportTables.remove( MAX_DASHBOARD_ELEMENTS );
}
}
}
-
+
public void addMapView( MapView mapView )
{
if ( !mapViews.contains( mapView ) )
{
mapViews.add( 0, mapView );
-
+
while ( mapViews.size() > MAX_DASHBOARD_ELEMENTS )
{
mapViews.remove( MAX_DASHBOARD_ELEMENTS );
}
}
}
-
+
// -------------------------------------------------------------------------
// Getters & setters
// -------------------------------------------------------------------------
+ @XmlAttribute( name = "internalId" )
+ @JsonProperty( value = "internalId" )
public int getId()
{
return id;
@@ -162,6 +175,10 @@
this.id = id;
}
+ @XmlElement( name = "user" )
+ @XmlJavaTypeAdapter( UserXmlAdapter.class )
+ @JsonProperty
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
public User getUser()
{
return user;
@@ -172,6 +189,11 @@
this.user = user;
}
+ @XmlElementWrapper( name = "reports" )
+ @XmlElement( name = "report" )
+ @XmlJavaTypeAdapter( ReportXmlAdapter.class )
+ @JsonProperty
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
public List<Report> getReports()
{
return reports;
@@ -182,6 +204,11 @@
this.reports = reports;
}
+ @XmlElementWrapper( name = "documents" )
+ @XmlElement( name = "document" )
+ @XmlJavaTypeAdapter( DocumentXmlAdapter.class )
+ @JsonProperty
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
public List<Document> getDocuments()
{
return documents;
@@ -192,6 +219,11 @@
this.documents = documents;
}
+ @XmlElementWrapper( name = "reportTables" )
+ @XmlElement( name = "reportTable" )
+ @XmlJavaTypeAdapter( ReportTableXmlAdapter.class )
+ @JsonProperty
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
public List<ReportTable> getReportTables()
{
return reportTables;
@@ -202,6 +234,11 @@
this.reportTables = reportTables;
}
+ @XmlElementWrapper( name = "mapViews" )
+ @XmlElement( name = "mapView" )
+ @XmlJavaTypeAdapter( MapViewXmlAdapter.class )
+ @JsonProperty
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
public List<MapView> getMapViews()
{
return mapViews;
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardContents.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardContents.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardContents.java 2011-12-21 14:03:20 +0000
@@ -0,0 +1,61 @@
+package org.hisp.dhis.dashboard;
+
+/*
+ * Copyright (c) 2004-2011, 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.codehaus.jackson.annotate.JsonProperty;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.hisp.dhis.common.BaseCollection;
+import org.hisp.dhis.common.BaseIdentifiableObject;
+import org.hisp.dhis.common.Dxf2Namespace;
+
+import javax.xml.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlRootElement( name = "dashboardContents", namespace = Dxf2Namespace.NAMESPACE )
+@XmlAccessorType( value = XmlAccessType.NONE )
+public class DashboardContents extends BaseCollection
+{
+ private List<DashboardContent> dashboardContents = new ArrayList<DashboardContent>();
+
+ @XmlElementWrapper( name = "dashboardContents" )
+ @XmlElement( name = "dashboardContent" )
+ @JsonProperty( value = "dashboardContents" )
+ public List<DashboardContent> getDashboardContents()
+ {
+ return dashboardContents;
+ }
+
+ public void setDashboardContents( List<DashboardContent> dashboardContents )
+ {
+ this.dashboardContents = dashboardContents;
+ }
+}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardService.java 2010-04-12 21:23:33 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dashboard/DashboardService.java 2011-12-21 14:03:20 +0000
@@ -27,10 +27,10 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import org.hisp.dhis.user.User;
+
import java.util.Collection;
-import org.hisp.dhis.user.User;
-
/**
* @author Lars Helge Overland
* @version $Id$
@@ -38,10 +38,12 @@
public interface DashboardService
{
final String ID = DashboardService.class.getName();
-
+
void saveDashboardContent( DashboardContent dashboardContent );
-
+
+ DashboardContent getDashboardContent( int id );
+
DashboardContent getDashboardContent( User user );
-
+
Collection<DashboardContent> getAllDashboardContent();
}
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/dashboard/impl/DefaultDashboardService.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/dashboard/impl/DefaultDashboardService.java 2011-12-09 20:04:48 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/dashboard/impl/DefaultDashboardService.java 2011-12-21 14:03:20 +0000
@@ -27,14 +27,14 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.util.Collection;
-
import org.hisp.dhis.common.GenericStore;
import org.hisp.dhis.dashboard.DashboardContent;
import org.hisp.dhis.dashboard.DashboardService;
import org.hisp.dhis.user.User;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Collection;
+
/**
* @author Lars Helge Overland
* @version $Id$
@@ -57,19 +57,25 @@
// -------------------------------------------------------------------------
// DashboardService implementation
// -------------------------------------------------------------------------
-
+
public void saveDashboardContent( DashboardContent dashboardContent )
{
dashboardContentStore.save( dashboardContent );
}
-
+
+ @Override
+ public DashboardContent getDashboardContent( int id )
+ {
+ return dashboardContentStore.get( id );
+ }
+
public DashboardContent getDashboardContent( User user )
{
DashboardContent content = dashboardContentStore.get( user.getId() );
-
- return content != null ? content : new DashboardContent( user );
+
+ return content != null ? content : new DashboardContent( user );
}
-
+
public Collection<DashboardContent> getAllDashboardContent()
{
return dashboardContentStore.getAll();
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DashboardContentController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DashboardContentController.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DashboardContentController.java 2011-12-21 14:03:20 +0000
@@ -0,0 +1,148 @@
+package org.hisp.dhis.api.controller;
+
+/*
+ * Copyright (c) 2004-2011, 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.api.utils.IdentifiableObjectParams;
+import org.hisp.dhis.dashboard.DashboardContent;
+import org.hisp.dhis.dashboard.DashboardContents;
+import org.hisp.dhis.dashboard.DashboardService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.HttpRequestMethodNotSupportedException;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.util.ArrayList;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@Controller
+@RequestMapping( value = DashboardContentController.RESOURCE_PATH )
+public class DashboardContentController
+{
+ public static final String RESOURCE_PATH = "/dashboardContents";
+
+ @Autowired
+ private DashboardService dashboardService;
+
+ //-------------------------------------------------------------------------------------------------------
+ // GET
+ //-------------------------------------------------------------------------------------------------------
+
+ @RequestMapping( method = RequestMethod.GET )
+ public String getDashboardContents( IdentifiableObjectParams params, Model model, HttpServletRequest request )
+ {
+ DashboardContents dashboardContents = new DashboardContents();
+ dashboardContents.setDashboardContents( new ArrayList<DashboardContent>( dashboardService.getAllDashboardContent() ) );
+
+ /*
+ if ( params.hasLinks() )
+ {
+ WebLinkPopulator listener = new WebLinkPopulator( request );
+ listener.addLinks( dashboardContents );
+ }
+ */
+
+ model.addAttribute( "model", dashboardContents );
+
+ return "dashboardContents";
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.GET )
+ public String getDashboardContent( @PathVariable( "uid" ) int id, IdentifiableObjectParams params, Model model, HttpServletRequest request )
+ {
+ DashboardContent dashboardContent = dashboardService.getDashboardContent( id );
+
+ /*
+ if ( params.hasLinks() )
+ {
+ WebLinkPopulator listener = new WebLinkPopulator( request );
+ listener.addLinks( dashboardContent );
+ }
+ */
+
+ model.addAttribute( "model", dashboardContent );
+
+ return "dashboardContent";
+ }
+
+ //-------------------------------------------------------------------------------------------------------
+ // POST
+ //-------------------------------------------------------------------------------------------------------
+
+ @RequestMapping( method = RequestMethod.POST, headers = {"Content-Type=application/xml, text/xml"} )
+ @ResponseStatus( value = HttpStatus.CREATED )
+ public void postDashboardContentXML( HttpServletResponse response, InputStream input ) throws Exception
+ {
+ throw new HttpRequestMethodNotSupportedException( RequestMethod.POST.toString() );
+ }
+
+ @RequestMapping( method = RequestMethod.POST, headers = {"Content-Type=application/json"} )
+ @ResponseStatus( value = HttpStatus.CREATED )
+ public void postDashboardContentJSON( HttpServletResponse response, InputStream input ) throws Exception
+ {
+ throw new HttpRequestMethodNotSupportedException( RequestMethod.POST.toString() );
+ }
+
+ //-------------------------------------------------------------------------------------------------------
+ // PUT
+ //-------------------------------------------------------------------------------------------------------
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.PUT, headers = {"Content-Type=application/xml, text/xml"} )
+ @ResponseStatus( value = HttpStatus.NO_CONTENT )
+ public void putDashboardContentXML( @PathVariable( "uid" ) String uid, InputStream input ) throws Exception
+ {
+ throw new HttpRequestMethodNotSupportedException( RequestMethod.DELETE.toString() );
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.PUT, headers = {"Content-Type=application/json"} )
+ @ResponseStatus( value = HttpStatus.NO_CONTENT )
+ public void putDashboardContentJSON( @PathVariable( "uid" ) String uid, InputStream input ) throws Exception
+ {
+ throw new HttpRequestMethodNotSupportedException( RequestMethod.PUT.toString() );
+ }
+
+ //-------------------------------------------------------------------------------------------------------
+ // DELETE
+ //-------------------------------------------------------------------------------------------------------
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.DELETE )
+ @ResponseStatus( value = HttpStatus.NO_CONTENT )
+ public void deleteDashboardContent( @PathVariable( "uid" ) String uid ) throws Exception
+ {
+ throw new HttpRequestMethodNotSupportedException( RequestMethod.DELETE.toString() );
+ }
+}