You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2013/03/27 17:50:51 UTC

svn commit: r1461703 - in /rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model: Page.java PageList.java PageUser.java Region.java RegionWidget.java marshall/ marshall/XmlMapAdapter.java

Author: mfranklin
Date: Wed Mar 27 16:50:51 2013
New Revision: 1461703

URL: http://svn.apache.org/r1461703
Log:
Created web model for RAVE-924

Added:
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Page.java
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageList.java
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageUser.java
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/RegionWidget.java
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/marshall/
    rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/marshall/XmlMapAdapter.java

Added: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Page.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Page.java?rev=1461703&view=auto
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Page.java (added)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Page.java Wed Mar 27 16:50:51 2013
@@ -0,0 +1,145 @@
+package org.apache.rave.rest.model;
+
+import javax.xml.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Page", propOrder = {
+        "id", "name", "ownerId", "pageType", "pageLayoutCode", "subPages", "regions", "members"
+})
+@XmlRootElement(name = "Page")
+public class Page {
+    @XmlAttribute(name="id")
+    private String id;
+    @XmlElement(name="name")
+    private String name;
+    @XmlElement(name="ownerId")
+    private String ownerId;
+    @XmlElement(name="pageType")
+    private String pageType;
+    @XmlElement(name="pageLayoutCode")
+    private String pageLayoutCode;
+    @XmlElementWrapper(name = "subPages")
+    @XmlElement(name="Page")
+    private List<Page> subPages;
+    @XmlElementWrapper(name = "regions")
+    @XmlElement(name="Region")
+    private List<Region> regions;
+    @XmlElementWrapper(name = "members")
+    @XmlElement(name="PageUser")
+    private List<PageUser> members;
+
+    public Page() { }
+
+    public Page(org.apache.rave.model.Page source) {
+        this.id = source.getId();
+        this.name = source.getName();
+        this.ownerId = source.getOwnerId();
+        this.pageType = source.getPageType().toString();
+        this.pageLayoutCode = source.getPageLayout().getCode();
+        this.subPages = createSubPages(source);
+        this.regions = createRegions(source);
+        this.members = createPageUsers(source);
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getOwnerId() {
+        return ownerId;
+    }
+
+    public void setOwnerId(String ownerId) {
+        this.ownerId = ownerId;
+    }
+
+    public String getPageType() {
+        return pageType;
+    }
+
+    public void setPageType(String pageType) {
+        this.pageType = pageType;
+    }
+
+    public String getPageLayoutCode() {
+        return pageLayoutCode;
+    }
+
+    public void setPageLayoutCode(String pageLayoutCode) {
+        this.pageLayoutCode = pageLayoutCode;
+    }
+
+    public List<Page> getSubPages() {
+        return subPages;
+    }
+
+    public void setSubPages(List<Page> subPages) {
+        this.subPages = subPages;
+    }
+
+    public List<Region> getRegions() {
+        return regions;
+    }
+
+    public void setRegions(List<Region> regions) {
+        this.regions = regions;
+    }
+
+    public List<PageUser> getMembers() {
+        return members;
+    }
+
+    public void setMembers(List<PageUser> members) {
+        this.members = members;
+    }
+
+    private List<Page> createSubPages(org.apache.rave.model.Page source) {
+        List<Page> created = null;
+        List<org.apache.rave.model.Page> subPages = source.getSubPages();
+        if(subPages != null) {
+            created = new ArrayList<Page>();
+            for(org.apache.rave.model.Page subPage : subPages) {
+                created.add(new Page(subPage));
+            }
+        }
+        return created;
+    }
+
+    private List<Region> createRegions(org.apache.rave.model.Page source) {
+        List<Region> created = null;
+        List<org.apache.rave.model.Region> regions = source.getRegions();
+        if(regions != null) {
+            created = new ArrayList<Region>();
+            for(org.apache.rave.model.Region region : regions) {
+                created.add(new Region(region));
+            }
+        }
+        return created;
+    }
+
+    private List<PageUser> createPageUsers(org.apache.rave.model.Page source) {
+        List<PageUser> created =null;
+        List<org.apache.rave.model.PageUser> members = source.getMembers();
+        if(members != null) {
+            created = new ArrayList<PageUser>();
+            for(org.apache.rave.model.PageUser member : members) {
+                created.add(new PageUser(member));
+            }
+        }
+        return created;
+    }
+}

Added: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageList.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageList.java?rev=1461703&view=auto
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageList.java (added)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageList.java Wed Mar 27 16:50:51 2013
@@ -0,0 +1,26 @@
+package org.apache.rave.rest.model;
+
+
+import javax.xml.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Pages", propOrder = {
+        "pages"
+})
+@XmlRootElement(name = "Pages")
+public class PageList {
+
+    @XmlElement(name = "Page")
+    private List<Page> pages;
+
+    public List<Page> getPages() {
+        if(pages == null) pages = new ArrayList<Page>();
+        return pages;
+    }
+
+    public void setPages(List<Page> pages) {
+        this.pages = pages;
+    }
+}

