1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.batch.admin.integration;
17
18 import org.springframework.batch.core.configuration.DuplicateJobException;
19 import org.springframework.core.io.ByteArrayResource;
20 import org.springframework.core.io.Resource;
21 import org.springframework.integration.annotation.MessageEndpoint;
22 import org.springframework.integration.annotation.ServiceActivator;
23 import org.springframework.util.StringUtils;
24
25
26
27
28
29
30
31
32 @MessageEndpoint
33 public class JobConfigurationRequestToResourceAdapter {
34
35 private static final String EMPTY_BEANS = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
36 + "<beans xmlns=\"http://www.springframework.org/schema/beans\""
37 + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
38 + " xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\"/>";
39
40 @ServiceActivator
41 public Resource adapt(JobConfigurationRequest request) throws DuplicateJobException {
42
43 String filename = request.getFilename();
44 if (!StringUtils.hasText(request.getXml())) {
45 return new ByteArrayResource(EMPTY_BEANS.getBytes(), filename + ":empty-string");
46 }
47 return new ByteArrayResource(request.getXml().getBytes(), filename);
48
49 }
50
51 }