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)>
{
"success": ${success?string}
"success": ${success?string},
"message": "${message}"
}
</#escape>

View File

@@ -268,7 +268,7 @@ public class DataSetServiceImpl implements DataSetService, RecordsManagementMode
}
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
{

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.site.SiteService;
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.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
@@ -23,6 +26,9 @@ public class DataSetPost extends DeclarativeWebScript implements RecordsManageme
/** Constant for the data set id parameter */
private static final String ARG_DATA_SET_ID = "dataSetId";
/** Logger */
private static Log logger = LogFactory.getLog(DataSetPost.class);
/** Site service */
private SiteService siteService;
@@ -56,6 +62,9 @@ public class DataSetPost extends DeclarativeWebScript implements RecordsManageme
*/
@Override
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
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
dataSetService.loadDataSet(filePlan, dataSetId);
Map<String, Object> model = new HashMap<String, Object>(1, 1.0f);
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;
}