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
16
17 public class FireWorksUpdateProcessor implements Processor {
18 private static final Logger log = LoggerFactory.getLogger(FireWorksUpdateProcessor.class);
19
20
21
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 }