/** * Converts the soap model instance into a normal model instance. * * @param soapModel the soap model instance to convert * @return the normal model instance */ public static BackgroundTask toModel(BackgroundTaskSoap soapModel) { if (soapModel == null) { return null; } BackgroundTask model = new BackgroundTaskImpl(); model.setMvccVersion(soapModel.getMvccVersion()); model.setBackgroundTaskId(soapModel.getBackgroundTaskId()); model.setGroupId(soapModel.getGroupId()); model.setCompanyId(soapModel.getCompanyId()); model.setUserId(soapModel.getUserId()); model.setUserName(soapModel.getUserName()); model.setCreateDate(soapModel.getCreateDate()); model.setModifiedDate(soapModel.getModifiedDate()); model.setName(soapModel.getName()); model.setServletContextNames(soapModel.getServletContextNames()); model.setTaskExecutorClassName(soapModel.getTaskExecutorClassName()); model.setTaskContext(soapModel.getTaskContext()); model.setCompleted(soapModel.getCompleted()); model.setCompletionDate(soapModel.getCompletionDate()); model.setStatus(soapModel.getStatus()); model.setStatusMessage(soapModel.getStatusMessage()); return model; }
@Override public BackgroundTask addBackgroundTask( long userId, long groupId, String name, String[] servletContextNames, Class<?> taskExecutorClass, Map<String, Serializable> taskContextMap, ServiceContext serviceContext) throws PortalException, SystemException { User user = userPersistence.findByPrimaryKey(userId); Date now = new Date(); final long backgroundTaskId = counterLocalService.increment(); BackgroundTask backgroundTask = backgroundTaskPersistence.create(backgroundTaskId); backgroundTask.setCompanyId(user.getCompanyId()); backgroundTask.setCreateDate(serviceContext.getCreateDate(now)); backgroundTask.setGroupId(groupId); backgroundTask.setModifiedDate(serviceContext.getModifiedDate(now)); backgroundTask.setUserId(userId); backgroundTask.setUserName(user.getFullName()); backgroundTask.setName(name); backgroundTask.setServletContextNames(StringUtil.merge(servletContextNames)); backgroundTask.setTaskExecutorClassName(taskExecutorClass.getName()); if (taskContextMap != null) { String taskContext = JSONFactoryUtil.serialize(taskContextMap); backgroundTask.setTaskContext(taskContext); } backgroundTask.setStatus(BackgroundTaskConstants.STATUS_NEW); backgroundTaskPersistence.update(backgroundTask); TransactionCommitCallbackRegistryUtil.registerCallback( new Callable<Void>() { @Override public Void call() throws Exception { backgroundTaskLocalService.triggerBackgroundTask(backgroundTaskId); return null; } }); return backgroundTask; }