1 5 package com.teamkonzept.publishing.markups.db; 6 7 import java.sql.*; 8 import java.util.Enumeration ; 9 10 import com.teamkonzept.db.*; 11 import com.teamkonzept.lib.*; 12 import com.teamkonzept.publishing.markups.*; 13 import org.apache.log4j.Category; 14 15 public class TKMarkupDefinitionDBData extends TKDBVectorData 16 { 17 private static final Category cat = Category.getInstance(TKMarkupDefinitionDBData.class); 18 19 public TKMarkupDefinition markup; 20 public TKVector params = new TKVector(); 22 public TKMarkupDefinitionDBData () { 23 24 this.markup = null; 25 } 26 27 public TKMarkupDefinitionDBData (TKMarkupDefinition markup, StringBuffer diagnostics) { 28 29 this.markup = markup; 30 31 Enumeration e = markup.allParams(); 32 while ((e != null) && e.hasMoreElements()) { 33 34 TKMarkupParamCall param = (TKMarkupParamCall) e.nextElement(); 35 if (param == null) continue; 36 37 if ((param.param.id < 0) && (diagnostics != null)) { 38 39 if (diagnostics.length() != 0) diagnostics.append ("; "); 40 diagnostics.append ("Wrong id ="+param.param.id+" for param-call: "+param); 41 } 42 43 TKMarkupParamCallTableData paramData = new TKMarkupParamCallTableData (markup.id,param); 44 params.addElement (paramData); 45 } 46 } 47 48 public void completeGet () { 49 50 Enumeration e = params.elements(); 51 while ((e != null) && e.hasMoreElements()) { 52 53 TKMarkupParamCallTableData paramData = (TKMarkupParamCallTableData) e.nextElement(); 54 if (paramData != null) markup.defineParam (paramData.param); 55 } 56 } 57 58 public void completeNew () { 59 60 Enumeration e = params.elements(); 61 while ((e != null) && e.hasMoreElements()) { 62 63 TKMarkupParamCallTableData paramData = (TKMarkupParamCallTableData) e.nextElement(); 64 if (paramData != null) paramData.markupId = markup.id; 65 66 if (paramData != null) markup.defineParam (paramData.param); 67 } 68 } 69 70 public void insertPrimaryIntoQuery (TKQuery query) throws SQLException { 71 72 query.setQueryParams ("ATTRIBUTE_ID",new Integer (markup.id)); 73 } 74 75 public void insertInitialIntoQuery (TKQuery query) throws SQLException { 76 77 query.setQueryParams ("NAME",markup.name); 78 query.setQueryParams ("INFO",markup.info); 79 query.setQueryParams ("IS_ATOM",new Integer (markup.isAtom ? 1 : 0)); 80 query.setQueryParams ("VALIDATION_ID",null); 81 82 if ((markup.idPar == null) || (markup.idPar.param.id < 0)) 83 query.setQueryParams ("ID_PARAMETER_ID",null); 84 else query.setQueryParams ("ID_PARAMETER_ID",new Integer (markup.idPar.param.id)); 85 } 86 87 public void insertIntoQuery (TKQuery query) throws SQLException { 88 89 insertPrimaryIntoQuery (query); 90 insertInitialIntoQuery (query); 91 } 92 93 public static TKMarkupDefinition newMarkupFromResultSet (ResultSet r) { 94 95 try { 96 int id = r.getInt ("ATTRIBUTE_ID"); 97 String name = r.getString ("NAME"); 98 String info = r.getString ("INFO"); 99 boolean isAtom = r.getBoolean ("IS_ATOM"); 100 int validationId = r.getInt ("VALIDATION_ID"); 101 int idParameterId = r.getInt ("ID_PARAMETER_ID"); 102 103 return new TKMarkupDefinition (id,name,idParameterId,isAtom,info); 104 105 } catch (Exception ex) 106 { 107 cat.error("TKMarkupDefinitionDBData.newMarkupFromResultSet() failed", ex); 108 return null; 109 } 110 } 111 112 public void fill (ResultSet r) throws SQLException { 113 114 markup = newMarkupFromResultSet (r); 115 } 116 117 public TKVector getVector (String table) { 118 119 if (table.equals("TEXT_ATTRIBUTE_SYNTAX")) return params; 120 else return null; 121 } 122 123 public TKDBTableData getProtoType (String table) { 124 125 if (table.equals("TEXT_ATTRIBUTE_SYNTAX")) return new TKMarkupParamCallTableData (); 126 else return null; 127 } 128 129 public String toString() { 130 131 return "(MARKUP_DEFINITION :=" + markup + ")"; 132 } 133 } 134 135 | Popular Tags |