You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by cg...@apache.org on 2012/10/29 04:17:01 UTC
svn commit: r1403150 [1/2] - in /rave/branches/model-split: ./
rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/
rave-components/rave-core/src/main/java/org/apache/rave/portal/service/
rave-components/rave-core/src/main/ja...
Author: cgeer
Date: Mon Oct 29 03:16:59 2012
New Revision: 1403150
URL: http://svn.apache.org/viewvc?rev=1403150&view=rev
Log:
RAVE-834 Merge all from trunk at 1403092
Added:
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/
- copied from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/BadOmdlXmlFormatException.java
- copied unchanged from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/BadOmdlXmlFormatException.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlConstants.java
- copied unchanged from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlConstants.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlInputAdapter.java
- copied unchanged from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlInputAdapter.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlModelUtils.java
- copied unchanged from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlModelUtils.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlOutputAdapter.java
- copied, changed from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlOutputAdapter.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/package-info.java
- copied unchanged from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/package-info.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/OmdlService.java
- copied, changed from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/OmdlService.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultOmdlService.java
- copied, changed from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultOmdlService.java
rave/branches/model-split/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/util/omdl/
- copied from r1403092, rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/util/omdl/
rave/branches/model-split/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/util/omdl/OmdlTest.java
- copied unchanged from r1403092, rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/model/util/omdl/OmdlTest.java
rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/ShowStackTraceTag.java
- copied unchanged from r1403092, rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/tag/ShowStackTraceTag.java
rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/ShowStackTraceTagTest.java
- copied unchanged from r1403092, rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/tag/ShowStackTraceTagTest.java
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/usernotfound.jsp
- copied unchanged from r1403092, rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/usernotfound.jsp
Modified:
rave/branches/model-split/ (props changed)
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/PageService.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java
rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rest/PageApi.java
rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PageApi.java
rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java
rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java
rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java
rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ViewNames.java
rave/branches/model-split/rave-components/rave-web/src/main/resources/META-INF/rave.tld
rave/branches/model-split/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml
rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java
rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.java
rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
rave/branches/model-split/rave-integration-tests/rave-default-account-tests/src/main/stories/openidLogin.story
rave/branches/model-split/rave-portal-resources/src/main/resources/messages.properties
rave/branches/model-split/rave-portal-resources/src/main/resources/messages_es.properties
rave/branches/model-split/rave-portal-resources/src/main/resources/messages_nl.properties
rave/branches/model-split/rave-portal-resources/src/main/resources/portal.properties
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.w3c.jsp
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/error.jsp
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/mobile_home.jsp
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tags/region_widget.tag
rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/tiles-defs.xml
rave/branches/model-split/rave-portal-resources/src/main/webapp/static/css/rave-css.less
rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave.js
rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_api.js
rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_layout.js
rave/branches/model-split/rave-portal-resources/src/main/webapp/static/script/rave_opensocial.js
rave/branches/model-split/rave-portal-resources/src/test/javascript/raveSpec.js
Propchange: rave/branches/model-split/
------------------------------------------------------------------------------
Merged /rave/trunk:r1394121-1403092
Copied: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlOutputAdapter.java (from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlOutputAdapter.java)
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlOutputAdapter.java?p2=rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlOutputAdapter.java&p1=rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlOutputAdapter.java&r1=1403092&r2=1403150&rev=1403150&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlOutputAdapter.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/util/omdl/OmdlOutputAdapter.java Mon Oct 29 03:16:59 2012
@@ -29,7 +29,11 @@ import javax.xml.bind.annotation.XmlRoot
import javax.xml.bind.annotation.XmlValue;
import org.apache.rave.portal.model.Page;
+import org.apache.rave.portal.model.User;
import org.apache.rave.portal.model.Widget;
+import org.apache.rave.portal.service.UserService;
+import org.apache.rave.portal.service.WidgetService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
@@ -40,7 +44,7 @@ import org.springframework.stereotype.Co
* for more information on the specification.
*
*/
-@Component
+//@Component
@XmlRootElement(name = "workspace")
@XmlAccessorType(XmlAccessType.NONE)
public class OmdlOutputAdapter implements OmdlConstants {
@@ -79,7 +83,14 @@ public class OmdlOutputAdapter implement
private List<OmdlWidget> widgetsList;
- public OmdlOutputAdapter(){}
+ private WidgetService widgetService;
+ private UserService userService;
+
+ //@Autowired
+ public OmdlOutputAdapter(WidgetService widgetService, UserService userService){
+ this.widgetService = widgetService;
+ this.userService = userService;
+ }
public void buildModel(Page page, String omdlUrl, String wookieUrl) {
this.wookieUrl = wookieUrl;
@@ -95,7 +106,7 @@ public class OmdlOutputAdapter implement
widgetsList = new ArrayList<OmdlWidget>();
for(int i=0;i<page.getRegions().size(); i++){
for(int j=0;j<page.getRegions().get(i).getRegionWidgets().size();j++){
- Widget widget = page.getRegions().get(i).getRegionWidgets().get(j).getWidget();
+ Widget widget = widgetService.getWidget(page.getRegions().get(i).getRegionWidgets().get(j).getWidgetId());
omdlWidget = new OmdlWidget();
omdlWidget.setUrl(widget.getUrl());
omdlWidget.setLink(createLinkElement(widget.getType(), widget.getUrl()));
@@ -133,11 +144,12 @@ public class OmdlOutputAdapter implement
private String getCreator(Page page){
String result="";
- result = page.getOwner().getDisplayName();
+ User user = userService.getUserById(page.getOwnerId());
+ result = user.getDisplayName();
if(result == null || result.equals("")){
- result = page.getOwner().getPreferredName();
+ result = user.getPreferredName();
if(result == null || result.equals("")){
- result = page.getOwner().getUsername();
+ result = user.getUsername();
}
}
return result;
Copied: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/OmdlService.java (from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/OmdlService.java)
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/OmdlService.java?p2=rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/OmdlService.java&p1=rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/OmdlService.java&r1=1403092&r2=1403150&rev=1403150&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/OmdlService.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/OmdlService.java Mon Oct 29 03:16:59 2012
@@ -29,7 +29,7 @@ public interface OmdlService {
* @param omdlUrl - page url - used in construction of OMDL file
* @return an OmdlOutputAdapter - a JaxB xml OMDL format
*/
- OmdlOutputAdapter exportOmdl(long pageId, String omdlUrl);
+ OmdlOutputAdapter exportOmdl(String pageId, String omdlUrl);
/**
* Import an OMDL xml format file to generate into a page object (with all of its reqionwidgets)
Modified: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/PageService.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/PageService.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/PageService.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/PageService.java Mon Oct 29 03:16:59 2012
@@ -162,6 +162,16 @@ public interface PageService {
@PreAuthorize("hasPermission(#pageId, 'org.apache.rave.portal.model.Page', 'update') and " +
"hasPermission(#widgetId, 'org.apache.rave.portal.model.Widget', 'read')")
RegionWidget addWidgetToPage(String pageId, String widgetId);
+
+ /**
+ * Creates a new instance of a widget and adds it to the first position of the identified region on the page
+ * @param pageId the id of the page to add the widget to
+ * @param widgetId the {@link org.apache.rave.portal.model.Widget} id to add
+ * @return a valid widget instance
+ */
+ @PreAuthorize("hasPermission(#pageId, 'org.apache.rave.portal.model.Page', 'update') and " +
+ "hasPermission(#widgetId, 'org.apache.rave.portal.model.Widget', 'read')")
+ RegionWidget addWidgetToPageRegion(String pageId, String widgetId, String regionId);
/**
* Deletes the specified widget from the page.
@@ -204,6 +214,16 @@ public interface PageService {
Page movePageToDefault(String pageId);
/**
+ * Clone the page and then share it with another user (Page is detached from original)
+ * @param pageId - the id of the page in question
+ * @param userId - the userid to add
+ * @param pageName = name of the page
+ * @return true or false whether the user was added
+ */
+ @PreAuthorize("hasPermission(#pageId, 'org.apache.rave.portal.model.Page', 'update')")
+ Boolean clonePageForUser(String pageId, String userId, String pageName);
+
+ /**
* Add another user to share this page with
* @param pageId - the id of the page in question
* @param userId - the userid to add
@@ -211,7 +231,7 @@ public interface PageService {
*/
@PreAuthorize("hasPermission(#pageId, 'org.apache.rave.portal.model.Page', 'update')")
Boolean addMemberToPage(String pageId, String userId);
-
+
/**
* Remove an existing user from the page share
* @param pageId - the id of the page in question
Copied: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultOmdlService.java (from r1403092, rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultOmdlService.java)
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultOmdlService.java?p2=rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultOmdlService.java&p1=rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultOmdlService.java&r1=1403092&r2=1403150&rev=1403150&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultOmdlService.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultOmdlService.java Mon Oct 29 03:16:59 2012
@@ -38,6 +38,7 @@ import org.apache.rave.portal.model.util
import org.apache.rave.portal.model.util.omdl.OmdlOutputAdapter;
import org.apache.rave.portal.service.OmdlService;
import org.apache.rave.portal.service.PageService;
+import org.apache.rave.portal.service.UserService;
import org.apache.rave.portal.service.WidgetService;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -67,19 +68,21 @@ public class DefaultOmdlService implemen
private PageService pageService;
private WidgetService widgetService;
+ private UserService userService;
public DefaultOmdlService(){}
@Autowired
- public DefaultOmdlService(PageService pageService, WidgetService widgetService){
+ public DefaultOmdlService(PageService pageService, WidgetService widgetService, UserService userService){
this.pageService = pageService;
this.widgetService = widgetService;
+ this.userService = userService;
}
@Override
- public OmdlOutputAdapter exportOmdl(long pageId, String omdlUrl) {
+ public OmdlOutputAdapter exportOmdl(String pageId, String omdlUrl) {
Page page = pageService.getPage(pageId);
- OmdlOutputAdapter omdl = new OmdlOutputAdapter();
+ OmdlOutputAdapter omdl = new OmdlOutputAdapter(widgetService, userService);
omdl.buildModel(page, omdlUrl, wookieUrl);
return omdl;
}
@@ -142,7 +145,7 @@ public class DefaultOmdlService implemen
return page;
}
- private void populateRegionWidgets(Page page, List<String> urlList, Long regionId ){
+ private void populateRegionWidgets(Page page, List<String> urlList, String regionId ){
Widget widget = null;
for (String widgetUrl : urlList){
widget = widgetService.getWidgetByUrl(widgetUrl);
Modified: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java Mon Oct 29 03:16:59 2012
@@ -258,6 +258,21 @@ public class DefaultPageService implemen
verifyRegionIsNotLocked(region);
return createWidgetInstance(widget, region, 0);
}
+
+ @Override
+ @Transactional
+ public RegionWidget addWidgetToPageRegion(String pageId, String widgetId, String regionId) {
+ Page page = getFromRepository(pageId, pageRepository);
+ Widget widget = getFromRepository(widgetId, widgetRepository);
+ for(Region region : page.getRegions()){
+ if(region.getId().equals(regionId)){
+ verifyRegionIsNotLocked(region);
+ return createWidgetInstance(widget, region, 0);
+ }
+ }
+ // region not found
+ return null;
+ }
@Override
@Transactional
@@ -302,6 +317,34 @@ public class DefaultPageService implemen
}
@Transactional
+ public Boolean clonePageForUser(String pageId, String userId, String pageName) {
+ Widget widget = null;
+ Page page = getPage(pageId);
+ if(pageName == null || pageName.equals("null")){
+ // try to use the original page name if none supplied
+ pageName = page.getName();
+ }
+ Page clonedPage = addNewUserPage(userService.getUserById(userId), pageName, page.getPageLayout().getCode());
+ // populate all the widgets in cloned page from original
+ for(int i=0; i<page.getRegions().size(); i++){
+ for(int j=0; j<page.getRegions().get(i).getRegionWidgets().size(); j++){
+ String widgetId = page.getRegions().get(i).getRegionWidgets().get(j).getWidgetId();
+ widget = widgetRepository.get(widgetId);
+ addWidgetToPageRegion(clonedPage.getId(), widget.getId(), clonedPage.getRegions().get(i).getId());
+ }
+ }
+ // newly created page - so only one pageUser
+ PageUser pageUser = clonedPage.getMembers().get(0);
+ // update status to pending
+ pageUser.setPageStatus(PageInvitationStatus.PENDING);
+ if(pageRepository.save(clonedPage) != null){
+ return Boolean.TRUE;
+ }else{
+ return Boolean.FALSE;
+ }
+ }
+
+ @Transactional
public Boolean addMemberToPage(String pageId, String userId){
Page page = getPage(pageId);
PageUser pageUser = new PageUserImpl();
@@ -320,7 +363,16 @@ public class DefaultPageService implemen
@Transactional
public Boolean removeMemberFromPage(String pageId, String userId){
+ User user = userService.getAuthenticatedUser();
Page page = this.getPage(pageId);
+ if(page.getOwnerId().equals(user.getId())){
+ // If I am the owner, this page has been cloned
+ // Declining a cloned page means there is no need to strip
+ // out this users pageUser object, instead remove the page itself
+ // which also removes the pageUser object further down the stack
+ pageRepository.delete(page);
+ return true;
+ }
PageUser pageUserToRemove = null;
for(PageUser pageUser : page.getMembers()){
if(pageUser.getUserId().equals(userId)){
Modified: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/renderer/impl/DefaultScriptManager.java Mon Oct 29 03:16:59 2012
@@ -98,7 +98,8 @@ public class DefaultScriptManager implem
@Synchronized(discriminator = "'SM_#map.toString()'", id = "#location")
private static void addMapForLocation(ScriptLocation location, Map<ScriptLocation, Map<String, String>> map) {
if (!map.containsKey(location)) {
- map.put(location, new HashMap<String, String>());
+ // use a LinkedHashMap to preserve the order of the script registrations
+ map.put(location, new LinkedHashMap<String, String>());
}
}
Modified: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java Mon Oct 29 03:16:59 2012
@@ -30,4 +30,5 @@ public final class PortalPreferenceKeys
public static final String INITIAL_WIDGET_STATUS = "initialWidgetStatus";
public static final String EXTERNAL_MARKETPLACE_URL = "externalMarketplaceUrl";
public static final String WIDGET_HEIGHT = "defaultWidgetHeight";
+ public static final String SHOW_STACK_TRACE = "showStackTrace";
}
Modified: rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rest/PageApi.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rest/PageApi.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rest/PageApi.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rest/PageApi.java Mon Oct 29 03:16:59 2012
@@ -21,6 +21,8 @@ package org.apache.rave.portal.web.api.r
import org.apache.rave.portal.model.Page;
import org.apache.rave.portal.model.Region;
import org.apache.rave.portal.model.RegionWidget;
+import org.apache.rave.portal.model.util.omdl.OmdlOutputAdapter;
+import org.apache.rave.portal.service.OmdlService;
import org.apache.rave.portal.service.PageService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,6 +31,7 @@ import org.springframework.http.HttpStat
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
@@ -41,22 +44,32 @@ import javax.servlet.http.HttpServletRes
public class PageApi extends AbstractRestApi {
private Logger logger = LoggerFactory.getLogger(getClass());
private PageService pageService;
+ private OmdlService omdlService;
@Autowired
- public PageApi(PageService pageService) {
+ public PageApi(PageService pageService, OmdlService omdlService) {
this.pageService = pageService;
+ this.omdlService = omdlService;
}
- @RequestMapping(value = "{pageId}", method = RequestMethod.DELETE)
+ @RequestMapping(value = "{pageId}", method = RequestMethod.DELETE)
public void deletePage(@PathVariable String pageId, HttpServletResponse response) {
- logger.debug("DELETE received for /api/rest/page/" + pageId);
- pageService.deletePage(pageId);
+ logger.debug("DELETE received for /api/rest/page/" + pageId);
+ pageService.deletePage(pageId);
// send a 204 back for success since there is no content being returned
response.setStatus(HttpStatus.NO_CONTENT.value());
}
@ResponseBody
+ @RequestMapping(value = "{pageId}/omdl", method = RequestMethod.GET)
+ public OmdlOutputAdapter getOmdl(@PathVariable String pageId, HttpServletRequest request, HttpServletResponse response) {
+ logger.debug("GET received for /api/rest/page/" + pageId + "/omdl");
+ response.setHeader("Content-Disposition", "attachment; filename=\"rave-omdl-page-" + pageId + ".xml\"");
+ return omdlService.exportOmdl(pageId, request.getRequestURL().toString());
+ }
+
+ @ResponseBody
@RequestMapping(value = "{pageId}", method = RequestMethod.GET)
public Page getPage(@PathVariable String pageId, @RequestParam(required=false) boolean export) {
logger.debug("GET received for /api/rest/page/" + pageId);
Modified: rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PageApi.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PageApi.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PageApi.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PageApi.java Mon Oct 29 03:16:59 2012
@@ -18,15 +18,27 @@
*/
package org.apache.rave.portal.web.api.rpc;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import org.apache.rave.portal.model.Page;
import org.apache.rave.portal.model.Region;
import org.apache.rave.portal.model.RegionWidget;
+import org.apache.rave.portal.service.OmdlService;
import org.apache.rave.portal.service.PageService;
import org.apache.rave.portal.web.api.rpc.model.RpcOperation;
import org.apache.rave.portal.web.api.rpc.model.RpcResult;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
+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.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
/**
* Defines RPC operations for a Page or its components
@@ -35,11 +47,14 @@ import org.springframework.web.bind.anno
@RequestMapping(value = "/api/rpc/page/*")
public class PageApi {
+ private Logger logger = LoggerFactory.getLogger(getClass());
private final PageService pageService;
+ private OmdlService omdlService;
@Autowired
- public PageApi(PageService pageService) {
+ public PageApi(PageService pageService, OmdlService omdlService) {
this.pageService = pageService;
+ this.omdlService = omdlService;
}
/**
@@ -69,6 +84,36 @@ public class PageApi {
}
/**
+ * Adds a widget to the given page region
+ *
+ * @param pageId
+ * the ID of the {@link org.apache.rave.portal.model.Page} to add
+ * the widget to
+ * @param widgetId
+ * the ID of the {@link org.apache.rave.portal.model.Widget} to
+ * add do the page
+ * @param regionId
+ * the ID of the {@link org.apache.rave.portal.model.Region} to
+ * add the the widget to
+ * @return a {@link RpcOperation} containing the new widget instance (
+ * {@link org.apache.rave.portal.model.RegionWidget }) or any errors
+ * encountered while performing the RPC operation
+ */
+ @ResponseBody
+ @RequestMapping(method = RequestMethod.POST, value = "{pageId}/widget/add/region/{regionId}")
+ public RpcResult<RegionWidget> addWidgetToPageRegion(
+ @PathVariable final String pageId, @RequestParam final String widgetId, @PathVariable final String regionId) {
+
+ return new RpcOperation<RegionWidget>() {
+ @Override
+ public RegionWidget execute() {
+ return pageService.addWidgetToPageRegion(pageId, widgetId, regionId);
+ }
+ }.getResult();
+ }
+
+
+ /**
* Moves a widget to a new location
* <p/>
* Moves can take place within a region, region to region, or between pages
@@ -218,6 +263,17 @@ public class PageApi {
}
@ResponseBody
+ @RequestMapping(value = "{pageId}/clone", method = RequestMethod.POST)
+ public RpcResult<Boolean> clonePageForUser(@PathVariable final String pageId, @RequestParam final String userId, @RequestParam final String pageName) {
+ return new RpcOperation<Boolean>() {
+ @Override
+ public Boolean execute() {
+ return pageService.clonePageForUser(pageId, userId, pageName);
+ }
+ }.getResult();
+ }
+
+ @ResponseBody
@RequestMapping(value = "{pageId}/addmember", method = RequestMethod.POST)
public RpcResult<Boolean> addMemberToPage(@PathVariable final String pageId, @RequestParam final String userId) {
return new RpcOperation<Boolean>() {
@@ -260,4 +316,18 @@ public class PageApi {
}
}.getResult();
}
+
+ @ResponseBody
+ @RequestMapping(method = RequestMethod.POST, value = "import/omdl")
+ public RpcResult<Page> importPage(HttpServletRequest request, final HttpServletResponse response,
+ @RequestParam final String pageName) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ final MultipartFile multipartFile = multipartRequest.getFile("omdlFile");
+ return new RpcOperation<Page>() {
+ @Override
+ public Page execute() {
+ return omdlService.importOmdl(multipartFile, pageName);
+ }
+ }.getResult();
+ }
}
\ No newline at end of file
Modified: rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java Mon Oct 29 03:16:59 2012
@@ -32,6 +32,7 @@ import org.apache.rave.portal.web.util.V
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
@@ -67,24 +68,17 @@ public class ProfileController {
*/
@RequestMapping(value = {"/{username:.*}"}, method = RequestMethod.GET)
public String viewProfileByUsername(@PathVariable String username, ModelMap model, @RequestParam(required = false) String referringPageId) {
- logger.debug("Viewing person profile for: " + username);
- User user = userService.getUserByUsername(username);
- Page personProfilePage = pageService.getPersonProfilePage(user.getId());
- addAttributesToModel(model, user, referringPageId);
- model.addAttribute(ModelKeys.PAGE, personProfilePage);
- List<Widget> widgets = new ArrayList<Widget>();
- if (personProfilePage.getRegions() != null) {
- for(Region region : personProfilePage.getRegions()) {
- for (RegionWidget regionWidget : region.getRegionWidgets()) {
- widgets.add(widgetService.getWidget(regionWidget.getWidgetId()));
- }
- }
+ User user = null;
+ try{
+ user = userService.getUserByUsername(username);
+ logger.debug("Viewing person profile for: " + user.getUsername());
+ return viewProfileCommon(user, model, referringPageId);
+ }catch(Exception e){
+ addAttributesToModel(model, user, referringPageId);
+ String view = ViewNames.USER_NOT_FOUND;
+ addNavItemsToModel(view, model, referringPageId, user, null);
+ return view;
}
- model.addAttribute(ModelKeys.WIDGETS, widgets);
- String view = ViewNames.getPersonPageView(personProfilePage.getPageLayout().getCode());
- List<Person> friendRequests = userService.getFriendRequestsReceived(username);
- addNavItemsToModel(view, model, referringPageId, user, friendRequests);
- return view;
}
/**
* Views the main page of another user's profile
@@ -96,26 +90,28 @@ public class ProfileController {
*/
@RequestMapping(value = {"/id/{userid:.*}"}, method = RequestMethod.GET)
public String viewProfile(@PathVariable String userid, ModelMap model, @RequestParam(required = false) String referringPageId) {
- User user = userService.getUserById(userid);
- logger.debug("Viewing person profile for: " + user.getUsername());
-
- Page personProfilePage = pageService.getPersonProfilePage(user.getId());
+ User user = null;
+ try{
+ user = userService.getUserById(userid);
+ logger.debug("Viewing person profile for: " + user.getUsername());
+ return viewProfileCommon(user, model, referringPageId);
+ }catch (Exception e){
+ addAttributesToModel(model, user, referringPageId);
+ String view = ViewNames.USER_NOT_FOUND;
+ addNavItemsToModel(view, model, referringPageId, user, null);
+ return view;
+ }
+ }
+
+ private String viewProfileCommon(User user, ModelMap model, String referringPageId){
+ Page personProfilePage = pageService.getPersonProfilePage(user.getId());
addAttributesToModel(model, user, referringPageId);
model.addAttribute(ModelKeys.PAGE, personProfilePage);
- List<Widget> widgets = new ArrayList<Widget>();
- if (personProfilePage.getRegions() != null) {
- for(Region region : personProfilePage.getRegions()) {
- for (RegionWidget regionWidget : region.getRegionWidgets()) {
- widgets.add(widgetService.getWidget(regionWidget.getWidgetId()));
- }
- }
- }
- model.addAttribute(ModelKeys.WIDGETS, widgets);
- String view = ViewNames.getPersonPageView(personProfilePage.getPageLayout().getCode());
+ String view = ViewNames.getPersonPageView(personProfilePage.getPageLayout().getCode());
List<Person> friendRequests = userService.getFriendRequestsReceived(user.getUsername());
addNavItemsToModel(view, model, referringPageId, user, friendRequests);
return view;
- }
+ }
/**
* Updates the user's personal information
@@ -162,12 +158,15 @@ public class ProfileController {
String refPageId = referringPageId != null ? referringPageId : "";
final NavigationMenu topMenu = new NavigationMenu("topnav");
- NavigationItem friendRequestItems = new NavigationItem("page.profile.friend.requests", String.valueOf(friendRequests.size()) , "#");
- for(Person request : friendRequests) {
- NavigationItem childItem = new NavigationItem((request.getDisplayName()!=null && !request.getDisplayName().isEmpty())? request.getDisplayName() : request.getUsername(), request.getUsername(), "#");
- friendRequestItems.addChildNavigationItem(childItem);
+ if(friendRequests != null){
+ NavigationItem friendRequestItems = new NavigationItem("page.profile.friend.requests", String.valueOf(friendRequests.size()) , "#");
+ for(Person request : friendRequests) {
+ NavigationItem childItem = new NavigationItem((request.getDisplayName()!=null && !request.getDisplayName().isEmpty())? request.getDisplayName() : request.getUsername(), request.getUsername(), "#");
+ friendRequestItems.addChildNavigationItem(childItem);
+ }
+
+ topMenu.addNavigationItem(friendRequestItems);
}
- topMenu.addNavigationItem(friendRequestItems);
topMenu.getNavigationItems().addAll((ControllerUtils.getTopMenu(view, refPageId, user, false).getNavigationItems()));
model.addAttribute(topMenu.getName(), topMenu);
Modified: rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java Mon Oct 29 03:16:59 2012
@@ -96,7 +96,7 @@ public class ControllerUtils {
NavigationItem logout = getLogoutItem();
menu.addNavigationItem(logout);
- } else if (view.startsWith(ViewNames.PERSON_PROFILE)) {
+ } else if (view.startsWith(ViewNames.PERSON_PROFILE) || view.startsWith(ViewNames.USER_NOT_FOUND)) {
NavigationItem back = getBackItem(referringPageId);
menu.addNavigationItem(back);
@@ -105,7 +105,8 @@ public class ControllerUtils {
NavigationItem logout = getLogoutItem();
menu.addNavigationItem(logout);
- } else if (view.startsWith(ViewNames.ADD_WIDGET_FORM) || view.startsWith(ViewNames.WIDGET)) {
+ }
+ else if (view.startsWith(ViewNames.ADD_WIDGET_FORM) || view.startsWith(ViewNames.WIDGET)) {
if(view.equals(ViewNames.WIDGET_MARKETPLACE)){
NavigationItem addWidget = new NavigationItem("page.widget.backToMarketplace", null, "/app/marketplace?referringPageId=" + referringPageId);
menu.addNavigationItem(addWidget);
Modified: rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java Mon Oct 29 03:16:59 2012
@@ -36,7 +36,8 @@ public class PortalPreferenceForm {
public static final String DEFAULT_JAVASCRIPT_DEBUG_MODE = "1";
public static final String DEFAULT_WIDGET_HEIGHT = "250";
public static final String DEFAULT_INITIAL_WIDGET_STATUS = "PREVIEW";
- public static final String DEFAULT_EXTERNAL_MARKETPLACE_URL = "";
+ public static final String DEFAULT_EXTERNAL_MARKETPLACE_URL = "";
+ public static final String DEFAULT_SHOW_STACK_TRACE ="0";
private Map<String, PortalPreference> preferenceMap;
@@ -66,6 +67,9 @@ public class PortalPreferenceForm {
if(getDefaultWidgetHeight() == null){
preferenceMap.put(WIDGET_HEIGHT, new PortalPreferenceImpl(WIDGET_HEIGHT, DEFAULT_WIDGET_HEIGHT));
}
+ if(getShowStackTrace() == null){
+ preferenceMap.put(SHOW_STACK_TRACE, new PortalPreferenceImpl(SHOW_STACK_TRACE, DEFAULT_SHOW_STACK_TRACE));
+ }
}
public PortalPreference getExternalMarketplaceUrl() {
@@ -96,6 +100,14 @@ public class PortalPreferenceForm {
preferenceMap.put(WIDGET_HEIGHT, widgetHeight);
}
+ public PortalPreference getShowStackTrace(){
+ return preferenceMap.get(SHOW_STACK_TRACE);
+ }
+
+ public void setShowStackTrace(PortalPreference showStackTrace){
+ preferenceMap.put(SHOW_STACK_TRACE, showStackTrace);
+ }
+
public PortalPreference getTitleSuffix() {
return preferenceMap.get(TITLE_SUFFIX);
}
Modified: rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ViewNames.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ViewNames.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ViewNames.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ViewNames.java Mon Oct 29 03:16:59 2012
@@ -38,6 +38,7 @@ public final class ViewNames {
public static final String NEW_ACCOUNT = USER_PREFIX + "newaccount";
public static final String USER_PROFILE = USER_PREFIX + "userProfile";
public static final String PERSON_PROFILE = USER_PREFIX + "personProfile";
+ public static final String USER_NOT_FOUND = USER_PREFIX + "usernotfound";
public static final String ADD_WIDGET_MARKETPLACE = ADD_WIDGET_FORM + ".marketplace";
public static final String ADD_WIDGET_W3C = ADD_WIDGET_FORM + ".w3c";
@@ -79,4 +80,4 @@ public final class ViewNames {
public static String getPersonPageView(String layoutName) {
return new StringBuilder(PERSON_PROFILE).append('.').append(layoutName).toString();
}
-}
\ No newline at end of file
+}
Modified: rave/branches/model-split/rave-components/rave-web/src/main/resources/META-INF/rave.tld
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/main/resources/META-INF/rave.tld?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/main/resources/META-INF/rave.tld (original)
+++ rave/branches/model-split/rave-components/rave-web/src/main/resources/META-INF/rave.tld Mon Oct 29 03:16:59 2012
@@ -125,4 +125,10 @@
<tag-class>org.apache.rave.portal.web.tag.JavaScriptDebugModeTag</tag-class>
<body-content>JSP</body-content>
</tag>
+ <tag>
+ <description>Renders the value of the ShowStackTrace portal preference</description>
+ <name>render-show-stack-trace</name>
+ <tag-class>org.apache.rave.portal.web.tag.ShowStackTraceTag</tag-class>
+ <body-content>JSP</body-content>
+ </tag>
</taglib>
Modified: rave/branches/model-split/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml (original)
+++ rave/branches/model-split/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml Mon Oct 29 03:16:59 2012
@@ -33,5 +33,12 @@
-->
<context:component-scan base-package="org.apache.rave.portal.web.renderer"/>
<context:component-scan base-package="org.apache.rave.portal.web.validator"/>
-
+
+ <!-- Configure the multipart resolver -->
+ <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
+ <!-- one of the properties available; the maximum file size in bytes -->
+ <property name="maxUploadSize" value="100000"/>
+ </bean>
+ <bean id="fileUploadController" class="org.apache.rave.portal.web.api.rpc.PageApi">
+ </bean>
</beans>
\ No newline at end of file
Modified: rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rest/PageApiTest.java Mon Oct 29 03:16:59 2012
@@ -22,6 +22,7 @@ import org.apache.rave.portal.model.impl
import org.apache.rave.portal.model.*;
import org.springframework.http.HttpStatus;
import org.springframework.mock.web.MockHttpServletResponse;
+import org.apache.rave.portal.service.OmdlService;
import org.apache.rave.portal.service.PageService;
import org.junit.Before;
import org.junit.Test;
@@ -39,6 +40,7 @@ import static org.hamcrest.CoreMatchers.
public class PageApiTest {
private PageApi pageApi;
private PageService pageService;
+ private OmdlService omdlService;
private MockHttpServletResponse response;
private final String PAGE_ID = "1";
@@ -47,7 +49,8 @@ public class PageApiTest {
public void setUp() {
response = new MockHttpServletResponse();
pageService = createMock(PageService.class);
- pageApi = new PageApi(pageService);
+ omdlService = createMock(OmdlService.class);
+ pageApi = new PageApi(pageService, omdlService);
}
@Test
Modified: rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/api/rpc/PageApiTest.java Mon Oct 29 03:16:59 2012
@@ -23,6 +23,7 @@ import org.apache.rave.portal.model.Page
import org.apache.rave.portal.model.Region;
import org.apache.rave.portal.model.RegionWidget;
import org.apache.rave.portal.model.impl.*;
+import org.apache.rave.portal.service.OmdlService;
import org.apache.rave.portal.service.PageService;
import org.apache.rave.portal.web.api.rpc.model.RpcResult;
import org.junit.Before;
@@ -39,6 +40,7 @@ public class PageApiTest {
private final String INTERNAL_ERROR_MESSAGE = "Internal Error";
private PageApi pageApi;
private PageService pageService;
+ private OmdlService omdlService;
private final String REGION_WIDGET_ID = "35";
private final int NEW_POSITION = 3;
private final String PAGE_ID = "20";
@@ -50,7 +52,8 @@ public class PageApiTest {
@Before
public void setup() {
pageService = createMock(PageService.class);
- pageApi = new PageApi(pageService);
+ omdlService = createMock(OmdlService.class);
+ pageApi = new PageApi(pageService, omdlService);
page = new PageImpl(PAGE_ID);
page2 = new PageImpl(PAGE_2_ID);
Modified: rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java Mon Oct 29 03:16:59 2012
@@ -98,7 +98,7 @@ public class ProfileControllerTest {
//creating a mock user
final UserImpl user = new UserImpl();
final ModelMap model = new ModelMap();
- final int modelSize = 5;
+ final int modelSize = 4;
final String username="canonical";
user.setUsername(username);
user.setId(USER_ID);
@@ -139,7 +139,7 @@ public class ProfileControllerTest {
//creating a mock user
final UserImpl user = new UserImpl();
final ModelMap model = new ModelMap();
- final int modelSize = 5;
+ final int modelSize = 4;
final String username="canonical";
user.setUsername(username);
user.setId(USER_ID);
@@ -175,7 +175,7 @@ public class ProfileControllerTest {
verify(userService, pageService);
}
- @Test(expected = UsernameNotFoundException.class)
+ @Test
public void viewPersonProfile_invalidUser() {
//creating a mock user
final User user = null;
@@ -191,7 +191,8 @@ public class ProfileControllerTest {
replay(userService, pageService);
- profileController.viewProfileByUsername(username, model, null);
+ String view = profileController.viewProfileByUsername(username, model, null);
+ assertThat(view, is(ViewNames.USER_NOT_FOUND));
verify(userService, pageService);
}
Modified: rave/branches/model-split/rave-integration-tests/rave-default-account-tests/src/main/stories/openidLogin.story
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-integration-tests/rave-default-account-tests/src/main/stories/openidLogin.story?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-integration-tests/rave-default-account-tests/src/main/stories/openidLogin.story (original)
+++ rave/branches/model-split/rave-integration-tests/rave-default-account-tests/src/main/stories/openidLogin.story Mon Oct 29 03:16:59 2012
@@ -30,6 +30,6 @@ Then I see the login page
When I provide my OpenID identity "http://rave2011.myopenid.com/"
Then I see the OpenID authentication page
When I provide my OpenID password "rave2011"
-Then I see the message "Hello http://rave2011.myopenid.com/, welcome to Rave!" for the user "http://rave2011.myopenid.com/"
+Then I see the message "Hello rave2011.myopenid.com, welcome to Rave!" for the user "rave2011.myopenid.com"
When I log out
Then I see the Rave login page
Modified: rave/branches/model-split/rave-portal-resources/src/main/resources/messages.properties
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/resources/messages.properties?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/resources/messages.properties (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/resources/messages.properties Mon Oct 29 03:16:59 2012
@@ -50,6 +50,8 @@ page.error.details=technical details
page.general.back=Back to Rave
page.general.browse=Browse
page.general.addnewpage=Add a New Page
+page.general.importnewpage=Import Page
+page.general.exportpage=Export Page
page.general.close=Close
page.general.confirmpassword=Confirm password:
page.general.deletepage=Delete Page
@@ -213,6 +215,7 @@ page.profile.save=Save
page.profile.cancel=Cancel
page.personProfile.title={0}''s Profile
+page.personProfile.userNotFound.title=Person Not Found
page.personProfile.personal.info=Personal Information
page.personProfile.first.name=First Name:
page.personProfile.last.name=Last Name:
@@ -235,6 +238,7 @@ page.personProfile.edit=Edit
page.personProfile.edit.option=Edit your profile here
page.personProfile.save=Save
page.personProfile.cancel=Cancel
+page.personProfile.userNotFound=The user's page you were looking for could not be found.
admin.home.title=Rave admin interface
admin.home.shorttitle=Home
@@ -283,10 +287,13 @@ admin.preferencedetail.externalMarketpla
admin.preferencedetail.titleSuffix=Page title suffix
admin.preferencedetail.pageSize=Number of items per page (list)
admin.preferencedetail.defaultWidgetHeight=Default widget height
+admin.preferencedetail.showStackTrace=Show stack trace on error pages
admin.preferencedetail.pageSize.malformed=Enter a whole number greater than 0
admin.preferencedetail.javaScriptDebugMode=JavaScript Debug Mode
admin.preferencedetail.javaScriptDebugMode.true=Enabled
admin.preferencedetail.javaScriptDebugMode.false=Disabled
+admin.preferencedetail.showStackTrace.true=Enabled
+admin.preferencedetail.showStackTrace.false=Disabled
admin.preferencedetail.updateButton=Update preferences
admin.preferencedetail.action.update.success=Preferences have been updated
admin.preferencedetail.goback=\u00ab Back to overview
@@ -347,6 +354,8 @@ widget.chrome.toggle=Collapse/Restore Wi
widget.chrome.disabled=This widget is currently disabled
widget.menu.about=About this Widget
+widget.menu.comment=Comment on this Widget
+widget.menu.rate=Rate this Widget
widget.menu.delete=Delete Widget
widget.menu.editprefs=Edit Preferences
widget.menu.maximize=Maximize
@@ -357,6 +366,7 @@ widget.menu.title=Widget Actions
sharing.page.confirm.message={0} has shared this page with you. Do you wish to accept and add this page to your collection?
sharing.page.tab.icon.tip.from=This page has been shared with you by {0}
sharing.page.tab.icon.tip.to=You have shared this page with other users
+cloned.page.confirm.message=Another user has made a copy of his/her page and shared it with you. Do you wish to accept and add this page to your collection?
#######################################################################################################################
# messages available to the client javascript via the MessageBundleController must start with "_rave_client."
@@ -413,4 +423,9 @@ _rave_client.failed.add.from.marketplace
_rave_client.success.add.from.marketplace=Widget was successfully added to the Rave Widget store
_rave_client.person.profile.friend.requests.none=No Friend Requests
_rave_client.person.profile.friend.requests=Friend Requests
+_rave_client.import.page.not.supported=Your browser does not support this operation
+_rave_client.confirm.clone.page=Are you sure you wish to create a copy of this page and share it with this user?
+_rave_client.success.clone.page=Cloned page was added to the users collection
+_rave_client.page.clone.dialog.title=Clone
+_rave_client.page.clone.dialog.detail=New
page.general.status=Relationship Status\:
Modified: rave/branches/model-split/rave-portal-resources/src/main/resources/messages_es.properties
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/resources/messages_es.properties?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/resources/messages_es.properties (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/resources/messages_es.properties Mon Oct 29 03:16:59 2012
@@ -52,6 +52,8 @@ page.error.details=Detalles t\u00E9cnico
page.general.back=Volver a Rave
page.general.browse=Navegue
page.general.addnewpage=Agregue una nueva pagina
+page.general.importnewpage=Pagina de importacion
+page.general.exportpage=Pagina de exportacion
page.general.close=Cerrar
page.general.confirmpassword=Confirme su contrase\u00F1a
page.general.deletepage=Eliminar pagina
@@ -219,6 +221,7 @@ page.profile.save=Guardar
page.profile.cancel=Cancelar
page.personProfile.title=Perfil de {0}
+page.personProfile.userNotFound.title=Persona no encontrada
page.personProfile.personal.info=Informacion Personal
page.personProfile.first.name=Nombre(s)\:
page.personProfile.last.name=Apellido(s)\:
@@ -241,6 +244,7 @@ page.personProfile.edit=Editar
page.personProfile.edit.option=Edite su perfil
page.personProfile.save=Guardar
page.personProfile.cancel=Cancelar
+page.personProfile.userNotFound=Página del usuario que estaba buscando no se pudo encontrar.
admin.home.title=Interfaz de administraci\u00F3n Rave
admin.home.shorttitle=Inicio
@@ -284,11 +288,14 @@ admin.preferences.edit=Editar preferenci
admin.preferencedetail.title=Interfaz de administraci\u00F3n Rave - Preferencias
admin.preferencedetail.titleSuffix=Sufijo del titulo de la pagina
admin.preferencedetail.defaultWidgetHeight=Altura predeterminada Widget
+admin.preferencedetail.showStackTrace=Mostrar seguimiento de pila en las páginas de error
admin.preferencedetail.pageSize=Numero de items por pagina (lista)
admin.preferencedetail.pageSize.malformed=Entre un numero valido superior a 0
admin.preferencedetail.javaScriptDebugMode=Modo de Debug de JavaScript
admin.preferencedetail.javaScriptDebugMode.true=Habilitado
admin.preferencedetail.javaScriptDebugMode.false=Deshabilitado
+admin.preferencedetail.showStackTrace.true=Habilitado
+admin.preferencedetail.showStackTrace.false=Deshabilitado
admin.preferencedetail.updateButton=Actualizar preferencias
admin.preferencedetail.action.update.success=Las preferencias han sido actualizadas
admin.preferencedetail.goback=u00AB Volver a la vista general
@@ -362,6 +369,7 @@ widget.menu.title=Acciones de Widget
sharing.page.tab.icon.tip.from=Esta pagina ha sido compartida con usted por {0}.
sharing.page.tab.icon.tip.to=Usted ha compartido esta pagina con otros usuarios
+cloned.page.confirm.message=Otro usuario ha realizado una copia de su su / page y lo compartio con usted. Desea aceptar y anadir esta pagina a su coleccion?
#######################################################################################################################
# todo lo relacionado con javascript mediante el MessageBundleController debe comenzar con "_rave_client."
@@ -422,4 +430,9 @@ _rave_client.common.friend.status=Amista
_rave_client.common.cancel.request=Cancelar solicitud
_rave_client.person.profile.friend.requests=Solicitudes de Amistad
_rave_client.person.profile.friend.requests.none=No hay solicitudes de amistad
+_rave_client.import.page.not.supported=Su navegador no soporta esta operacion
+_rave_client.confirm.clone.page=Esta seguro que desea crear una copia de esta pagina y compartala con este usuario?
+_rave_client.success.clone.page=Pagina clonado fue anadido a la coleccion de usuarios
+_rave_client.page.clone.dialog.title=Clonar
+_rave_client.page.clone.dialog.detail=nuevo
page.profile.friend.requests=Solicitudes de Amistad
Modified: rave/branches/model-split/rave-portal-resources/src/main/resources/messages_nl.properties
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/resources/messages_nl.properties?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/resources/messages_nl.properties (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/resources/messages_nl.properties Mon Oct 29 03:16:59 2012
@@ -54,6 +54,8 @@ page.error.details=Technische details
page.general.back=Terug naar Rave
page.general.browse=Blader
page.general.addnewpage=Voeg een nieuwe pagina toe
+page.general.importnewpage=Pagina importeren
+page.general.exportpage=Pagina exporteren
page.general.close=Dichtdoen
page.general.confirmpassword=Bevestig wachtwoord:
page.general.deletepage=Verwijder pagina
@@ -222,6 +224,7 @@ page.profile.save=Bewaar
page.profile.cancel=Annuleer
page.personProfile.title=Profiel van {0}
+page.personProfile.userNotFound.title=Persoon niet gevonden
page.personProfile.personal.info=Persoonsgegevens
page.personProfile.first.name=Voornaam:
page.personProfile.last.name=Achternaam:
@@ -244,6 +247,7 @@ page.personProfile.edit=Bewerk
page.personProfile.edit.option=Bewerk uw profiel hier
page.personProfile.save=Bewaar
page.personProfile.cancel=Annuleer
+page.personProfile.userNotFound=De gebruiker pagina die u zocht kon niet worden gevonden.
admin.home.title=Rave admin interface
admin.home.shorttitle=Home
@@ -289,9 +293,12 @@ admin.preferencedetail.titleSuffix=Toevo
admin.preferencedetail.pageSize=Aantal items per pagina (lijst)
admin.preferencedetail.pageSize.malformed=Voer een geheel getal in groter dan 0
admin.preferencedetail.defaultWidgetHeight=Standaard widget hoogte
+admin.preferencedetail.showStackTrace=Toon stack trace op foutpagina's
admin.preferencedetail.javaScriptDebugMode=JavaScript Debug Mode
admin.preferencedetail.javaScriptDebugMode.true=Ingeschakeld
admin.preferencedetail.javaScriptDebugMode.false=Uitgeschakeld
+admin.preferencedetail.showStackTrace.true=Ingeschakeld
+admin.preferencedetail.showStackTrace.false=Uitgeschakeld
admin.preferencedetail.updateButton=Wijzig voorkeuren
admin.preferencedetail.action.update.success=De voorkeuren zijn bijgewerkt
admin.preferencedetail.goback=\u00AB Terug naar overzicht
@@ -362,6 +369,7 @@ widget.menu.title=Widget acties
sharing.page.confirm.message={0} heeft een pagina met jou gedeeld. Wil je deze gedeelde pagina accepteren en toevoegen?
sharing.page.tab.icon.tip.from=Deze pagina is met jou gedeeld door {0}.
sharing.page.tab.icon.tip.to=U hebt deze pagina met andere gebruikers gedeeld
+cloned.page.confirm.message=Een andere gebruiker heeft een kopie van zijn / haar pagina en gedeeld met je. Wilt u accepteren en deze pagina toe te voegen aan uw collectie?
#######################################################################################################################
# boodschappen ter beschikking van de opdrachtgever javascript via de MessageBundleController moet beginnen met "_rave_client."
@@ -426,3 +434,8 @@ _rave_client.failed.add.from.marketplace
_rave_client.success.add.from.marketplace=Widget is toegevoegd aan de Rave Widgetwinkel
_rave_client.person.profile.friend.requests=Vriendschapsverzoeken
_rave_client.person.profile.friend.requests.none=Geen vriendschapsverzoeken
+_rave_client.import.page.not.supported=Uw browser biedt geen ondersteuning voor deze bewerking
+_rave_client.confirm.clone.page=Weet u zeker dat u een kopie van deze pagina te maken en te delen met deze gebruiker?
+_rave_client.success.clone.page=Gekloonde pagina werd toegevoegd aan de gebruikers verzamelen
+_rave_client.page.clone.dialog.title=nieuw
+_rave_client.page.clone.dialog.detail=kloon
Modified: rave/branches/model-split/rave-portal-resources/src/main/resources/portal.properties
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/resources/portal.properties?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/resources/portal.properties (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/resources/portal.properties Mon Oct 29 03:16:59 2012
@@ -85,4 +85,6 @@ portal.user.account.needapproval=false
portal.user.account.admin.email=
portal.user.account.admin.subject=Rave User Approval
portal.user.account.admin.template=admin_approval.ftl
-portal.mail.service.loginpage=http://localhost:8080/portal/
\ No newline at end of file
+portal.mail.service.loginpage=http://localhost:8080/portal/
+# Enable/disable omdl import and export in UI
+portal.export.ui.enable=false
\ No newline at end of file
Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql Mon Oct 29 03:16:59 2012
@@ -1123,6 +1123,13 @@ values (@next_portal_preference_id, 'def
INSERT INTO portal_preference_values
values (@next_portal_preference_id, '250');
UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @portal_preference_seq;
+
+set @next_portal_preference_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @portal_preference_seq);
+INSERT INTO portal_preference (entity_id, preference_key)
+values (@next_portal_preference_id, 'showStackTrace');
+INSERT INTO portal_preference_values
+values (@next_portal_preference_id, '0');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @portal_preference_seq;
-- end portal preferences
-- category
Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp Mon Oct 29 03:16:59 2012
@@ -49,29 +49,29 @@
</div>
<form:hidden path="type" value="OpenSocial"/>
-
- <a href="#" class="btn btn-primary"
- id="fetchMetadataButton"
- onclick="rave.api.rpc.getWidgetMetadata({
- url: $('#url').get(0).value,
- providerType: 'OpenSocial',
- successCallback: function(result) {
- var widget = result.result;
- $('#title').val(widget.title);
- $('#description').val(widget.description);
- $('#thumbnailUrl').val(widget.thumbnailUrl);
- $('#screenshotUrl').val(widget.screenshotUrl);
- $('#titleUrl').val(widget.titleUrl);
- $('#author').val(widget.author);
- $('#authorEmail').val(widget.authorEmail);
- $('#addWidgetForm').show();
- $('#addWidgetFormSubmit').show();
- }
- });">
- <fmt:message key="page.getWidgetMetadata.button"/>
- </a>
-
- <div class="row clearfix" id="addWidgetForm">
+ <div class="control-group">
+ <a href="#" class="btn btn-primary"
+ id="fetchMetadataButton"
+ onclick="rave.api.rpc.getWidgetMetadata({
+ url: $('#url').get(0).value,
+ providerType: 'OpenSocial',
+ successCallback: function(result) {
+ var widget = result.result;
+ $('#title').val(widget.title);
+ $('#description').val(widget.description);
+ $('#thumbnailUrl').val(widget.thumbnailUrl);
+ $('#screenshotUrl').val(widget.screenshotUrl);
+ $('#titleUrl').val(widget.titleUrl);
+ $('#author').val(widget.author);
+ $('#authorEmail').val(widget.authorEmail);
+ $('#addWidgetForm').show();
+ $('#addWidgetFormSubmit').show();
+ }
+ });">
+ <fmt:message key="page.getWidgetMetadata.button"/>
+ </a>
+ </div>
+ <div class="clearfix" id="addWidgetForm">
<div class="control-group">
<form:label cssClass="control-label" path="title"> <fmt:message key="widget.title"/> *</form:label>
Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.w3c.jsp
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.w3c.jsp?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.w3c.jsp (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.w3c.jsp Mon Oct 29 03:16:59 2012
@@ -34,8 +34,11 @@
</div>
<div class="row-fluid">
- <a class="btn btn-primary" id="w3cBrowseLink" href="#"><fmt:message key="page.general.browse"/></a>
-
+ <div class="control-group">
+ <fieldset>
+ <a class="btn btn-primary" id="w3cBrowseLink" href="#"><fmt:message key="page.general.browse"/></a>
+ </fieldset>
+ </div>
<form:errors path="widget" cssClass="error" element="p"/>
<form:form cssClass="form-horizontal" id="newWidgetForm" action="w3c?referringPageId=${referringPageId}" commandName="widget" method="POST">
<fieldset>
Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp Mon Oct 29 03:16:59 2012
@@ -88,6 +88,20 @@
<form:errors path="javaScriptDebugMode.value" cssClass="error"/>
</spring:bind>
</div>
+ <div class="control-group">
+ <spring:bind path="showStackTrace.value">
+ <form:label path="showStackTrace.value" class="control-label">
+ <fmt:message key="admin.preferencedetail.showStackTrace"/> *
+ </form:label>
+ <div class="controls">
+ <form:select id="showStackTrace" path="showStackTrace.value">
+ <form:option value="0"><fmt:message key="admin.preferencedetail.showStackTrace.false"/></form:option>
+ <form:option value="1"><fmt:message key="admin.preferencedetail.showStackTrace.true"/></form:option>
+ </form:select>
+ </div>
+ <form:errors path="showStackTrace.value" cssClass="error"/>
+ </spring:bind>
+ </div>
<div class="control-group">
<spring:bind path="initialWidgetStatus.value">
<form:label path="initialWidgetStatus.value" class="control-label">
Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/error.jsp
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/error.jsp?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/error.jsp (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/error.jsp Mon Oct 29 03:16:59 2012
@@ -19,23 +19,24 @@
<%@ page isErrorPage="true" language="java" trimDirectiveWhitespaces="true" %>
<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
<fmt:setBundle basename="messages"/>
+<c:set var="showStackTrace"><portal:render-show-stack-trace /></c:set>
<%-- Note: This page has the body definition embedded so we can reference it from the web.xml file
and use it as the default error page for the entire application. --%>
<tiles:insertDefinition name="templates.base">
<tiles:putAttribute name="pageTitleKey" value="page.error.title"/>
<tiles:putAttribute name="body">
- <header>
- <h1>
- <fmt:message key="page.error.title" />
- </h1>
- </header>
- <div id="content" >
- <div id="errorMessage">
- <div class="errorMessage">
- <fmt:message key="page.error.message" />
- <a href="javascript: window.location.reload();"><fmt:message key="page.error.reload" /></a>.<br/>
- <a onclick="document.getElementById('errorStack').style.display = 'block';"><fmt:message key="page.error.details" /></a>
- </div>
+ <c:if test="${showStackTrace == 1}">
+ <rave:navbar/>
+ <header>
+ <h1>
+ <fmt:message key="page.error.title" />
+ </h1>
+ </header>
+ <div id="content" class="container-fluid navbar-spacer">
+ <div id="errorMessage" class="errorMessage">
+ <h2><fmt:message key="page.error.message" />
+ <a href="javascript: window.location.reload();"><fmt:message key="page.error.reload" /></a>.</h2><br/>
+ <a onclick="document.getElementById('errorStack').style.display = 'block';"><fmt:message key="page.error.details" /></a>
</div>
<div id="errorStack" title="Error Details" >
<pre class="errorTrace">
@@ -50,5 +51,20 @@ and use it as the default error page for
</button>
</div>
</div>
+ </c:if>
+ <c:if test="${showStackTrace == 0}">
+ <rave:navbar/>
+ <header>
+ <h1>
+ <fmt:message key="page.error.title" />
+ </h1>
+ </header>
+ <div id="content" class="container-fluid navbar-spacer">
+ <div id="errorMessage" class="errorMessage">
+ <h2><fmt:message key="page.error.message" />
+ <a href="javascript: window.location.reload();"><fmt:message key="page.error.reload" /></a>.</h2><br/>
+ </div>
+ </div>
+ </c:if>
</tiles:putAttribute>
</tiles:insertDefinition>
\ No newline at end of file
Modified: rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/mobile_home.jsp
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/mobile_home.jsp?rev=1403150&r1=1403149&r2=1403150&view=diff
==============================================================================
--- rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/mobile_home.jsp (original)
+++ rave/branches/model-split/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/mobile_home.jsp Mon Oct 29 03:16:59 2012
@@ -68,7 +68,7 @@
<c:forEach var="regionWidget" items="${region.regionWidgets}">
<div class="widget-wrapper widget-wrapper-mobile" id="widget-${regionWidget.id}-wrapper">
<div class="widget-title-bar widget-title-bar-mobile" onclick="rave.toggleMobileWidget(${regionWidget.id});">
- <span id="widget-${regionWidget.id}-collapse" class="widget-toolbar-toggle-collapse" title="<fmt:message key="widget.chrome.toggle"/>"></span>
+ <span id="widget-${regionWidget.id}-collapse" class="widget-toolbar-toggle-collapse" title="<fmt:message key="widget.chrome.toggle"/>"><i class="icon-chevron-down"></i></span>
<div id="widget-${regionWidget.id}-title" class="widget-title">
<c:out value="${regionWidget.widget.title}"/>
</div>