Added: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageUser.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageUser.java?rev=1461703&view=auto
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageUser.java (added)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageUser.java Wed Mar 27 16:50:51 2013
@@ -0,0 +1,38 @@
+package org.apache.rave.rest.model;
+
+import javax.xml.bind.annotation.*;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PageUser", propOrder = {
+        "editor", "personId"
+})
+@XmlRootElement(name = "PageUser")
+public class PageUser {
+    @XmlElement(name="editor")
+    boolean editor;
+    @XmlElement(name="personId")
+    String personId;
+
+    public PageUser() { }
+
+    public PageUser(org.apache.rave.model.PageUser member) {
+        this.editor = member.isEditor();
+        this.personId = member.getUserId();
+    }
+
+    public boolean isEditor() {
+        return editor;
+    }
+
+    public void setEditor(boolean editor) {
+        this.editor = editor;
+    }
+
+    public String getPersonId() {
+        return personId;
+    }
+
+    public void setPersonId(String personId) {
+        this.personId = personId;
+    }
+}

Added: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java?rev=1461703&view=auto
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java (added)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/Region.java Wed Mar 27 16:50:51 2013
@@ -0,0 +1,52 @@
+package org.apache.rave.rest.model;
+
+import javax.xml.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.List;
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Region", propOrder = {
+        "locked", "regionWidgets"
+})
+@XmlRootElement(name = "Region")
+public class Region {
+    @XmlElement(name = "locked")
+    private boolean  locked;
+    @XmlElementWrapper(name = "regionWidgets")
+    @XmlElement(name="RegionWidget")
+    private List<RegionWidget> regionWidgets;
+
+    public Region() { }
+
+    public Region(org.apache.rave.model.Region source) {
+        this.locked = source.isLocked();
+        this.regionWidgets = createRegionWidgets(source);
+    }
+
+    public boolean isLocked() {
+        return locked;
+    }
+
+    public void setLocked(boolean locked) {
+        this.locked = locked;
+    }
+
+    public List<RegionWidget> getRegionWidgets() {
+        return regionWidgets;
+    }
+
+    public void setRegionWidgets(List<RegionWidget> regionWidgets) {
+        this.regionWidgets = regionWidgets;
+    }
+
+    private List<RegionWidget> createRegionWidgets(org.apache.rave.model.Region source) {
+        List<RegionWidget> created = null;
+        List<org.apache.rave.model.RegionWidget> widgets = source.getRegionWidgets();
+        if(widgets != null) {
+            created = new ArrayList<RegionWidget>();
+            for(org.apache.rave.model.RegionWidget widget : widgets) {
+                created.add(new RegionWidget(widget));
+            }
+        }
+        return created;
+    }
+}

