Author: erinnp
Date: Mon Aug 12 19:04:31 2013
New Revision: 1513222
URL: http://svn.apache.org/r1513222
Log:
RAVE-1021: Implement PageLayout rest api endpoints
Added:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PageLayoutResource.java
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageLayout.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageLayoutResource.java
Removed:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageList.java
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/cxf-applicationContext.xml
Added:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PageLayoutResource.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PageLayoutResource.java?rev=1513222&view=auto
==============================================================================
---
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PageLayoutResource.java
(added)
+++
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/PageLayoutResource.java
Mon Aug 12 19:04:31 2013
@@ -0,0 +1,60 @@
+/*
+ * 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.Category;
+import org.apache.rave.rest.model.PageLayout;
+import org.apache.rave.rest.model.SearchResult;
+
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.UriInfo;
+
+/**
+ * Created with IntelliJ IDEA.
+ * User: erinnp
+ * Date: 8/9/13
+ * Time: 1:55 PM
+ * To change this template use File | Settings | File Templates.
+ */
+@Path("/pageLayouts")
+public interface PageLayoutResource {
+
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ public SearchResult<PageLayout> getPageLayouts();
+
+ @POST
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
+ public PageLayout createPageLayout(PageLayout pageLayout);
+
+ @GET
+ @Path("/{code}")
+ @Produces(MediaType.APPLICATION_JSON)
+ public PageLayout getPageLayout(@PathParam("code") String code);
+
+ @PUT
+ @Path("/{code}")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
+ public PageLayout updatePageLayout(@PathParam("code") String code,
PageLayout pageLayout);
+}
Added:
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageLayout.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageLayout.java?rev=1513222&view=auto
==============================================================================
---
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageLayout.java
(added)
+++
rave/trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/rest/model/PageLayout.java
Mon Aug 12 19:04:31 2013
@@ -0,0 +1,68 @@
+/*
+ * 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;
+
+public class PageLayout {
+ private String code;
+ private Long numberOfRegions;
+ private Long renderSequence;
+ private boolean userSelectable;
+
+ public PageLayout() {}
+
+ public PageLayout(org.apache.rave.model.PageLayout source) {
+ this.code = source.getCode();
+ this.numberOfRegions = source.getNumberOfRegions();
+ this.renderSequence = source.getRenderSequence();
+ this.userSelectable = source.isUserSelectable();
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public Long getNumberOfRegions() {
+ return numberOfRegions;
+ }
+
+ public void setNumberOfRegions(Long numberOfRegions) {
+ this.numberOfRegions = numberOfRegions;
+ }
+
+ public Long getRenderSequence() {
+ return renderSequence;
+ }
+
+ public void setRenderSequence(Long renderSequence) {
+ this.renderSequence = renderSequence;
+ }
+
+ public boolean isUserSelectable() {
+ return userSelectable;
+ }
+
+ public void setUserSelectable(boolean userSelectable) {
+ this.userSelectable = userSelectable;
+ }
+}
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java?rev=1513222&r1=1513221&r2=1513222&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java
(original)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageForRenderResource.java
Mon Aug 12 19:04:31 2013
@@ -29,7 +29,6 @@ import org.apache.rave.rest.PagesForRend
import org.apache.rave.rest.PagesResource;
import org.apache.rave.rest.exception.BadRequestException;
import org.apache.rave.rest.model.Page;
-import org.apache.rave.rest.model.PageList;
import org.apache.rave.rest.model.RegionWidget;
import org.apache.rave.rest.model.SearchResult;
import org.slf4j.Logger;
Added:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageLayoutResource.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageLayoutResource.java?rev=1513222&view=auto
==============================================================================
---
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageLayoutResource.java
(added)
+++
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/rest/impl/DefaultPageLayoutResource.java
Mon Aug 12 19:04:31 2013
@@ -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.impl;
+
+import org.apache.rave.rest.exception.ResourceNotFoundException;
+import org.apache.rave.rest.model.PageLayout;
+import org.apache.rave.portal.service.PageLayoutService;
+import org.apache.rave.rest.PageLayoutResource;
+import org.apache.rave.rest.model.SearchResult;
+
+import javax.inject.Inject;
+import java.util.ArrayList;
+import java.util.List;
+
+public class DefaultPageLayoutResource implements PageLayoutResource {
+ private PageLayoutService pageLayoutService;
+
+ @Inject
+ public void setPageLayoutService(PageLayoutService pageLayoutService) {
+ this.pageLayoutService = pageLayoutService;
+ }
+
+ @Override
+ public SearchResult<PageLayout> getPageLayouts() {
+
+ List<org.apache.rave.model.PageLayout> fromDb =
pageLayoutService.getAll();
+ List<PageLayout> pageLayouts = new ArrayList<PageLayout>();
+
+ for (org.apache.rave.model.PageLayout pageLayout : fromDb) {
+ pageLayouts.add(new PageLayout(pageLayout));
+ }
+
+ return new SearchResult<PageLayout>(pageLayouts, fromDb.size());
+ }
+
+ @Override
+ public PageLayout getPageLayout(String code) {
+
+ org.apache.rave.model.PageLayout fromDb =
pageLayoutService.getPageLayoutByCode(code);
+
+ if(fromDb == null) {
+ throw new ResourceNotFoundException(code);
+ }
+
+ return new PageLayout(fromDb);
+ }
+
+ @Override
+ public PageLayout updatePageLayout(String code, PageLayout pageLayout) {
+ return null;
+ }
+
+ @Override
+ public PageLayout createPageLayout(PageLayout pageLayout) {
+ return null;
+ }
+}
Modified:
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/cxf-applicationContext.xml
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/cxf-applicationContext.xml?rev=1513222&r1=1513221&r2=1513222&view=diff
==============================================================================
---
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/cxf-applicationContext.xml
(original)
+++
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/cxf-applicationContext.xml
Mon Aug 12 19:04:31 2013
@@ -54,6 +54,7 @@
<ref bean="peopleBean"/>
<ref bean="usersBean"/>
<ref bean="pagesBean" />
+ <ref bean="pageLayoutBean" />
<ref bean="pagesForRenderBean" />
<ref bean="categoriesBean"/>
</jaxrs:serviceBeans>
@@ -72,6 +73,8 @@
<property name="userService" ref="userService"/>
</bean>
+ <bean id="pageLayoutBean"
class="org.apache.rave.rest.impl.DefaultPageLayoutResource" autowire="byType" />
+
<bean id="pagesBean" class="org.apache.rave.rest.impl.DefaultPageResource"
autowire="byType" />
<bean id="regionsBean"
class="org.apache.rave.rest.impl.DefaultRegionsResource" autowire="byType" />
<bean id="regionWidgetsBean"
class="org.apache.rave.rest.impl.DefaultRegionWidgetsResource"
autowire="byType" />