List of usage examples for org.springframework.batch.item ItemProcessor ItemProcessor
ItemProcessor
From source file:configuration.JobSkipConfiguration.java
@Bean public Step step2() { return stepBuilderFactory.get("step2").chunk(3).faultTolerant().skip(IllegalStateException.class) .skipLimit(100).reader(new SkipItemReader()).processor(new ItemProcessor<Object, Object>() { @Override/*w w w. j ava 2 s. c o m*/ public String process(Object item) throws Exception { return String.valueOf(Integer.parseInt((String) item) * -1); } }).writer(new SkipItemWriter()).build(); }
From source file:configuration.JobConfiguration.java
@Bean public Step step2() { return stepBuilderFactory.get("step2").<String, String>chunk(3) .reader(new ListItemReader<>(Arrays.asList("1", "2", "3", "4", "5", "6"))) .processor(new ItemProcessor<String, String>() { @Override/*from w w w . j av a 2 s . c om*/ public String process(String item) throws Exception { return String.valueOf(Integer.parseInt((String) item) * -1); } }).writer(new ItemWriter<String>() { @Override public void write(List<? extends String> items) throws Exception { for (Object item : items) { System.out.println(">> " + item); } } }).build(); }
From source file:com.mycompany.spring.batch.mail.demo.batch.SampleBatchApplication.java
@Bean public ItemProcessor processor() { ItemProcessor processor = new ItemProcessor() { @Override/*from w w w. ja v a 2s .c o m*/ public SimpleMailMessage process(Object item) throws Exception { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom("root@localhost.localdomain"); message.setTo("c7@localhost.localdomain"); message.setSubject(item.toString()); message.setSentDate(new Date()); message.setText("Hello " + item.toString()); System.out.println("Sending message with subject: " + item); return message; } }; return processor; }
From source file:com.searchbox.collection.pubmed.PubmedCollection.java
public ItemProcessor<Resource, File> itemProcessor() { return new ItemProcessor<Resource, File>() { @Override//from w ww .j a v a 2s . c om public File process(Resource item) throws IOException { LOGGER.info("Processing stuff here..."); return item.getFile(); } }; }
From source file:nu.yona.server.batch.jobs.SendSystemMessageBatchJob.java
@Bean(name = "sendSystemMessageJobUserAnonymizedProcessor", destroyMethod = "") @StepScope/*from w w w .j ava2s . c om*/ private ItemProcessor<UUID, MessageDestination> userAnonymizedProcessor() { return new ItemProcessor<UUID, MessageDestination>() { @Value("#{jobParameters['messageText']}") private String messageText; @Override public MessageDestination process(UUID userAnonymizedId) throws Exception { logger.debug("Processing user anonymized with id {}", userAnonymizedId); UserAnonymizedDto userAnonymized = userAnonymizedService.getUserAnonymized(userAnonymizedId); MessageDestination messageDestination = messageDestinationRepository .findOne(userAnonymized.getAnonymousDestination().getId()); messageDestination.send(SystemMessage.createInstance(messageText)); return messageDestination; } }; }
From source file:nu.yona.server.batch.jobs.ActivityAggregationBatchJob.java
private ItemProcessor<Long, DayActivity> dayActivityProcessor() { return new ItemProcessor<Long, DayActivity>() { @Override//from w w w . ja v a2 s . co m public DayActivity process(Long dayActivityId) throws Exception { logger.debug("Processing day activity with id {}", dayActivityId); DayActivity dayActivity = dayActivityRepository.findOne(dayActivityId); dayActivity.computeAggregates(); return dayActivity; } }; }
From source file:nu.yona.server.batch.jobs.ActivityAggregationBatchJob.java
private ItemProcessor<Long, WeekActivity> weekActivityProcessor() { return new ItemProcessor<Long, WeekActivity>() { @Override/*from ww w. j ava2 s . co m*/ public WeekActivity process(Long weekActivityId) throws Exception { logger.debug("Processing week activity with id {}", weekActivityId); WeekActivity weekActivity = weekActivityRepository.findOne(weekActivityId); weekActivity.computeAggregates(); return weekActivity; } }; }
From source file:com.searchbox.collection.oppfin.CordisCollection.java
public ItemProcessor<JSONObject, FieldMap> itemProcessor() { return new ItemProcessor<JSONObject, FieldMap>() { @Override/*from w w w.j av a 2 s . c o m*/ public FieldMap process(JSONObject item) throws IOException { DateFormat dfSource = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH); LOGGER.info("Processing cordis {}", item.get("id")); FieldMap doc = new FieldMap(); doc.put("docSource", "Cordis"); doc.put("docType", "Cordis"); doc.put("programme", item.get("program")); doc.put("cordisId", item.get("id")); doc.put("cordisTag", item.get("tag")); doc.put("cordisStartYear", item.get("start_year")); doc.put("cordisProjectFunding", new Float((String) item.get("projectfunding"))); doc.put("cordisContractType", item.get("contract_type")); doc.put("cordisProjectStatus", item.get("project_status")); doc.put("cordisUrl", item.get("url")); doc.put("cordisCategory", item.get("category")); doc.put("cordisProgram", item.get("program")); doc.put("cordisProjectCost", new Float((String) item.get("projectcost"))); doc.put("cordisProjectDuration", item.get("projectduration")); doc.put("cordisSnippet", item.get("snippet")); doc.put("cordisSubProgrammArea", item.get("subprogrammearea")); doc.put("cordisCallIdentifier", item.get("call_identifier")); doc.put("cordisTitle", item.get("title")); doc.put("cordisCountryCode", item.get("country_code")); doc.put("cordisArea", item.get("aera")); doc.put("cordisSubjectIndexCode", item.get("subjectindexcode")); doc.put("cordisProjectTeaser", item.get("teaser")); doc.put("cordisCallTitle", item.get("cordisCallTitle")); try { doc.put("cordisProjectStartDate", item.get("projectstartdate")); } catch (Exception e) { LOGGER.error("Cannot parse date", e); } try { doc.put("cordisProjectEndDate", item.get("projectenddate")); } catch (Exception e) { LOGGER.error("Cannot parse date", e); } return doc; } }; }
From source file:org.cloudfoundry.workers.stocks.batch.BatchConfiguration.java
/** * The Spring Batch {@link ItemProcessor item processor} takes the stocks * from the reader and converts them into {@link StockSymbolLookup stock * symbol lookups}, which it then passes to the writer to persist. *///from w w w. java 2s.co m @Bean public ItemProcessor<String, StockSymbolLookup> processor() { final StockSymbolLookupClient stockSymbolLookupClient = this.lookupClient(); return new ItemProcessor<String, StockSymbolLookup>() { @Override public StockSymbolLookup process(String tickerSymbol) throws Exception { try { return stockSymbolLookupClient.lookupSymbol(tickerSymbol); } catch (Throwable throwable) { throw new RuntimeException(throwable); } } }; }
From source file:com.searchbox.collection.oppfin.IdealISTCollection.java
public ItemProcessor<String, FieldMap> itemProcessor() { return new ItemProcessor<String, FieldMap>() { @Override// www . j a v a2s .c om public FieldMap process(String uid) throws Exception { LOGGER.info("Fetching document uid={}", uid); Document document = httpGet(RequestBuilder.get() .setUri(env.getProperty(IDEALIST_DOCUMENT_SERVICE, IDEALIST_DOCUMENT_SERVICE_DEFAULT)) .addParameter("uid", uid)); LOGGER.debug("Got Document: {}", document); FieldMap fields = new FieldMap(); fields.put("uid", uid); fields.put("docSource", "Ideal-Ist"); fields.put("docType", "Collaboration"); fields.put("programme", "H2020"); addStringField(uid, document, fields, "title", "idealistTitle"); addStringField(uid, document, fields, "PS_ID", "idealistPsId"); addStringField(uid, document, fields, "Status", "idealistStatus"); addDateField(uid, document, fields, "Date_of_last_Modification", "idealistUpdated"); addDateField(uid, document, fields, "Date_of_Publication", "idealistPublished"); addStringField(uid, document, fields, "Call_Identifier", "callIdentifier"); addStringField(uid, document, fields, "Objective", "idealistObjective"); addStringField(uid, document, fields, "Funding_Schemes", "idealistFundingScheme"); addStringField(uid, document, fields, "Evaluation_Scheme", "idealistEvaluationScheme"); addDateField(uid, document, fields, "Closure_Date", "idealistDeadline"); addStringField(uid, document, fields, "Type_of_partner_sought", "idealistTypeOfPartnerSought"); addStringField(uid, document, fields, "Coordinator_possible", "idealistCoordinationPossible"); addStringField(uid, document, fields, "Organisation", "idealistOrganisation"); addStringField(uid, document, fields, "Department", "idealistDepartement"); addStringField(uid, document, fields, "Type_of_Organisation", "idealistTypeOfOrganisation"); addStringField(uid, document, fields, "Country", "idealistCountry"); addStringField(uid, document, fields, "Body", "idealistBody"); addStringField(uid, document, fields, "outline", "idealistOutline"); addStringField(uid, document, fields, "description_of_work", "idealistDescriptionOfWork"); if (LOGGER.isDebugEnabled()) { for (String key : fields.keySet()) { LOGGER.debug("field: {}\t{}", key, fields.get(key)); } } //Filtering invalid ideal-ist, skip records where status is not open. if (fields.get("idealistStatus").toString().equals("[Open]")) { LOGGER.info("Found a ideal-ist with open status."); return fields; } else { LOGGER.info("The document has the following status {}", fields.get("idealistStatus").toString()); return null; } } }; }