1 package de.webman.content.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 import com.teamkonzept.webman.mainint.db.queries.*; 9 import com.teamkonzept.webman.mainint.events.*; 10 import com.teamkonzept.lib.*; 11 import com.teamkonzept.field.*; 12 import com.teamkonzept.field.db.*; 13 import com.teamkonzept.db.*; 14 import com.teamkonzept.publishing.markups.*; 15 16 import java.sql.*; 17 import java.io.*; 18 19 import de.webman.acl.Policy; 20 21 25 public class CEExtModifyDoneHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults 26 { 27 28 private CEExtModifyDoneHandler() 29 {} 30 31 private static CEExtModifyDoneHandler instance = new CEExtModifyDoneHandler(); 32 33 public static CEExtModifyDoneHandler getInstance() 34 { 35 return instance; 36 } 37 38 public void handleEvent(TKEvent evt) throws TKException 39 { 40 try 41 { 42 CEUtils.checkEvent(evt); 43 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "ce_fields.tmpl" ); 44 ContentContext ceContext = CEUtils.keepCEContext(evt, t ); 45 46 TKFormDBData data = new TKFormDBData( ceContext.formId.intValue() ); 47 TKFormDBInterface.Get( data ); 48 TKBaseField field = TKFieldRegistry.getFieldFromDB( data ); 49 TKHashtable fieldContext = new TKHashtable(); 50 51 String action = evt.getParameter( ACTION, "EXT_MODIFY_DONE" ); 52 String target = evt.getParameter( PARAMETER, "TARGET" ); 53 TKBaseField extField = field.getTarget( target, ""); 54 55 TKHashtable newParams = extField.finishExtModify(action, evt.getParams().getClass( PARAMETER ) ); 56 57 Object realData = field.compileData( "", newParams, fieldContext); 58 59 field.fillIntoTemplate( t, realData, "" ); 60 WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, ContextConstants.CONTENT_EDIT, Policy.CONTENT_TREE_ID, ceContext.conNodeId); 61 evt.finishTemplate(t); 62 } 63 catch (Throwable e) 64 { 65 throw WebmanExceptionHandler.getException(e); 67 } 68 } 69 70 public boolean isHandler(TKEvent evt) 71 { 72 return evt.getName().equalsIgnoreCase("CE_EXT_MODIFY_DONE"); 73 } 74 } 75 | Popular Tags |