1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.delta;
35
36 import info.magnolia.importexport.BootstrapUtil;
37 import info.magnolia.module.InstallContext;
38
39 import java.io.IOException;
40
41 import javax.jcr.ImportUUIDBehavior;
42 import javax.jcr.RepositoryException;
43
44
45
46
47 public class BootstrapSingleModuleResource extends BootstrapResourcesTask {
48
49 private String subPath;
50 private final String resourceName;
51
52 public BootstrapSingleModuleResource(String resourceName) {
53 this(resourceName, ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
54 }
55
56 public BootstrapSingleModuleResource(String resourceName, int importUUIDBehavior) {
57 this("Bootstrap resource", String.format("Bootstraps module resource '%s' from '/mgnl-bootstrap/' folder.", resourceName), resourceName, importUUIDBehavior);
58 }
59
60 public BootstrapSingleModuleResource(String name, String description, String resourceName) {
61 this(name, description, resourceName, ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
62 }
63
64 public BootstrapSingleModuleResource(String name, String description, String resourceName, int importUUIDBehavior) {
65 super(name, description, importUUIDBehavior);
66 this.resourceName = resourceName;
67 }
68
69 public BootstrapSingleModuleResource(String name, String description, String resourceName, String subPath) {
70 super(name, description, ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
71 this.resourceName = resourceName;
72 this.subPath = subPath;
73 }
74
75 @Override
76 public void bootstrap(final InstallContext installContext, int importUUIDBehavior) throws IOException, RepositoryException {
77 BootstrapUtil.bootstrap(getResourcesToBootstrap(installContext)[0], subPath, importUUIDBehavior);
78 }
79
80 @Override
81 protected String[] getResourcesToBootstrap(final InstallContext installContext) {
82 return new String[]{"/mgnl-bootstrap/" + installContext.getCurrentModuleDefinition().getName() + "/" + resourceName};
83 }
84
85 }