1 package de.webman.sitetree.eventhandler; 2 3 4 import com.teamkonzept.web.*; 5 import com.teamkonzept.webman.*; 6 import com.teamkonzept.webman.db.TKWebmanDBManager; 7 import com.teamkonzept.webman.mainint.*; 8 import com.teamkonzept.webman.mainint.db.*; 9 10 11 import com.teamkonzept.webman.mainint.db.queries.*; 12 import com.teamkonzept.webman.mainint.events.*; 13 import com.teamkonzept.lib.*; 14 import com.teamkonzept.field.*; 15 import com.teamkonzept.field.db.*; 16 import com.teamkonzept.db.*; 17 import com.teamkonzept.publishing.markups.*; 18 19 import java.sql.*; 20 import java.io.*; 21 import java.util.*; 22 import org.apache.log4j.Category; 23 24 30 public class STUpdateDocumentHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults 31 { 32 33 private static Category cat = Category.getInstance(STUpdateDocumentHandler.class); 34 35 private STUpdateDocumentHandler() 36 {} 37 38 private static STUpdateDocumentHandler instance = new STUpdateDocumentHandler(); 39 40 public static STUpdateDocumentHandler getInstance() 41 { 42 return instance; 43 } 44 45 public void handleEvent(TKEvent evt) throws TKException 46 { 47 try 48 { 49 WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE); 50 String sDocType = evt.getParameter( PARAMETER, "DOCUMENT_TYPE" ); 51 String sOldDocType = evt.getParameter( PARAMETER, "OLD_DOC_TYPE" ); 52 String sExtUrl = ""; 53 54 cat.debug(" sDocType " + sDocType + " sOldDocType "+ sOldDocType); 55 cat.debug(" evt.getParams() " + evt.getParams()); 56 57 58 if( sDocType.equals( "2" ) && sOldDocType.equals( "1" ) ) 59 { 60 TKQuery q = TKDBManager.newQuery(TKDBPresentationGet.class); 61 q.execute(); 62 ResultSet rs = q.fetchResultSet(); 63 64 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_newExtDoc.tmpl" ); 65 TKDBTemplate.prepareListTemplate( rs, t, "ST_PRESENTATION_LIST" ); 66 67 t.set( evt.getParams().getClass( PARAMETER ) ); 68 t.set( "UPDATE", "1" ); 69 t.set( "THE_PRESENTATION_ID", evt.getParameter( PARAMETER, "PRESENTATION_ID" ) ); 70 evt.finishTemplate(t); 71 return; 72 } 73 if( sDocType.equals( "2" ) && sOldDocType.equals( "2" ) ){ sExtUrl = evt.getParameter( PARAMETER, "EXTERNAL_URL" ); 75 } 76 else if( sDocType.equals( "Fake" ) ){ sExtUrl = evt.getParameter( PARAMETER, "EXTERNAL_URL" ); 78 sDocType = "2"; } 80 81 String sNodeId = evt.getParameter( PARAMETER, "SITE_NODE_ID" ); 82 String sDocIdx = evt.getParameter( PARAMETER, "SITE_NODE_DOC_IDX" ); 83 String thePresId = evt.getParameter( PARAMETER, "THE_PRESENTATION_ID" ); String presId = evt.getParameter( PARAMETER, "PRESENTATION_ID" ); String sDocName = evt.getParameter( PARAMETER, "DOCUMENT_NAME" ); 86 String sDocShortName = evt.getParameter( PARAMETER, "DOCUMENT_SHORTNAME" ); 87 String sHeretable = evt.getNotNullParameter( PARAMETER, "INHERITABLE" ); 88 String sInheritBeginLevel = evt.getNotNullParameter( PARAMETER, "INHERIT_BEGIN_LEVEL" ); 89 String sInheritEndLevel = evt.getNotNullParameter( PARAMETER, "INHERIT_END_LEVEL" ); 90 int heretable = sHeretable.equals( "" ) ? 0 : Integer.parseInt( sHeretable ); 91 Integer inheritBeginLevel = sInheritBeginLevel.equals("") ? null : new Integer (sInheritBeginLevel); 92 Integer inheritEndLevel = sInheritEndLevel.equals("") ? null : new Integer (sInheritEndLevel); 93 94 TKQuery q; 95 if( !thePresId.equals( presId ) ) { q = TKDBManager.newQuery(TKDBSiteDocUpdatePres.class); 97 q.setQueryParams( "SITE_NODE_ID", new Integer (sNodeId) ); 98 q.setQueryParams( "SITE_NODE_DOC_IDX", new Integer (sDocIdx) ); 99 q.setQueryParams( "PRESENTATION_ID", new Integer (thePresId) ); 100 q.setQueryParams( "DOCUMENT_NAME", sDocName ); 101 q.setQueryParams( "DOCUMENT_SHORTNAME", sDocShortName ); 102 q.setQueryParams( "DOCUMENT_TYPE", new Integer (sDocType) ); 103 q.setQueryParams( "EXTERNAL_URL", sExtUrl.equals( "" )?null:sExtUrl ); 104 q.setQueryParams( "INHERITABLE", new Integer (heretable) ); 105 q.setQueryParams( "INHERIT_BEGIN_LEVEL", inheritBeginLevel); 106 q.setQueryParams( "INHERIT_END_LEVEL", inheritEndLevel); 107 } 108 else { q = TKDBManager.newQuery(TKDBSiteDocUpdate.class); 110 q.setQueryParams( "SITE_NODE_ID", new Integer (sNodeId) ); 111 q.setQueryParams( "SITE_NODE_DOC_IDX", new Integer (sDocIdx) ); 112 q.setQueryParams( "DOCUMENT_NAME", sDocName ); 113 q.setQueryParams( "DOCUMENT_SHORTNAME", sDocShortName ); 114 q.setQueryParams( "DOCUMENT_TYPE", new Integer (sDocType) ); 115 q.setQueryParams( "EXTERNAL_URL", sExtUrl.equals( "" )?null:sExtUrl ); 116 q.setQueryParams( "INHERITABLE", (heretable==-1)?new Integer (0):new Integer (heretable) ); 117 q.setQueryParams( "INHERIT_BEGIN_LEVEL", inheritBeginLevel); 118 q.setQueryParams( "INHERIT_END_LEVEL", inheritEndLevel); 119 } 120 q.execute(); 121 q.fetchResultSet(); 123 STEditHandler.getInstance().handleEvent(evt); 124 } 125 catch (Throwable e) 126 { 127 throw WebmanExceptionHandler.getException(e); 129 } 130 } 131 132 public boolean isHandler(TKEvent evt) 133 { 134 return evt.getName().equalsIgnoreCase("ST_UPDATE_DOCUMENT"); 135 } 136 } 137 | Popular Tags |