RM-489: The user should be informed if the data set cannot be imported

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@43044 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2012-10-24 12:35:08 +00:00
parent 78951cc280
commit ae13acef5e
3 changed files with 57 additions and 40 deletions

View File

@@ -1,5 +1,6 @@
<#escape x as jsonUtils.encodeJSONString(x)> <#escape x as jsonUtils.encodeJSONString(x)>
{ {
"success": ${success?string} "success": ${success?string},
"message": "${message}"
} }
</#escape> </#escape>

View File

@@ -268,7 +268,7 @@ public class DataSetServiceImpl implements DataSetService, RecordsManagementMode
} }
catch (Exception ex) catch (Exception ex)
{ {
throw new RuntimeException("Unexpected exception thrown", ex); throw new RuntimeException("Unexpected exception thrown. Please refer to the log files for details.", ex);
} }
finally finally
{ {

View File

@@ -9,6 +9,9 @@ import org.alfresco.module.org_alfresco_module_rm.model.RmSiteType;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.site.SiteService; import org.alfresco.service.cmr.site.SiteService;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.extensions.webscripts.Cache; import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.DeclarativeWebScript; import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status; import org.springframework.extensions.webscripts.Status;
@@ -23,6 +26,9 @@ public class DataSetPost extends DeclarativeWebScript implements RecordsManageme
/** Constant for the data set id parameter */ /** Constant for the data set id parameter */
private static final String ARG_DATA_SET_ID = "dataSetId"; private static final String ARG_DATA_SET_ID = "dataSetId";
/** Logger */
private static Log logger = LogFactory.getLog(DataSetPost.class);
/** Site service */ /** Site service */
private SiteService siteService; private SiteService siteService;
@@ -56,6 +62,9 @@ public class DataSetPost extends DeclarativeWebScript implements RecordsManageme
*/ */
@Override @Override
protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache)
{
Map<String, Object> model = new HashMap<String, Object>(1, 1.0f);
try
{ {
// Resolve data set id // Resolve data set id
String dataSetId = req.getServiceMatch().getTemplateVars().get(ARG_DATA_SET_ID); String dataSetId = req.getServiceMatch().getTemplateVars().get(ARG_DATA_SET_ID);
@@ -94,8 +103,15 @@ public class DataSetPost extends DeclarativeWebScript implements RecordsManageme
// Load data set in to the file plan // Load data set in to the file plan
dataSetService.loadDataSet(filePlan, dataSetId); dataSetService.loadDataSet(filePlan, dataSetId);
Map<String, Object> model = new HashMap<String, Object>(1, 1.0f);
model.put("success", true); model.put("success", true);
model.put("message", "Successfully imported data set.");
}
catch (Exception ex)
{
model.put("success", false);
model.put("message", ex.getMessage());
logger.error(ExceptionUtils.getFullStackTrace(ex));
}
return model; return model;
} }