JcrUserData.java
2.25 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
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* com.scene7.is.catalog.util.localization.LocalizedText
* com.scene7.is.catalog.util.localization.LocalizedTextEntry
* com.scene7.is.provider.UserData
* com.scene7.is.util.callbacks.Option
* javax.jcr.Node
* javax.jcr.NodeIterator
* javax.jcr.Property
* javax.jcr.PropertyIterator
* javax.jcr.RepositoryException
*/
package com.adobe.cq.dam.s7imaging.impl.catalog;
import com.adobe.cq.dam.s7imaging.impl.catalog.JcrUtil;
import com.scene7.is.catalog.util.localization.LocalizedText;
import com.scene7.is.catalog.util.localization.LocalizedTextEntry;
import com.scene7.is.provider.UserData;
import com.scene7.is.util.callbacks.Option;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.Property;
import javax.jcr.PropertyIterator;
import javax.jcr.RepositoryException;
public class JcrUserData {
private static final String USER_DATA = "userdata";
public static Option<UserData> jcrUserData(Node jcrContent) throws RepositoryException {
Iterator i$ = JcrUtil.getNode(jcrContent, "userdata").iterator();
if (i$.hasNext()) {
Node child = (Node)i$.next();
HashMap<String, LocalizedText> props = new HashMap<String, LocalizedText>();
JcrUserData.buildUserData("", child, props);
return Option.some((Object)UserData.userData(props));
}
return Option.none();
}
private static void buildUserData(String prefix, Node node, Map<String, LocalizedText> acc) throws RepositoryException {
PropertyIterator props = node.getProperties();
while (props.hasNext()) {
Property prop = props.nextProperty();
String key = prop.getName();
if (key.contains(":")) continue;
String value = prop.getString();
acc.put(prefix + key, LocalizedText.localizedText((String)value, (LocalizedTextEntry[])new LocalizedTextEntry[0]));
}
NodeIterator children = node.getNodes();
while (children.hasNext()) {
Node child = children.nextNode();
JcrUserData.buildUserData(prefix + '/' + child.getName(), child, acc);
}
}
}