Skip to content

Commit f5468d7

Browse files
committed
refactorings after JPA annotations
1 parent bab1990 commit f5468d7

File tree

12 files changed

+194
-29
lines changed

12 files changed

+194
-29
lines changed

logicaldoc-cmis/src/main/java/com/logicaldoc/cmis/TypeManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@
4040
import org.slf4j.LoggerFactory;
4141

4242
import com.logicaldoc.core.PersistenceException;
43-
import com.logicaldoc.core.metadata.Attribute;
4443
import com.logicaldoc.core.metadata.AttributeSet;
4544
import com.logicaldoc.core.metadata.AttributeSetDAO;
45+
import com.logicaldoc.core.metadata.TemplateAttribute;
4646
import com.logicaldoc.util.Context;
4747

4848
/**
@@ -339,7 +339,7 @@ private static void addDocumentPropertyDefinitions(DocumentTypeDefinitionImpl ty
339339
List<AttributeSet> sets = dao.findAll();
340340
for (AttributeSet set : sets) {
341341
dao.initialize(set);
342-
Map<String, Attribute> attributes = set.getAttributes();
342+
Map<String, TemplateAttribute> attributes = set.getTemplateAttributes();
343343
for (String name : attributes.keySet()) {
344344
type.addPropertyDefinition(createPropDef(PROP_EXT + name, name, name, PropertyType.STRING,
345345
Cardinality.SINGLE, Updatability.READWRITE, false, false));

logicaldoc-core/src/main/java/com/logicaldoc/core/metadata/AbstractAttributeSet.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.text.DecimalFormat;
44
import java.text.NumberFormat;
55
import java.util.ArrayList;
6-
import java.util.HashMap;
76
import java.util.List;
87
import java.util.Map;
98
import java.util.Set;
@@ -56,10 +55,7 @@ public TemplateAttribute getTemplateAttribute(String name) {
5655

5756
@Override
5857
public Map<String, Attribute> getAttributes() {
59-
Map<String, Attribute> buf = new HashMap<>();
60-
for (Map.Entry<String, TemplateAttribute> entry : getTemplateAttributes().entrySet())
61-
buf.put(entry.getKey(), new Attribute(entry.getValue()));
62-
return buf;
58+
return new AttributeMapWrapper(getTemplateAttributes());
6359
}
6460

6561
@Override
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
package com.logicaldoc.core.metadata;
2+
3+
import java.util.Collection;
4+
import java.util.HashMap;
5+
import java.util.Map;
6+
import java.util.Set;
7+
import java.util.function.BiConsumer;
8+
import java.util.function.BiFunction;
9+
import java.util.function.Function;
10+
import java.util.stream.Collectors;
11+
12+
/**
13+
* Utility calass to mask a {@link Map}<String,TemplateAttribute> with
14+
* a{@link Map}<String,Attribute>
15+
*
16+
* @author Marco Meschieri - LogicalDOC
17+
* @since 9.2
18+
*
19+
*/
20+
class AttributeMapWrapper extends HashMap<String, Attribute> {
21+
22+
private static final long serialVersionUID = 1L;
23+
24+
private Map<String, TemplateAttribute> wrappedAttributesMap;
25+
26+
public AttributeMapWrapper(Map<String, TemplateAttribute> wrappedAttributesMap) {
27+
super();
28+
this.wrappedAttributesMap = wrappedAttributesMap;
29+
}
30+
31+
public int size() {
32+
return wrappedAttributesMap.size();
33+
}
34+
35+
public boolean isEmpty() {
36+
return wrappedAttributesMap.isEmpty();
37+
}
38+
39+
public boolean containsKey(Object key) {
40+
return wrappedAttributesMap.containsKey(key);
41+
}
42+
43+
public boolean containsValue(Object value) {
44+
return wrappedAttributesMap.containsValue(value);
45+
}
46+
47+
public TemplateAttribute get(Object key) {
48+
return wrappedAttributesMap.get(key);
49+
}
50+
51+
public TemplateAttribute put(String key, Attribute value) {
52+
if (value instanceof TemplateAttribute ta)
53+
return wrappedAttributesMap.put(key, ta);
54+
else
55+
return null;
56+
}
57+
58+
public TemplateAttribute remove(Object key) {
59+
return wrappedAttributesMap.remove(key);
60+
}
61+
62+
public void putAll(Map<? extends String, ? extends Attribute> m) {
63+
for (Map.Entry<? extends String, ? extends Attribute> e : m.entrySet()) {
64+
if (e.getValue() instanceof TemplateAttribute ta)
65+
wrappedAttributesMap.put(e.getKey().toString(), ta);
66+
}
67+
}
68+
69+
public void clear() {
70+
wrappedAttributesMap.clear();
71+
}
72+
73+
public Set<String> keySet() {
74+
return wrappedAttributesMap.keySet();
75+
}
76+
77+
public Collection<Attribute> values() {
78+
return wrappedAttributesMap.values().stream().map(a -> (Attribute) a).toList();
79+
}
80+
81+
public Set<Entry<String, Attribute>> entrySet() {
82+
return wrappedAttributesMap.entrySet().stream().map(e -> new Map.Entry<String, Attribute>() {
83+
84+
@Override
85+
public String getKey() {
86+
return e.getKey();
87+
}
88+
89+
@Override
90+
public Attribute getValue() {
91+
return e.getValue();
92+
}
93+
94+
@Override
95+
public Attribute setValue(Attribute value) {
96+
if (value instanceof TemplateAttribute tv)
97+
return e.setValue(tv);
98+
else
99+
return value;
100+
}
101+
}).collect(Collectors.toSet());
102+
}
103+
104+
public boolean equals(Object o) {
105+
return wrappedAttributesMap.equals(o);
106+
}
107+
108+
public int hashCode() {
109+
return wrappedAttributesMap.hashCode();
110+
}
111+
112+
public TemplateAttribute getOrDefault(Object key, TemplateAttribute defaultValue) {
113+
return wrappedAttributesMap.getOrDefault(key, defaultValue);
114+
}
115+
116+
public void forEach(BiConsumer<? super String, ? super Attribute> action) {
117+
wrappedAttributesMap.forEach(action);
118+
}
119+
120+
public void replaceAll(BiFunction<? super String, ? super Attribute, ? extends Attribute> function) {
121+
throw new UnsupportedOperationException();
122+
}
123+
124+
public TemplateAttribute putIfAbsent(String key, Attribute value) {
125+
if (value instanceof TemplateAttribute ta)
126+
return wrappedAttributesMap.putIfAbsent(key, ta);
127+
else
128+
return null;
129+
}
130+
131+
public boolean remove(Object key, Object value) {
132+
return wrappedAttributesMap.remove(key, value);
133+
}
134+
135+
public boolean replace(String key, Attribute oldValue, Attribute newValue) {
136+
if (oldValue instanceof TemplateAttribute oldTA && newValue instanceof TemplateAttribute newTA)
137+
return wrappedAttributesMap.replace(key, oldTA, newTA);
138+
else
139+
return false;
140+
}
141+
142+
public TemplateAttribute replace(String key, Attribute value) {
143+
if (value instanceof TemplateAttribute ta)
144+
return wrappedAttributesMap.replace(key, ta);
145+
else
146+
return null;
147+
}
148+
149+
public TemplateAttribute computeIfAbsent(String key,
150+
Function<? super String, ? extends Attribute> mappingFunction) {
151+
throw new UnsupportedOperationException();
152+
}
153+
154+
public TemplateAttribute computeIfPresent(String key,
155+
BiFunction<? super String, ? super TemplateAttribute, ? extends Attribute> remappingFunction) {
156+
throw new UnsupportedOperationException();
157+
}
158+
159+
public TemplateAttribute compute(String key,
160+
BiFunction<? super String, ? super TemplateAttribute, ? extends Attribute> remappingFunction) {
161+
throw new UnsupportedOperationException();
162+
}
163+
164+
public TemplateAttribute merge(String key, Attribute value,
165+
BiFunction<? super Attribute, ? super Attribute, ? extends Attribute> remappingFunction) {
166+
throw new UnsupportedOperationException();
167+
}
168+
}

