BrightEdgeSettingsProvider.java
3.23 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* com.day.cq.wcm.webservicesupport.Configuration
* com.day.cq.wcm.webservicesupport.ConfigurationManager
* com.day.cq.wcm.webservicesupport.ConfigurationManagerFactory
* org.apache.felix.scr.annotations.Component
* org.apache.felix.scr.annotations.Reference
* org.apache.felix.scr.annotations.Service
* org.apache.sling.api.resource.Resource
* org.apache.sling.api.resource.ResourceResolver
* org.apache.sling.api.resource.ValueMap
* org.apache.sling.api.wrappers.ValueMapDecorator
*/
package com.adobe.cq.contentinsight.impl;
import com.adobe.cq.contentinsight.ProviderSettingsProvider;
import com.adobe.cq.contentinsight.impl.ConfigurationUtil;
import com.day.cq.wcm.webservicesupport.Configuration;
import com.day.cq.wcm.webservicesupport.ConfigurationManager;
import com.day.cq.wcm.webservicesupport.ConfigurationManagerFactory;
import java.util.HashMap;
import java.util.Map;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.api.wrappers.ValueMapDecorator;
@Component(metatype=0, label="BrightEdge SEO settings provider", description="Provides configured settings for BrightEdge SEO service.")
@Service
public class BrightEdgeSettingsProvider
implements ProviderSettingsProvider {
@Reference
private ConfigurationManagerFactory configurationManagerFactory;
@Override
public String getName() {
return "brightedge";
}
@Override
public ValueMap getSettings(Resource resource) {
HashMap<String, Object> settings = new HashMap<String, Object>();
boolean active = false;
ConfigurationManager mgr = this.configurationManagerFactory.getConfigurationManager(resource.getResourceResolver());
Configuration configuration = ConfigurationUtil.findConfiguration(mgr, resource, "brightedge");
if (configuration != null) {
settings.put("defaultLink", configuration.getInherited("serviceAdminUrl", (Object)""));
active = true;
}
settings.put("url", resource.getResourceResolver().map("/libs/cq/contentinsight/content/proxy.brightedge.json"));
settings.put("active", active);
return new ValueMapDecorator(settings);
}
@Override
public boolean isActive(Resource resource) {
ConfigurationManager mgr = this.configurationManagerFactory.getConfigurationManager(resource.getResourceResolver());
Configuration configuration = ConfigurationUtil.findConfiguration(mgr, resource, "brightedge");
return configuration != null;
}
protected void bindConfigurationManagerFactory(ConfigurationManagerFactory configurationManagerFactory) {
this.configurationManagerFactory = configurationManagerFactory;
}
protected void unbindConfigurationManagerFactory(ConfigurationManagerFactory configurationManagerFactory) {
if (this.configurationManagerFactory == configurationManagerFactory) {
this.configurationManagerFactory = null;
}
}
}