Merged V4.1-BUG-FIX to HEAD

41597: ALF-1907: Check out rule is active for spaces
    - Merged in fix from DEV
    - Changed List of applicable types to a Set
    - Added quick initial checks against the set before doing the subtype checks
    - Various typo fixes
   41598: Add an additional line of INFO to log the database details
   41599: Fix for ALF-8374 - Simple view: incorrect file type icon for *.page and *.eps files
   41600: Merge DEV to V4.1-BUG-FIX
      41478 : ALF-14078: CLONE - Saving files with apps on Mac OS X Lion in CIFS doesn't invoke rules
   41605: Fix for ALF-14653 - Share - Page link created wrongly in wiki. Solution to split wiki page name and title from Alex Bykov.
   41608: CIFS cluster saving of text file fails. ALF-14179
   The client releases the oplock by closing the file, if a remote oplock break was used then a notification to
   the remote node was missing in this case.
   41616: ALF-13577:modified the delete site REST API to set the status code to 409 if a node is locked.
   41624: MT: ALF-14331 - UserUsageTrackingComponent fails if disabled (in MT config)
   - defensive fix (exact steps do not repeat) - may also fix ALF-15956
   41652: more debug
   41653: Fix for ALF-15965 - IE9 - Script error occurs when manage aspect for a document
   41655: Merged BRANCHES/V4.1 to BRANCHES/DEV/V4.1-BUG-FIX (RECORD ONLY)
      41654: Fix for ALF-15965 - hand merged back from rev 41653
   41658: ALF-14967: Task operations through task-forms now audited
   41664: Reverse-merging change 41616 out of the product due to file formatting irregularities.
   This checkin was a fix for ALF-13577. A subsequent check-in will add the same fix but without the formatting problems.
   41665: ALF-11452: Disabling JBPM now prevents jobexecutor thread from starting and consuming unneeded resources
   41671: Reimplementation of fix for ALF-13577. Slight edit on previous fix.
   It now lets the NodeLockedException out of the Java layer and 'catches' this exception in the JavaScript layer. The API returns a 409 (conflict) if a NodeLockedException makes it to the JavaScript - the previous fix was returning 409 for *any* AlfrescoRuntimeException thrown during a site delete.
   Also this checkin preserves the whitespace/file layout of the preceding version.
   41688: ALF-15867 WikiServiceImplTest failing on SQL Server
      - Switched WikiService_transaction bean over to using RetryingTransactionInterceptor
   41720: ALF-15967: Using START_USER_ID_ instead of "initiator" property to query process instances started by user X to prevent extra joins
   41730: Fix for ALF-15995 NodeRef is missing in log on "Problem converting to Freemarker" error
   41743: ALF-9779	REGRESSION: FTP - Failed to retrieve directory listing for tenant user
   41745: Removed a HomeShareMapper - there were two
   41747: Fix for ALF-15811 SOLR query increases DocBitSet inefficiently
   Part of ALF-14861 SOLR to scale for non-admin users in 100k sites and a subgroup of each of 1000 independent groupings with 1000 subgroups
   41748: Fix for ALF-15950 Solr: throws NPE: org.alfresco.solr.SolrLuceneAnalyser.loadAnalyzer
   - return default analyzer
   41752: Fix for ALF-13634 Re-created category won't show up again on a node in Document Library.
   41779: ALF-11283 - Got the home share mapper up and working after some refactoring.
   41795: Fix for ALF-14361 CMIS object type definition for Document and Folder not spec compliant
   41796: ALF-16008: missing column on clean Alfresco and after upgrade from 3.4.10 (703)
     - Schema-Reference for DB2 referenced a non-existent column.
   41802: Fixed ALF-16029: TransactionCleanupTest throws constraint violations 
    - Fallout from ALF-12358; sys:deleted node types have a mandatory property
    - Before bulk-deleting nodes, we need to delete properties
    - Use overriding DAo for MySQL.  Other DBs can use standard delete with joins
    - NB: Fixed TransactionalCleanupTest to double-check the purge job
   41822: Refactor to both Share Mappers.
   41838: BDE-85: Deploy alfresco-mmt with a proper pom.xml containing dependencies
     Also, refactor Maven deployment to use a macro
   41858: ALF-14444 - CloudSync: Ensure unknown properties when synced to Cloud are ignored properly
   41876: Fix ALF-16067 - Items with cm:versionable aspect [custom aspect added] throw errors in Share UI
   41877: Updated Spring Surf libs (1148) - downgrades module deployment error messages
   41878: ALF-16069 - RU: 'Web Deployed' folder is not localized if Alfresco is installed with Russian locale.
   41879: Fix non-continuous build, trying to call continuous-init from maven-env-prerequisites
   41918: Merged PATCHES/V4.1.1 to V4.1-BUG-FIX
      41657: ALF-15965 - IE9 - Script error occurs when manage aspect for a document (correct 4.1.1 branch this time)
      41834: Merged DEV to V4.1.1 (4.1.1)
         41827: ALF-15983: SPP: Meeting space: all-day event is displayed on the day before specified during creation
         Removing of time zone has been modified to be sensitive to Outlook meeting events which are not requiring special conversion for the start and end dates
      41835: Merged DEV to V4.1.1 (4.1.1)
         41833: ALF-16038 : DB2: Upgrade script needed to remove ALFUSER.ACT_HI_ACTINST.OWNER_
         The patch was created to remove an unnecessary column in DB2.
      41845: Reverse merge: << In attempt to clear 12 new DB2 build errors - don't think it is going to work >> 
         41835: Merged DEV to V4.1.1 (4.1.1)
            41833: ALF-16038 : DB2: Upgrade script needed to remove ALFUSER.ACT_HI_ACTINST.OWNER_
            The patch was created to remove an unnecessary column in DB2.
      Merged V4.1-BUG-FIX (4.1.2) to V4.1.1 (4.1.1)
         41337: Merged V3.4-BUG-FIX (3.4.11) to V4.1-BUG-FIX (4.1.2)
            41336: TransformerDebug: Use debug rather than trace when there are transformers but they are all unavailable.
      41868: Reverse the reverse merge (back to r41835 state used in build #33 given to QA)
         41845: Reverse merge: << In attempt to clear 12 new DB2 build errors - don't think it is going to work >> 
            41835: Merged DEV to V4.1.1 (4.1.1)
               41833: ALF-16038 : DB2: Upgrade script needed to remove ALFUSER.ACT_HI_ACTINST.OWNER_
               The patch was created to remove an unnecessary column in DB2.
         Merged V4.1-BUG-FIX (4.1.2) to V4.1.1 (4.1.1)
            41337: Merged V3.4-BUG-FIX (3.4.11) to V4.1-BUG-FIX (4.1.2)
               41336: TransformerDebug: Use debug rather than trace when there are transformers but they are all unavailable.
      41914: Merged DEV to PATCHES/V4.1.1
         41909: ALF-16078 : DB2: it's impossible to upgrade Alfresco from 3.4.10 to 4.1.1 (build 33).
            The remove-column-activiti.sql was marked as optional.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@41919 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Dave Ward
2012-09-24 18:03:25 +00:00
parent 14f7692941
commit 84b0e2bb02
20 changed files with 116 additions and 104 deletions

View File

@@ -11,7 +11,6 @@ function main()
return;
}
var preferences = null;
try
{
// Get the preferences for the person

View File

@@ -5,17 +5,35 @@ function main()
// Get the site
var site = siteService.getSite(shortName);
if (site != null)
{
// Delete the site
site.deleteSite();
}
else
if (site == null)
{
// Return 404
status.setCode(404, "The site " + shortName + " does not exist");
return;
}
try
{
// Delete the site
site.deleteSite();
}
catch (error)
{
var msg = error.message;
// determine if the exception was AlfrescoRuntimeException, if so
// return 409 status code
if (msg.indexOf("NodeLockedException") != -1)
{
status.setCode(status.STATUS_CONFLICT, msg);
}
else
{
// We don't need to check for SiteServiceException thrown as a result of
// not existing site, because this is handled above.
status.setCode(status.STATUS_INTERNAL_SERVER_ERROR, msg); //return 500
}
return;
}
}
main();