logicaldoc-core/src/main/java/com/logicaldoc/core/metadata/AttributeSetDAO.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,9 @@ public interface AttributeSetDAO extends PersistentObjectDAO<AttributeSet> {
5252
* Gets the map of attributes defined in the given tenant or set
5353
*
5454
* @param tenantId The tenant ID
55-
* @param setId Optional set ID
56-
* return map of attributes
55+
* @param setId Optional set ID return map of attributes
5756
*
5857
* @throws PersistenceException Error in the database
5958
*/
60-
public Map<String, Attribute> findAttributes(long tenantId, Long setId) throws PersistenceException;
59+
public Map<String, TemplateAttribute> findAttributes(long tenantId, Long setId) throws PersistenceException;
6160
}

logicaldoc-core/src/main/java/com/logicaldoc/core/metadata/HibernateAttributeSetDAO.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,18 @@ public Map<Long, AttributeSet> load(long tenantId) throws PersistenceException {
115115
}
116116

117117
@Override
118-
public Map<String, Attribute> findAttributes(long tenantId, Long setId) throws PersistenceException {
118+
public Map<String, TemplateAttribute> findAttributes(long tenantId, Long setId) throws PersistenceException {
119119
List<AttributeSet> sets = new ArrayList<>();
120120
if (setId != null)
121121
sets.add(findById(setId));
122122
else
123123
sets.addAll(findAll(tenantId));
124124

125-
Map<String, Attribute> attributes = new TreeMap<>();
125+
Map<String, TemplateAttribute> attributes = new TreeMap<>();
126126
for (AttributeSet set : sets) {
127127
initialize(set);
128-
Map<String, Attribute> localAttributes = set.getAttributes();
129-
for (Map.Entry<String, Attribute> entry : localAttributes.entrySet())
128+
Map<String, TemplateAttribute> localAttributes = set.getTemplateAttributes();
129+
for (Map.Entry<String, TemplateAttribute> entry : localAttributes.entrySet())
130130
if (!attributes.containsKey(entry.getKey()))
131131
attributes.put(entry.getKey(), entry.getValue());
132132
}

logicaldoc-core/src/main/java/com/logicaldoc/core/metadata/TemplateAttribute.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class TemplateAttribute extends Attribute {
2323
public TemplateAttribute() {
2424
super();
2525
}
26-
26+
2727
public TemplateAttribute(TemplateAttribute source) {
2828
super(source);
2929
this.validation = source.validation;

logicaldoc-core/src/test/java/com/logicaldoc/core/metadata/HibernateAttributeSetDAOTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public void testStore() throws PersistenceException {
9696

9797
@Test
9898
public void testFindAttributes() throws PersistenceException {
99-
Map<String, Attribute> attributes = testSubject.findAttributes(1L, null);
99+
Map<String, TemplateAttribute> attributes = testSubject.findAttributes(1L, null);
100100
Assert.assertEquals(9, attributes.size());
101101
Assert.assertTrue(attributes.containsKey("sourceAuthor"));
102102
}

logicaldoc-i18n/src/main/resources/i18n/messages_tr.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
format_date = dd/MM/yyyy HH:mm:ss
2-
format_dateshort = gg/AA/yyyy
3-
format_datelong = dd/MM/yyyy HH:mm:ss.SS
1+
format_date = dd/MM/yyyy HH\:mm\:ss
2+
format_dateshort = dd/MM/yyyy
3+
format_datelong = dd/MM/yyyy HH\:mm\:ss.SS
44
login=Oturum a\u00E7
55
password=\u015Eifre
66
servererror=Sunucu Hatas\u0131

logicaldoc-webapp/src/main/java/com/logicaldoc/web/data/AttributesDataServlet.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.logicaldoc.core.metadata.Attribute;
1717
import com.logicaldoc.core.metadata.AttributeSetDAO;
1818
import com.logicaldoc.core.metadata.Template;
19+
import com.logicaldoc.core.metadata.TemplateAttribute;
1920
import com.logicaldoc.core.metadata.TemplateDAO;
2021
import com.logicaldoc.core.security.Session;
2122
import com.logicaldoc.i18n.I18N;
@@ -89,7 +90,7 @@ protected void service(HttpServletRequest request, HttpServletResponse response,
8990
/*
9091
* Iterate over the collection of extended attributes
9192
*/
92-
Map<String, Attribute> attributes = new HashMap<>();
93+
Map<String, TemplateAttribute> attributes = new HashMap<>();
9394
if (templateId == null) {
9495
AttributeSetDAO dao = Context.get(AttributeSetDAO.class);
9596
attributes = dao.findAttributes(session.getTenantId(), null);
@@ -102,7 +103,7 @@ protected void service(HttpServletRequest request, HttpServletResponse response,
102103
attributes.put(name, template.getAttribute(name));
103104
}
104105

105-
for (Map.Entry<String, Attribute> entry : attributes.entrySet()) {
106+
for (Map.Entry<String, TemplateAttribute> entry : attributes.entrySet()) {
106107
Attribute attribute = entry.getValue();
107108
if (attribute.getHidden() == 1 || (!sections && attribute.isSection()))
108109
continue;

logicaldoc-webapp/src/main/java/com/logicaldoc/web/service/AttributeSetServiceImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ public void applyValidationToTemplates(long setId, String attribute) throws Serv
361361
AttributeSet set = dao.findById(setId);
362362
dao.initialize(set);
363363

364-
TemplateAttribute setAttribute = (TemplateAttribute) set.getAttribute(attribute);
364+
TemplateAttribute setAttribute = set.getTemplateAttributes().get(attribute);
365365
if (setAttribute == null)
366366
return;
367367

@@ -385,7 +385,7 @@ public void applyInitializationToTemplates(long setId, String attribute) throws
385385
AttributeSetDAO dao = Context.get(AttributeSetDAO.class);
386386
AttributeSet set = dao.findById(setId);
387387
dao.initialize(set);
388-
TemplateAttribute setAttribute = (TemplateAttribute) set.getAttribute(attribute);
388+
TemplateAttribute setAttribute = set.getTemplateAttributes().get(attribute);
389389
if (setAttribute == null)
390390
return;
391391

@@ -408,7 +408,7 @@ public void applyAllToTemplates(long setId, String attributeName) throws ServerE
408408
try {
409409
AttributeSetDAO dao = Context.get(AttributeSetDAO.class);
410410
AttributeSet set = dao.findById(setId);
411-
Attribute setAttribute = set.getAttribute(attributeName);
411+
TemplateAttribute setAttribute = set.getTemplateAttributes().get(attributeName);
412412

413413
TemplateDAO templateDao = Context.get(TemplateDAO.class);
414414

@@ -418,7 +418,7 @@ public void applyAllToTemplates(long setId, String attributeName) throws ServerE
418418
List<Template> templates = templateDao.findAll(set.getTenantId());
419419
for (Template template : templates) {
420420
templateDao.initialize(template);
421-
template.getAttributes().put(attributeName, new Attribute(setAttribute));
421+
template.getTemplateAttributes().put(attributeName, new TemplateAttribute(setAttribute));
422422
templateDao.store(template);
423423
}
424424
} catch (Exception t) {

0 commit comments

Comments
 (0)