Created new Widget REST model and interface git-svn-id: https://svn.apache.org/repos/asf/rave/trunk@1540803 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/rave/repo Commit: http://git-wip-us.apache.org/repos/asf/rave/commit/23329585 Tree: http://git-wip-us.apache.org/repos/asf/rave/tree/23329585 Diff: http://git-wip-us.apache.org/repos/asf/rave/diff/23329585 Branch: refs/heads/angular Commit: 2332958507aa2b6c8b561202b525ba53c7a642b7 Parents: dd45b76 Author: Matthew B. Franklin <[email protected]> Authored: Mon Nov 11 18:55:55 2013 +0000 Committer: Matthew B. Franklin <[email protected]> Committed: Mon Nov 11 18:55:55 2013 +0000 ---------------------------------------------------------------------- .../org/apache/rave/rest/WidgetsResource.java | 74 +++++++ .../java/org/apache/rave/rest/model/Widget.java | 192 +++++++++++++++++++ 2 files changed, 266 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/rave/blob/23329585/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/WidgetsResource.java ---------------------------------------------------------------------- diff --git a/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/WidgetsResource.java b/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/WidgetsResource.java new file mode 100644 index 0000000..6e2e03f --- /dev/null +++ b/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/WidgetsResource.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * 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 org.apache.rave.rest; + +import org.apache.rave.rest.model.Widget; +import org.apache.rave.rest.model.SearchResult; + +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; + +/** + * Widget REST API + */ +@Path("/widgets") +public interface WidgetsResource { + + /** + * Gets all widgets in the system + * @return a list of all widgets + */ + @GET + @Produces(MediaType.APPLICATION_JSON) + public SearchResult<Widget> getWidgets(); + + /** + * Gets a widget by its ID + * @param id ID of the widget + * @return a valid widget or null if not found + */ + @GET + @Path("/{id}") + @Produces(MediaType.APPLICATION_JSON) + public Widget getWidget(@PathParam("id") String id); + + /** + * Updates the widget in system + * @param id ID of the widget + * @param Widget The widget to use to update all properties + * @return the updated widget from the system + */ + @PUT + @Path("/{id}") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public Widget updateWidget(@PathParam("id") String id, Widget Widget); + + /** + * Creates a new widget in the system + * @param Widget the widget to create + * @return the new widget from the system + */ + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public Widget createWidget(Widget Widget); + +} http://git-wip-us.apache.org/repos/asf/rave/blob/23329585/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Widget.java ---------------------------------------------------------------------- diff --git a/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Widget.java b/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Widget.java new file mode 100644 index 0000000..68d085d --- /dev/null +++ b/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Widget.java @@ -0,0 +1,192 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * 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 org.apache.rave.rest.model; + +import org.apache.rave.model.WidgetStatus; + +import javax.xml.bind.annotation.*; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Widget", propOrder = { + "id", "type", "title", "titleUrl", "url", "thumbnailUrl", "screenshotUrl", "author", "authorEmail", + "description", "status", "disable", "disabledMessage", "featured" +}) +@XmlRootElement(name = "RegionWidget") +public class Widget { + @XmlElement(name = "id") + private String id; + @XmlElement(name = "title") + private String title; + @XmlElement(name = "titleUrl") + private String titleUrl; + @XmlElement(name = "url") + private String url; + @XmlElement(name = "thumbnailUrl") + private String thumbnailUrl; + @XmlElement(name = "screenshotUrl") + private String screenshotUrl; + @XmlElement(name = "type") + private String type; + @XmlElement(name = "author") + private String author; + @XmlElement(name = "authorEmail") + private String authorEmail; + @XmlElement(name = "description") + private String description; + @XmlElement(name = "status") + private WidgetStatus status; + @XmlElement(name = "disable") + private boolean disable; + @XmlElement(name = "disabledMessage") + private String disabledMessage; + @XmlElement(name = "featured") + private boolean featured; + + public Widget() { } + + public Widget(org.apache.rave.model.Widget base) { + this.id = base.getId(); + this.title = base.getTitle(); + this.titleUrl = base.getTitleUrl(); + this.url = base.getUrl(); + this.thumbnailUrl = base.getThumbnailUrl(); + this.screenshotUrl = base.getScreenshotUrl(); + this.type = base.getType(); + this.author = base.getAuthor(); + this.authorEmail = base.getAuthorEmail(); + this.description = base.getDescription(); + this.status = base.getWidgetStatus(); + this.disable = base.isDisableRendering(); + this.disabledMessage = base.getDisableRenderingMessage(); + this.featured = base.isFeatured(); + } + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getTitleUrl() { + return titleUrl; + } + + public void setTitleUrl(String titleUrl) { + this.titleUrl = titleUrl; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getThumbnailUrl() { + return thumbnailUrl; + } + + public void setThumbnailUrl(String thumbnailUrl) { + this.thumbnailUrl = thumbnailUrl; + } + + public String getScreenshotUrl() { + return screenshotUrl; + } + + public void setScreenshotUrl(String screenshotUrl) { + this.screenshotUrl = screenshotUrl; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getAuthorEmail() { + return authorEmail; + } + + public void setAuthorEmail(String authorEmail) { + this.authorEmail = authorEmail; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public WidgetStatus getStatus() { + return status; + } + + public void setStatus(WidgetStatus status) { + this.status = status; + } + + public boolean isDisable() { + return disable; + } + + public void setDisable(boolean disable) { + this.disable = disable; + } + + public String getDisabledMessage() { + return disabledMessage; + } + + public void setDisabledMessage(String disabledMessage) { + this.disabledMessage = disabledMessage; + } + + public boolean isFeatured() { + return featured; + } + + public void setFeatured(boolean featured) { + this.featured = featured; + } +}
