CampaignMetaDataImpl.java
3.57 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* org.apache.felix.scr.annotations.Service
*/
package com.day.cq.mcm.campaign.profile.impl;
import com.day.cq.mcm.campaign.profile.CampaignMetaData;
import com.day.cq.mcm.campaign.profile.MetaDataBlock;
import com.day.cq.mcm.campaign.profile.MetaDataInstance;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.felix.scr.annotations.Service;
@Deprecated
@Service
public class CampaignMetaDataImpl
implements CampaignMetaData {
private static final List<MetaDataInstance> EMPTY_LIST = new ArrayList<MetaDataInstance>(1);
private final List<MetaDataBlock> blocks = new ArrayList<MetaDataBlock>();
private final Map<MetaDataBlock, List<MetaDataInstance>> dataPerBlock = new HashMap<MetaDataBlock, List<MetaDataInstance>>();
protected CampaignMetaDataImpl() {
}
protected void addBlock(MetaDataBlock block) {
this.blocks.add(block);
}
protected void addData(MetaDataBlock block, MetaDataInstance data) {
List<MetaDataInstance> instances = this.dataPerBlock.get(block);
if (instances == null) {
instances = new ArrayList<MetaDataInstance>(4);
this.dataPerBlock.put(block, instances);
}
instances.add(data);
}
@Override
public Iterator<MetaDataBlock> getBlocks() {
return this.blocks.iterator();
}
@Override
public Iterator<MetaDataInstance> getDataFor(MetaDataBlock block) {
List<MetaDataInstance> perBlock = this.dataPerBlock.get(block);
return perBlock != null ? perBlock.iterator() : EMPTY_LIST.iterator();
}
protected MetaDataBlock getBlockById(String blockId) {
for (MetaDataBlock blockToCheck : this.blocks) {
if (!blockToCheck.getId().equals(blockId)) continue;
return blockToCheck;
}
return null;
}
protected MetaDataInstance getInstanceById(MetaDataBlock block, String dataId) {
List<MetaDataInstance> instances = this.dataPerBlock.get(block);
if (instances != null) {
for (MetaDataInstance instance : instances) {
if (!instance.getId().equals(dataId)) continue;
return instance;
}
}
return null;
}
@Override
public MetaDataInstance getData(String blockId, String dataId) {
MetaDataInstance instance = null;
MetaDataBlock block = this.getBlockById(blockId);
if (block != null) {
instance = this.getInstanceById(block, dataId);
}
return instance;
}
@Override
public MetaDataInstance getData(String dataId) {
for (MetaDataBlock blockToCheck : this.blocks) {
List<MetaDataInstance> instances = this.dataPerBlock.get(blockToCheck);
for (MetaDataInstance instanceToCheck : instances) {
if (!instanceToCheck.getId().equals(dataId)) continue;
return instanceToCheck;
}
}
return null;
}
public String toString() {
StringBuilder strRep = new StringBuilder(256);
for (MetaDataBlock block : this.blocks) {
strRep.append(block.toString()).append('\n');
List<MetaDataInstance> instances = this.dataPerBlock.get(block);
if (instances == null) continue;
for (MetaDataInstance instance : instances) {
strRep.append(" ").append(instance.toString()).append('\n');
}
}
return strRep.toString();
}
}