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 fr.paris.lutece.plugins.document.service.attributes;
35
36 import fr.paris.lutece.plugins.document.business.attributes.DocumentAttribute;
37 import fr.paris.lutece.plugins.document.business.attributes.DocumentAttributeHome;
38 import fr.paris.lutece.util.xml.XmlUtil;
39
40 import java.util.Collection;
41
42
43
44
45
46 public class DocumentAttributesService
47 {
48 private static final String TAG_ATTRIBUTES = "attributes";
49 private static final String TAG_ATTRIBUTE = "attribute";
50 private static final String TAG_ATTRIBUTE_ID = "id_document_attr";
51 private static final String TAG_CODE_ATTRIBUTE_TYPE = "code_attr_type";
52 private static final String TAG_CODE_ATTRIBUTE = "code";
53 private static final String TAG_DOCUMENT_TYPE_ATTRIBUTE_NAME = "document_type_attr_name";
54 private static final String TAG_ATTRIBUTE_DESCRIPTION = "description";
55 private static DocumentAttributesServicettributes/DocumentAttributesService.html#DocumentAttributesService">DocumentAttributesService _singleton = new DocumentAttributesService( );
56
57
58 private DocumentAttributesService( )
59 {
60 }
61
62
63
64
65
66 public static DocumentAttributesService getInstance( )
67 {
68 return _singleton;
69 }
70
71
72
73
74
75
76 public String getXmlAttributesList( String strCodeType )
77 {
78 StringBuffer sbXML = new StringBuffer( );
79 XmlUtil.beginElement( sbXML, TAG_ATTRIBUTES );
80
81 for ( DocumentAttribute attribute : getAttributesOfDocumentType( strCodeType ) )
82 {
83 findDocumentAttributeByCodeType( sbXML, attribute.getId( ) );
84 }
85
86 XmlUtil.endElement( sbXML, TAG_ATTRIBUTES );
87
88 return sbXML.toString( );
89 }
90
91
92
93
94
95
96 private Collection<DocumentAttribute> getAttributesOfDocumentType( String codeDocumentType )
97 {
98 Collection<DocumentAttribute> listAttributes = DocumentAttributeHome.selectAllAttributesOfDocumentType( codeDocumentType );
99
100 return listAttributes;
101 }
102
103
104
105
106
107
108
109 private void findDocumentAttributeByCodeType( StringBuffer sbXML, int nAttributeId )
110 {
111 DocumentAttribute attribute = DocumentAttributeHome.findByPrimaryKey( nAttributeId );
112
113 XmlUtil.beginElement( sbXML, TAG_ATTRIBUTE );
114 XmlUtil.addElement( sbXML, TAG_ATTRIBUTE_ID, attribute.getId( ) );
115 XmlUtil.addElement( sbXML, TAG_CODE_ATTRIBUTE_TYPE, attribute.getCodeAttributeType( ) );
116 XmlUtil.addElement( sbXML, TAG_CODE_ATTRIBUTE, attribute.getCode( ) );
117 XmlUtil.addElement( sbXML, TAG_DOCUMENT_TYPE_ATTRIBUTE_NAME, attribute.getName( ) );
118 XmlUtil.addElement( sbXML, TAG_ATTRIBUTE_DESCRIPTION, attribute.getDescription( ) );
119 XmlUtil.endElement( sbXML, TAG_ATTRIBUTE );
120 }
121 }