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.dam.core.config;
35
36 import info.magnolia.dam.api.AssetProvider;
37 import info.magnolia.dam.api.AssetRenderer;
38 import info.magnolia.module.ModuleLifecycle;
39 import info.magnolia.module.ModuleLifecycleContext;
40 import info.magnolia.voting.Voter;
41
42 import java.util.ArrayList;
43 import java.util.Collections;
44 import java.util.Iterator;
45 import java.util.List;
46
47 import org.apache.commons.lang3.StringUtils;
48 import org.slf4j.Logger;
49 import org.slf4j.LoggerFactory;
50
51
52
53
54
55
56
57
58 public class DamCoreConfiguration implements ModuleLifecycle {
59 private static final Logger log = LoggerFactory.getLogger(DamCoreConfiguration.class);
60
61 private Voter contentDisposition;
62 private boolean enforceDocumentMimeType = false;
63
64 private String downloadPath = "/dam/";
65 private List<AssetProvider> providers = Collections.emptyList();
66 private List<AssetRenderer> renderers = Collections.emptyList();
67
68
69 public void setContentDisposition(Voter contentDisposition) {
70 this.contentDisposition = contentDisposition;
71 }
72
73 public Voter getContentDisposition() {
74 return contentDisposition;
75 }
76
77 public boolean isEnforceDocumentMimeType() {
78 return this.enforceDocumentMimeType;
79 }
80
81 public void setEnforceDocumentMimeType(boolean enforceDocumentMimeType) {
82 this.enforceDocumentMimeType = enforceDocumentMimeType;
83 }
84
85 public List<AssetProvider> getProviders() {
86 return providers;
87 }
88
89 public void setProviders(List<AssetProvider> providers) {
90 this.providers = providers;
91 }
92
93 public List<AssetRenderer> getRenderers() {
94 return renderers;
95 }
96
97 public void setRenderers(List<AssetRenderer> renderers) {
98 this.renderers = renderers;
99 }
100
101 public String getDownloadPath() {
102 return downloadPath;
103 }
104
105 public void setDownloadPath(final String downloadPath) {
106 this.downloadPath = downloadPath;
107 }
108
109
110
111
112 @Override
113 public void start(ModuleLifecycleContext moduleLifecycleContext) {
114
115 List<String> ids = new ArrayList<String>();
116 Iterator<AssetProvider> iterator = providers.iterator();
117 while (iterator.hasNext()) {
118 AssetProvider provider = iterator.next();
119
120 if (StringUtils.isEmpty(provider.getIdentifier())) {
121 log.warn("Trying to register an AssetProvider without an identifier: {}", provider);
122 iterator.remove();
123 continue;
124 }
125 if (ids.contains(provider.getIdentifier())) {
126 log.warn("Trying to register an AssetProvider with an existing identifier: {}", provider.getIdentifier());
127 iterator.remove();
128 continue;
129 }
130 ids.add(provider.getIdentifier());
131 }
132
133 }
134
135 @Override
136 public void stop(ModuleLifecycleContext moduleLifecycleContext) {
137 }
138
139 }