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;
35
36 import fr.paris.lutece.plugins.document.business.Document;
37 import fr.paris.lutece.plugins.document.business.DocumentHome;
38
39 import java.util.Collection;
40
41 import javax.servlet.http.HttpServletRequest;
42
43
44
45
46
47 public final class DocumentTools
48 {
49 private static final String PARAMETER_TRACE = "trace";
50 private static final String PARAMETER_REBUILD_VALIDATED_CONTENT = "rebuild_validated_content";
51
52
53
54
55 private DocumentTools( )
56 {
57 }
58
59
60
61
62
63
64
65
66 public static String rebuildXmlContent( HttpServletRequest request )
67 {
68 String strTrace = request.getParameter( PARAMETER_TRACE );
69 boolean bTrace = ( strTrace != null ) ? Boolean.valueOf( strTrace ) : false;
70 String strRebuildValidatedContent = request.getParameter( PARAMETER_REBUILD_VALIDATED_CONTENT );
71 boolean bRebuildValidatedContent = ( strRebuildValidatedContent != null )
72 ? Boolean.valueOf( strRebuildValidatedContent ) : false;
73 StringBuffer sbOutput = new StringBuffer( );
74 Collection<Integer> listDocumentIds = DocumentHome.findAllPrimaryKeys( );
75
76 for ( Integer documentId : listDocumentIds )
77 {
78 Document document = DocumentHome.findByPrimaryKey( documentId );
79
80 if ( document != null )
81 {
82 String strXml = DocumentService.getInstance( ).buildXmlContent( document );
83 document.setXmlWorkingContent( strXml );
84
85 if ( bRebuildValidatedContent )
86 {
87 document.setXmlValidatedContent( strXml );
88 }
89
90 DocumentHome.update( document, false );
91
92 if ( bTrace )
93 {
94 sbOutput.append( "\n-----------------------------" );
95 sbOutput.append( "\nDocument Title : " );
96 sbOutput.append( document.getTitle( ) );
97 sbOutput.append( "\nDocument Type : " );
98 sbOutput.append( document.getCodeDocumentType( ) );
99 sbOutput.append( "\nXML Content : \n" );
100 sbOutput.append( strXml );
101 }
102 }
103 }
104
105 sbOutput.append( "\n=============================\n" );
106 sbOutput.append( listDocumentIds.size( ) );
107 sbOutput.append( " items processed" );
108
109 return sbOutput.toString( );
110 }
111 }