View File

@@ -1,7 +1,7 @@
<#macro itemJSON item>
<#local node = item.node>
<#local version = "1.0">
<#if node.hasAspect("cm:versionable")><#local version = node.properties["cm:versionLabel"]></#if>
<#if node.hasAspect("cm:versionable")><#local version = node.properties["cm:versionLabel"]!""></#if>
<#escape x as jsonUtils.encodeJSONString(x)>
"version": "${version}",
"webdavUrl": "${node.webdavUrl}",

View File

@@ -6,7 +6,7 @@
<#escape x as jsonUtils.encodeJSONString(x)>
<#local node = item.node>
<#local version = "1.0">
<#if node.hasAspect("cm:versionable")><#local version = node.properties["cm:versionLabel"]></#if>
<#if node.hasAspect("cm:versionable")><#local version = node.properties["cm:versionLabel"]!""></#if>
<#if item.createdBy??>
<#local createdBy = item.createdBy.displayName>
<#local createdByUser = item.createdBy.userName>

View File

@@ -3,7 +3,7 @@
<#if result.error?exists>
"error" : "${result.error}"
<#else>
"name" : "${result.name}"
"title" : "${result.title}"
</#if>
}
</#escape>

View File

@@ -27,6 +27,7 @@
<#list node.versionHistory as record>
{
"name": "${record.name}",
"title": "${record.title}",
"version": "${record.versionLabel}",
"versionId": "${record.id}",
"date": "<@dateFormat record.createdDate />",

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2011 Alfresco Software Limited.
* Copyright (C) 2005-2012 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -34,7 +34,6 @@ import org.alfresco.repo.calendar.CalendarModel;
import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.service.cmr.activities.ActivityService;
import org.alfresco.service.cmr.calendar.CalendarEntry;
import org.alfresco.service.cmr.calendar.CalendarEntryDTO;
import org.alfresco.service.cmr.calendar.CalendarService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
@@ -67,6 +66,8 @@ import org.springframework.extensions.webscripts.json.JSONWriter;
*/
public abstract class AbstractCalendarWebScript extends DeclarativeWebScript
{
private static final DateTimeFormatter ALL_DAY_DATETIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd'T00:00:00.000'");
public static final String CALENDAR_SERVICE_ACTIVITY_APP_NAME = "calendar";
protected static final String MSG_EVENT_NOT_FOUND = "calendar.err.event.not.found";
@@ -503,41 +504,33 @@ public abstract class AbstractCalendarWebScript extends DeclarativeWebScript
/**
* Remove the time zone for a given date if the
* Calendar Entry is an all day event
* Removes the time zone for a given date if the Calendar Entry is an all day event
*
* @return ISO 8601 formatted date String
*/
protected String removeTimeZoneIfIsAllDay(Date date, Boolean isAllDay){
return removeTimeZoneIfIsAllDay(date, isAllDay, null);
protected String removeTimeZoneIfRequired(Date date, Boolean isAllDay, Boolean removeTimezone)
{
return removeTimeZoneIfRequired(date, isAllDay, removeTimezone, null);
}
/**
* Remove the time zone for a given date if the
* Calendar Entry is an all day event
* Removes the time zone for a given date if the Calendar Entry is an all day event
*
* @return ISO 8601 formatted date String if datePattern is null
*/
protected String removeTimeZoneIfIsAllDay(Date date, Boolean isAllDay, String datePattern){
protected String removeTimeZoneIfRequired(Date date, Boolean isAllDay, Boolean removeTimezone, String datePattern)
{
DateTime dateTime = (removeTimezone) ? (new DateTime(date, DateTimeZone.UTC)) : (new DateTime(date));
DateTime dt;
if(isAllDay){
dt= new DateTime(date, DateTimeZone.UTC);
}else{
dt = new DateTime(date);
if (null == datePattern)
{
return dateTime.toString((isAllDay) ? (ALL_DAY_DATETIME_FORMATTER) : (ISODateTimeFormat.dateTime()));
}
DateTimeFormatter fmt;
if(datePattern==null){
if(isAllDay){
fmt = DateTimeFormat.forPattern("yyyy-MM-dd'T00:00:00.000'");
}else{
fmt = ISODateTimeFormat.dateTime();
}
}else{
else
{
// For Legacy Dates and Times.
fmt = DateTimeFormat.forPattern(datePattern);
return dateTime.toString(DateTimeFormat.forPattern(datePattern));
}
return dt.toString(fmt);
}
protected abstract Map<String, Object> executeImpl(SiteInfo site,

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2011 Alfresco Software Limited.
* Copyright (C) 2005-2012 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -89,15 +89,16 @@ public class CalendarEntriesListGet extends AbstractCalendarListingWebScript
result.put(RESULT_NAME, entry.getSystemName());
result.put(RESULT_TITLE, entry.getTitle());
boolean isAllDay = CalendarEntryDTO.isAllDay(entry);
result.put(RESULT_START, removeTimeZoneIfIsAllDay(entry.getStart(),isAllDay));
result.put(RESULT_END, removeTimeZoneIfIsAllDay(entry.getEnd(),isAllDay));
boolean removeTimezone = isAllDay && !entry.isOutlook();
result.put(RESULT_START, removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone));
result.put(RESULT_END, removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone));
String legacyDateFormat = "M/d/yyyy";
String legacyTimeFormat ="HH:mm";
result.put("legacyDateFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyTimeFormat));
result.put("legacyDateFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone, legacyTimeFormat));
result.put("fromDate", entry.getStart());

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2011 Alfresco Software Limited.
* Copyright (C) 2005-2012 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -74,15 +74,16 @@ public class CalendarEntryGet extends AbstractCalendarWebScript
result.put("description", entry.getDescription());
result.put("location", entry.getLocation());
boolean isAllDay = CalendarEntryDTO.isAllDay(entry);
result.put("from", removeTimeZoneIfIsAllDay(entry.getStart(),isAllDay));
result.put("to", removeTimeZoneIfIsAllDay(entry.getEnd(),isAllDay));
boolean removeTimezone = isAllDay && !entry.isOutlook();
result.put("from", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone));
result.put("to", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone));
String legacyDateFormat = "M/d/yyyy";
String legacyTimeFormat ="HH:mm";
result.put("legacyDateFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyTimeFormat));
result.put("legacyDateFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone, legacyTimeFormat));
result.put("tags", entry.getTags());
result.put("isoutlook", entry.isOutlook());

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2011 Alfresco Software Limited.
* Copyright (C) 2005-2012 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -19,7 +19,6 @@
package org.alfresco.repo.web.scripts.calendar;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
@@ -93,15 +92,15 @@ public class CalendarEntryPost extends AbstractCalendarWebScript
result.put("desc", entry.getDescription());
result.put("where", entry.getLocation());
result.put("from", removeTimeZoneIfIsAllDay(entry.getStart(),isAllDay));
result.put("to", removeTimeZoneIfIsAllDay(entry.getEnd(),isAllDay));
result.put("from", removeTimeZoneIfRequired(entry.getStart(), isAllDay, isAllDay));
result.put("to", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, isAllDay));
String legacyDateFormat = "yyyy-MM-dd";
String legacyTimeFormat ="HH:mm";
result.put("legacyDateFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyTimeFormat));
result.put("legacyDateFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, isAllDay, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, isAllDay, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, isAllDay, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, isAllDay, legacyTimeFormat));
result.put("uri", "calendar/event/" + site.getShortName() + "/" +
entry.getSystemName() + dateOpt);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2011 Alfresco Software Limited.
* Copyright (C) 2005-2012 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -159,15 +159,16 @@ public class CalendarEntryPut extends AbstractCalendarWebScript
result.put("summary", entry.getTitle());
result.put("description", entry.getDescription());
result.put("location", entry.getLocation());
result.put("dtstart", removeTimeZoneIfIsAllDay(entry.getStart(),isAllDay));
result.put("dtend", removeTimeZoneIfIsAllDay(entry.getEnd(),isAllDay));
boolean removeTimezone = isAllDay && !entry.isOutlook();
result.put("dtstart", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone));
result.put("dtend", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone));
String legacyDateFormat = "yyyy-MM-dd";
String legacyTimeFormat ="HH:mm";
result.put("legacyDateFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyTimeFormat));
result.put("legacyDateFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone, legacyTimeFormat));
result.put("uri", "calendar/event/" + site.getShortName() + "/" +
entry.getSystemName() + dateOpt);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2011 Alfresco Software Limited.
* Copyright (C) 2005-2012 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -18,7 +18,6 @@
*/
package org.alfresco.repo.web.scripts.calendar;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@@ -160,20 +159,21 @@ public class UserCalendarEntriesGet extends AbstractCalendarListingWebScript
// Build the object
Map<String, Object> result = new HashMap<String, Object>();
boolean isAllDay = CalendarEntryDTO.isAllDay(entry);
boolean removeTimezone = isAllDay && !entry.isOutlook();
result.put(RESULT_EVENT, entry);
result.put(RESULT_NAME, entry.getSystemName());
result.put(RESULT_TITLE, entry.getTitle());
result.put("description", entry.getDescription());
result.put("where", entry.getLocation());
result.put(RESULT_START, removeTimeZoneIfIsAllDay(entry.getStart(),isAllDay));
result.put(RESULT_END, removeTimeZoneIfIsAllDay(entry.getEnd(),isAllDay));
result.put(RESULT_START, removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone));
result.put(RESULT_END, removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone));
String legacyDateFormat = "yyyy-MM-dd";
String legacyTimeFormat ="HH:mm";
result.put("legacyDateFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfIsAllDay(entry.getStart(), isAllDay, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfIsAllDay(entry.getEnd(), isAllDay, legacyTimeFormat));
result.put("legacyDateFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone, legacyDateFormat));
result.put("legacyTimeFrom", removeTimeZoneIfRequired(entry.getStart(), isAllDay, removeTimezone, legacyTimeFormat));
result.put("legacyDateTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone, legacyDateFormat));
result.put("legacyTimeTo", removeTimeZoneIfRequired(entry.getEnd(), isAllDay, removeTimezone, legacyTimeFormat));

View File

@@ -195,7 +195,7 @@ public class NodesMetaDataGet extends DeclarativeWebScript
}
catch(Exception e)
{
throw new AlfrescoRuntimeException("Problem converting to Freemarker", e);
throw new AlfrescoRuntimeException("Problem converting to Freemarker using node " + nodeMetaData.getNodeRef().toString(), e);
}
if(noSizeCalculated && --counter == 0)

View File

@@ -141,7 +141,7 @@ public abstract class AbstractWikiWebScript extends DeclarativeWebScript
JSONWriter activity = new JSONWriter(activityJson);
activity.startObject();
activity.writeValue("title", wikiPage.getTitle());
activity.writeValue("page", page + "?title=" + URLEncoder.encodeUriComponent(wikiPage.getSystemName()));
activity.writeValue("page", page + "?title=" + URLEncoder.encodeUriComponent(wikiPage.getTitle()));
activity.endObject();
activityService.postActivity(
@@ -282,15 +282,13 @@ public abstract class AbstractWikiWebScript extends DeclarativeWebScript
throw new WebScriptException(Status.STATUS_NOT_FOUND, error);
}
// Page name is optional
// Note - it's really the Name, even if it's called "Title"
String pageName = templateVars.get("pageTitle");
String pageTitle = templateVars.get("pageTitle");
// Have the real work done
return executeImpl(site, pageName, req, json, status, cache);
return executeImpl(site, pageTitle, req, json, status, cache);
}
protected abstract Map<String, Object> executeImpl(SiteInfo site,
String pageName, WebScriptRequest req, JSONObject json,
String pageTitle, WebScriptRequest req, JSONObject json,
Status status, Cache cache);
}

View File

@@ -38,13 +38,13 @@ import org.springframework.extensions.webscripts.WebScriptRequest;
public class WikiPageDelete extends AbstractWikiWebScript
{
@Override
protected Map<String, Object> executeImpl(SiteInfo site, String pageName,
protected Map<String, Object> executeImpl(SiteInfo site, String pageTitle,
WebScriptRequest req, JSONObject json, Status status, Cache cache)
{
Map<String, Object> model = new HashMap<String, Object>();
// Try to find the page
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageName);
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageTitle);
if (page == null)
{
String message = "The Wiki Page could not be found";

View File

@@ -51,14 +51,14 @@ public class WikiPageGet extends AbstractWikiWebScript
private static final Pattern LINK_PATTERN = Pattern.compile("\\[\\[([^\\|\\]]+)");
@Override
protected Map<String, Object> executeImpl(SiteInfo site, String pageName,
protected Map<String, Object> executeImpl(SiteInfo site, String pageTitle,
WebScriptRequest req, JSONObject json, Status status, Cache cache)
{
final ResourceBundle rb = getResources();
Map<String, Object> model = new HashMap<String, Object>();
// Try to find the page
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageName);
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageTitle);
if (page == null)
{
String message = "The Wiki Page could not be found";
@@ -106,10 +106,10 @@ public class WikiPageGet extends AbstractWikiWebScript
PagingRequest paging = new PagingRequest(MAX_QUERY_ENTRY_COUNT);
PagingResults<WikiPageInfo> pages = wikiService.listWikiPages(site.getShortName(), paging);
List<String> pageNames = new ArrayList<String>();
List<String> pageTitles = new ArrayList<String>();
for (WikiPageInfo p : pages.getPage())
{
pageNames.add(p.getSystemName());
pageTitles.add(p.getTitle());
}
@@ -118,7 +118,7 @@ public class WikiPageGet extends AbstractWikiWebScript
model.put("node", page.getNodeRef());
model.put("container", page.getContainerNodeRef());
model.put("links", links);
model.put("pageList", pageNames);
model.put("pageList", pageTitles);
model.put("tags", page.getTags());
model.put("siteId", site.getShortName());
model.put("site", site);

View File

@@ -59,7 +59,7 @@ public class WikiPageListGet extends AbstractWikiWebScript
}
@Override
protected Map<String, Object> executeImpl(SiteInfo site, String pageName,
protected Map<String, Object> executeImpl(SiteInfo site, String pageTitle,
WebScriptRequest req, JSONObject json, Status status, Cache cache)
{
// Decide on what kind of request they wanted

View File

@@ -47,14 +47,14 @@ public class WikiPageMovePost extends AbstractWikiWebScript
private static final String MSG_NOT_FOUND= "page-not-found";
@Override
protected Map<String, Object> executeImpl(SiteInfo site, String pageName,
protected Map<String, Object> executeImpl(SiteInfo site, String pageTitle,
WebScriptRequest req, JSONObject json, Status status, Cache cache)
{
final Map<String, Object> model = new HashMap<String, Object>();
final ResourceBundle rb = getResources();
// Try to find the page we're renaming
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageName);
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageTitle);
if (page == null)
{
String message = "The Wiki Page could not be found";
@@ -88,7 +88,7 @@ public class WikiPageMovePost extends AbstractWikiWebScript
// Create the "This page has been moved" entry for the old page
String movedContent = rb.getString(MSG_MOVED) + " [[" + page.getSystemName() +
String movedContent = rb.getString(MSG_MOVED) + " [[" + page.getTitle() +
"|" + rb.getString(MSG_MOVED_HERE) + "]].";
wikiService.createWikiPage(site.getShortName(), oldTitle, movedContent);
@@ -99,6 +99,7 @@ public class WikiPageMovePost extends AbstractWikiWebScript
// All done
model.put("name", page.getSystemName());
model.put("title", page.getTitle());
model.put("page", page);
model.put("siteId", site.getShortName());
model.put("site", site);

View File

@@ -54,7 +54,7 @@ public class WikiPagePut extends AbstractWikiWebScript
}
@Override
protected Map<String, Object> executeImpl(SiteInfo site, String pageName,
protected Map<String, Object> executeImpl(SiteInfo site, String pageTitle,
WebScriptRequest req, JSONObject json, Status status, Cache cache)
{
Map<String, Object> model = new HashMap<String, Object>();
@@ -71,7 +71,7 @@ public class WikiPagePut extends AbstractWikiWebScript
}
else
{
title = pageName;
title = pageTitle;
}
// Fetch the versioning details
@@ -103,7 +103,7 @@ public class WikiPagePut extends AbstractWikiWebScript
}
// Are we creating or editing?
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageName);
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageTitle);
if (page == null)
{
// Create the page

View File

@@ -66,7 +66,7 @@ public class WikiPageVersionGet extends AbstractWikiWebScript
}
@Override
protected Map<String, Object> executeImpl(SiteInfo site, String pageName,
protected Map<String, Object> executeImpl(SiteInfo site, String pageTitle,
WebScriptRequest req, JSONObject json, Status status, Cache cache)
{
Map<String, Object> model = new HashMap<String, Object>();
@@ -81,7 +81,7 @@ public class WikiPageVersionGet extends AbstractWikiWebScript
}
// Try to find the page
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageName);
WikiPageInfo page = wikiService.getWikiPage(site.getShortName(), pageTitle);
if (page == null)
{
String message = "The Wiki Page could not be found";