1 package de.webman.sitetree.eventhandler; 2 3 import com.teamkonzept.web.*; 4 import com.teamkonzept.webman.*; 5 import com.teamkonzept.webman.db.TKWebmanDBManager; 6 import com.teamkonzept.webman.mainint.*; 7 import com.teamkonzept.webman.mainint.db.*; 8 9 10 import com.teamkonzept.webman.mainint.db.queries.*; 11 import com.teamkonzept.webman.mainint.events.*; 12 import com.teamkonzept.lib.*; 13 import com.teamkonzept.field.*; 14 import com.teamkonzept.field.db.*; 15 import com.teamkonzept.db.*; 16 import com.teamkonzept.publishing.markups.*; 17 import com.teamkonzept.webman.mainint.events.*; 18 19 import java.sql.*; 20 import java.io.*; 21 import java.util.*; 22 23 29 public class STNewDocumentHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults 30 { 31 32 private STNewDocumentHandler() 33 {} 34 35 private static STNewDocumentHandler instance = new STNewDocumentHandler(); 36 37 public static STNewDocumentHandler getInstance() 38 { 39 return instance; 40 } 41 42 public void handleEvent(TKEvent evt) throws TKException 43 { 44 try 45 { 46 WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE); 47 String sDocType = evt.getParameter( PARAMETER, "DOCUMENT_TYPE" ); 48 String sExtUrl = ""; 49 String sPresId; 50 if( sDocType.equals( "2" ) ) 51 { 52 TKQuery q = TKDBManager.newQuery(TKDBPresentationGet.class); 53 q.execute(); 54 ResultSet rs = q.fetchResultSet(); 55 56 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_newExtDoc.tmpl" ); 57 TKDBTemplate.prepareListTemplate( rs, t, "ST_PRESENTATION_LIST" ); 58 sPresId = evt.getParameter( PARAMETER, "PRESENTATION_ID" ); 59 t.set( evt.getParams().getClass( PARAMETER ) ); 60 if(sPresId == null || sPresId.equals("")){ 62 throw new TKUserException("No presentation specified", NO_PRESENTATION, USER_SEVERITY, true, null); 63 } 64 65 t.set( "THE_PRESENTATION_ID", sPresId); 66 evt.finishTemplate(t); 67 return; 68 } 69 else if( sDocType.equals( "Fake" ) ){ sExtUrl = evt.getParameter( PARAMETER, "EXTERNAL_URL" ); 71 sDocType = "2"; sPresId = evt.getParameter( PARAMETER, "THE_PRESENTATION_ID" ); 73 } 74 else { 75 sPresId = evt.getParameter( PARAMETER, "PRESENTATION_ID" ); 76 } 77 if(sPresId == null || sPresId.equals("")){ 79 throw new TKUserException("No presentation specified", NO_PRESENTATION, USER_SEVERITY, false, null); 80 } 81 String sNodeId = evt.getParameter( PARAMETER, "SITE_NODE_ID" ); 82 String sDocName = evt.getParameter( PARAMETER, "NEW_DOC_NAME" ); 83 if (sDocName == null || sDocName.equals("")) 84 throw new TKUserException("No name specified", INPUT_CANNOT_BE_EMPTY, USER_SEVERITY, false, null); 85 86 String sDocShortName = evt.getParameter( PARAMETER, "NEW_DOC_SHORTNAME" ); 87 if (sDocShortName == null || sDocShortName.equals("")) 88 throw new TKUserException("No shortname specified", INPUT_CANNOT_BE_EMPTY, USER_SEVERITY, false, null); 89 90 String sHeretable = evt.getNotNullParameter( PARAMETER, "INHERITABLE" ); 91 String sInheritBeginLevel = evt.getParameter( PARAMETER, "INHERIT_BEGIN_LEVEL" ); 92 String sInheritEndLevel = evt.getParameter( PARAMETER, "INHERIT_END_LEVEL" ); 93 int heretable = sHeretable.equals( "" ) ? 0 : Integer.parseInt( sHeretable ); 94 Integer inheritBeginLevel = sInheritBeginLevel.equals("") ? null : new Integer (sInheritBeginLevel); 95 Integer inheritEndLevel = sInheritEndLevel.equals("") ? null : new Integer (sInheritEndLevel); 96 97 TKQuery q = TKDBManager.newQuery(TKDBSiteDocNew.class); 98 q.setQueryParams( "SITE_NODE_ID", new Integer (sNodeId) ); 99 q.setQueryParams( "PRESENTATION_ID", new Integer (sPresId) ); 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 q.execute(); 109 ResultSet rs = q.fetchResultSet(); 110 rs.next(); 111 String siteNodeIdx = rs.getString("SITE_NODE_DOC_IDX"); 112 evt.getParams().put(PARAMETER, "SITE_NODE_DOC_IDX", siteNodeIdx); 113 evt.getParams().put(PARAMETER, "DOCUMENT_NAME", sDocName); 114 evt.getParams().put(PARAMETER, "DOCUMENT_SHORTNAME", sDocShortName); 115 116 STEditDocumentHandler.getInstance().handleEvent(evt); 117 } 118 catch(TKUserException e){ 119 throw e; 120 } 121 catch (Throwable e) 122 { 123 throw WebmanExceptionHandler.getException(e); 125 } 126 } 127 128 public boolean isHandler(TKEvent evt) 129 { 130 return evt.getName().equalsIgnoreCase("ST_NEW_DOC"); 131 } 132 } 133 | Popular Tags |