View Javadoc

1   package org.srinivas.siteworks.dbrestserver;
2   
3   import java.io.StringWriter;
4   
5   import org.apache.camel.Exchange;
6   import org.apache.camel.Processor;
7   import org.apache.commons.lang3.StringUtils;
8   import org.slf4j.Logger;
9   import org.slf4j.LoggerFactory;
10  import org.srinivas.siteworks.dbrestserver.utilities.DbRestServerUtility;
11  import org.srinivas.siteworks.dbrestserver.utilities.FireWork;
12  import org.srinivas.siteworks.dbrestserver.utilities.FireWorksService;
13  
14  /**
15   * The Class FireWorksUpdateProcessor.
16   */
17  public class FireWorksUpdateProcessor implements Processor {
18  	private static final Logger log = LoggerFactory.getLogger(FireWorksUpdateProcessor.class);
19  
20  	/* (non-Javadoc)
21  	 * @see org.apache.camel.Processor#process(org.apache.camel.Exchange)
22  	 */
23  	@Override
24  	public void process(Exchange exchange) throws Exception {
25  		log.info("Processing with FireWorksUpdateProcessor");
26  		StringWriter stringWriter = new StringWriter();
27  		FireWorksService dataService = new FireWorksService();
28  		String source = exchange.getIn().getBody(String.class);
29  		log.info("The source is " + source);
30  		String id = StringUtils.substringBetween(source, "Update:", "{");
31  		log.info("The id  is " + id);
32  		String updateDescription = StringUtils.substringBetween(source, "{", "}");
33  		log.info("The change  is " + updateDescription);
34  		String description = (updateDescription.contains(",")) ? StringUtils.substringBetween(source, "description:", ",") : StringUtils.removeStart(updateDescription, "description:");
35  		FireWork firework = dataService.findFireWorkById(id);
36  		firework.setDescription(description);
37  		dataService.updateFireWork(firework);
38  		DbRestServerUtility.fireWorksToXML(dataService.getFireWork(String.valueOf(firework.getId())), stringWriter);
39  		exchange.getIn().setBody(stringWriter.toString());
40  	}
41  
42  }