private DeleteOperation buildDeleteOperationFor(String id){ logger.debug("Building delete operation for id: {}", id); DeleteOperation deleteOperation = new DeleteOperation(); deleteOperation.setObject(new YaddaObjectID(id)); UpdateRequest updateRequest = new UpdateRequest(); updateRequest.setId(id); updateRequest.setObjectType(IdTypeHelper.getYaddaIdType(id)); updateRequest.setUpdateReasons(Arrays.asList(new UpdateRequest.Reason[]{UpdateRequest.Reason.UPDATE_NAME})); deleteOperation.setPassthroughData(updateRequest); return deleteOperation; }
@SuppressWarnings("unchecked") @Override protected List<UpdateRequest> doProcess(Object data, Map<String, Serializable> context, IProcessListener listener, ProcessingStats stats) { if(!context.containsKey(UpdateRequest.CONTEXT_KEY)) throw new RuntimeException("Context must contain entry with key: UpdateRequest.CONTEXT_KEY!"); List<UpdateRequest> urs=(List<UpdateRequest>) context.get(UpdateRequest.CONTEXT_KEY); if(urs==null || urs.isEmpty()) throw new RuntimeException("Value of entry with key UpdateRequest.CONTEXT_KEY must not be empty! Should be nor empty instance of List<UpdateRequest>!"); if(!context.containsKey(UpdateRequest.COLLECTION_KEY)) if(!urs.isEmpty() && urs.get(0).getCollection()!=null) context.put(UpdateRequest.COLLECTION_KEY, urs.get(0).getCollection()); if(!context.containsKey(LOG_ENTRIES)) { ArrayList<HarvestStats> logs=new ArrayList<HarvestStats>(); HarvestStats root=new HarvestStats(); root.setStartTime(new Date()); root.setId(PROCESS_ROOT); logs.add(root); context.put(LOG_ENTRIES, logs); } if(!context.containsKey(ProcessProgressMonitor.CONTEXT_KEY)) context.put(ProcessProgressMonitor.CONTEXT_KEY, new ProcessProgressMonitor()); return urs; }
@Override protected void processElement(Element<List<UpdateRequest>> element) throws Exception { if (monitor != null) { monitor.noteTaskStart(TASK_NAME); monitor.setTotal(TASK_NAME, element.getData().size()); } for (UpdateRequest req : element.getData()) { processItem(req.getId(), new HashMap<String, Date>(), false); if (monitor != null) monitor.incrementProgress(TASK_NAME); perfLogger.tick(); } if (monitor != null) monitor.noteTaskFinished(TASK_NAME); perfLogger.finish(); }
public void sendEditorReportMail(EditorOperation operation, String username, String title, String journal, String year, String volume, String issue, byte[] data){ MimeMessage message = emailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(message, true); InputStreamSource source = new ByteArrayResource(data); helper.setFrom(smtpFromAddress); helper.setSubject(MessageFormat.format(reportingSubject, ((UpdateRequest)operation.getPassthroughData()).getId(), username)); helper.setTo(reportingTargetAddress); helper.setText(mailTextBuilder.createTextEditorReport(operation, username, title, journal, year, volume, issue)); helper.addAttachment("pack.zip", source); emailSender.send(message); } catch (MessagingException e) { e.printStackTrace(); } }
catalogObject.setTags(tags); UpdateRequest updateRequest = new UpdateRequest(); updateRequest.setId(elementExtId); updateRequest.setObjectType(IdTypeHelper.getYaddaIdType(elementExtId)); updateRequest.setUpdateReasons(Arrays.asList(new UpdateRequest.Reason[]{UpdateRequest.Reason.UPDATE_NAME}));