Added: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/RegionWidget.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/RegionWidget.java?rev=1461703&view=auto
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/RegionWidget.java (added)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/RegionWidget.java Wed Mar 27 16:50:51 2013
@@ -0,0 +1,134 @@
+package org.apache.rave.rest.model;
+
+import org.apache.rave.model.RegionWidgetPreference;
+import org.apache.rave.rest.model.marshall.XmlMapAdapter;
+
+import javax.xml.bind.annotation.*;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RegionWidget", propOrder = {
+        "id", "type", "widgetId", "widgetUrl", "regionId", "collapsed", "locked", "hideChrome", "userPrefs"
+})
+@XmlRootElement(name = "RegionWidget")
+public class RegionWidget {
+
+    @XmlAttribute(name="id")
+    private String id;
+    @XmlAttribute(name="type")
+    private String type;
+    @XmlElement(name = "widgetId")
+    private String widgetId;
+    @XmlElement(name = "widgetUrl")
+    private String widgetUrl;
+    @XmlElement(name = "regionId")
+    private String regionId;
+    @XmlElement(name = "collapsed")
+    private boolean collapsed;
+    @XmlElement(name = "locked")
+    private boolean locked;
+    @XmlElement(name = "hideChrome")
+    private boolean hideChrome;
+    @XmlElement(name = "userPrefs")
+    @XmlJavaTypeAdapter(value = XmlMapAdapter.class, type=Map.class)
+    private Map<String, String> userPrefs;
+
+    public RegionWidget() {  }
+
+    public RegionWidget(org.apache.rave.model.RegionWidget widget) {
+        this.id = widget.getId();
+        this.widgetId = widget.getWidgetId();
+        this.regionId = widget.getRegion().getId();
+        this.collapsed = widget.isCollapsed();
+        this.locked = widget.isLocked();
+        this.hideChrome = widget.isHideChrome();
+        this.userPrefs = createPrefs(widget);
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getWidgetId() {
+        return widgetId;
+    }
+
+    public void setWidgetId(String widgetId) {
+        this.widgetId = widgetId;
+    }
+
+    public String getWidgetUrl() {
+        return widgetUrl;
+    }
+
+    public void setWidgetUrl(String widgetUrl) {
+        this.widgetUrl = widgetUrl;
+    }
+
+    public String getRegionId() {
+        return regionId;
+    }
+
+    public void setRegionId(String regionId) {
+        this.regionId = regionId;
+    }
+
+    public boolean isCollapsed() {
+        return collapsed;
+    }
+
+    public void setCollapsed(boolean collapsed) {
+        this.collapsed = collapsed;
+    }
+
+    public boolean isLocked() {
+        return locked;
+    }
+
+    public void setLocked(boolean locked) {
+        this.locked = locked;
+    }
+
+    public boolean isHideChrome() {
+        return hideChrome;
+    }
+
+    public void setHideChrome(boolean hideChrome) {
+        this.hideChrome = hideChrome;
+    }
+
+    public Map getUserPrefs() {
+        return userPrefs;
+    }
+
+    public void setUserPrefs(Map userPrefs) {
+        this.userPrefs = userPrefs;
+    }
+
+    private Map<String, String> createPrefs(org.apache.rave.model.RegionWidget widget) {
+        Map<String, String> created = null;
+        List<RegionWidgetPreference> preferences = widget.getPreferences();
+        if(preferences != null) {
+            created = new HashMap<String, String>();
+            for(RegionWidgetPreference pref : preferences) {
+                created.put(pref.getName(), pref.getValue());
+            }
+        }
+        return created;
+    }
+}

Added: rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/marshall/XmlMapAdapter.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/marshall/XmlMapAdapter.java?rev=1461703&view=auto
==============================================================================
--- rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/marshall/XmlMapAdapter.java (added)
+++ rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/marshall/XmlMapAdapter.java Wed Mar 27 16:50:51 2013
@@ -0,0 +1,104 @@
+package org.apache.rave.rest.model.marshall;
+
+import javax.xml.bind.annotation.*;
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Provides marshalling utility for Map to XML and vice versa
+ */
+public class XmlMapAdapter<E, T> extends XmlAdapter<XmlMapAdapter.EntryList<E, T>, Map<E, T>> {
+
+    @Override
+    public Map<E, T> unmarshal(EntryList<E, T> entryList) throws Exception {
+        Map<E, T> map = null;
+        if (entryList != null) {
+            map = new HashMap<E, T>();
+            for (Entry<E, T> entry : entryList.getEntries()) {
+                map.put(entry.getKey(), entry.getValue());
+            }
+        }
+        return map;
+    }
+
+    @Override
+    public EntryList<E, T> marshal(Map<E, T> map) throws Exception {
+        EntryList<E, T> list = null;
+        if(map != null) {
+            list = new EntryList<E, T>();
+            List<Entry<E, T>> entryList = list.getEntries();
+            for(Map.Entry<E, T> entry : map.entrySet()) {
+                entryList.add(new Entry<E, T>(entry));
+            }
+        }
+        return list;
+    }
+
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "entry", propOrder = {
+            "key", "value"
+    })
+    public static class Entry<E, T> {
+
+        @XmlElement(name = "key")
+        private E key;
+        @XmlElement(name = "value")
+        private T value;
+
+        public Entry() {
+        }
+
+        public Entry(Map.Entry<E, T> e) {
+            key = e.getKey();
+            value = e.getValue();
+        }
+
+        public E getKey() {
+            return key;
+        }
+
+        public void setKey(E key) {
+            this.key = key;
+        }
+
+        public T getValue() {
+            return value;
+        }
+
+        public void setValue(T value) {
+            this.value = value;
+        }
+    }
+
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "map", propOrder = {
+            "entries"
+    })
+    @XmlRootElement(name = "map")
+    public static class EntryList<E, T> {
+
+        @XmlElement(name = "entry")
+        private List<Entry<E, T>> entries = new ArrayList<Entry<E, T>>();
+
+        public EntryList() {
+        }
+
+        public EntryList(Map<E, T> map) {
+            for (Map.Entry<E, T> e : map.entrySet()) {
+                entries.add(new Entry<E, T>(e));
+            }
+        }
+
+        public List<Entry<E, T>> getEntries() {
+            return entries;
+        }
+
+        public void setEntries(List<Entry<E, T>> entries) {
+            this.entries = entries;
+        }
+    }
+}
+