1 23 24 28 29 package com.sun.enterprise.config.serverbeans; 30 31 import org.w3c.dom.*; 32 import org.netbeans.modules.schema2beans.*; 33 import java.beans.*; 34 import java.util.*; 35 import java.io.Serializable ; 36 import com.sun.enterprise.config.ConfigBean; 37 import com.sun.enterprise.config.ConfigException; 38 import com.sun.enterprise.config.StaleWriteConfigException; 39 import com.sun.enterprise.util.i18n.StringManager; 40 41 43 public class TransactionService extends ConfigBean implements Serializable 44 { 45 46 static Vector comparators = new Vector(); 47 private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(4, 2, 0); 48 49 static public final String ELEMENT_PROPERTY = "ElementProperty"; 50 51 public TransactionService() { 52 this(Common.USE_DEFAULT_VALUES); 53 } 54 55 public TransactionService(int options) 56 { 57 super(comparators, runtimeVersion); 58 initPropertyTables(1); 60 this.createProperty("property", ELEMENT_PROPERTY, 61 Common.TYPE_0_N | Common.TYPE_BEAN | Common.TYPE_KEY, 62 ElementProperty.class); 63 this.createAttribute(ELEMENT_PROPERTY, "name", "Name", 64 AttrProp.CDATA | AttrProp.REQUIRED, 65 null, null); 66 this.createAttribute(ELEMENT_PROPERTY, "value", "Value", 67 AttrProp.CDATA | AttrProp.REQUIRED, 68 null, null); 69 this.initialize(options); 70 } 71 72 void initialize(int options) { 74 75 } 76 77 public void setElementProperty(int index, ElementProperty value) { 79 this.setValue(ELEMENT_PROPERTY, index, value); 80 } 81 82 public ElementProperty getElementProperty(int index) { 84 return (ElementProperty)this.getValue(ELEMENT_PROPERTY, index); 85 } 86 87 public void setElementProperty(ElementProperty[] value) { 89 this.setValue(ELEMENT_PROPERTY, value); 90 } 91 92 public ElementProperty[] getElementProperty() { 94 return (ElementProperty[])this.getValues(ELEMENT_PROPERTY); 95 } 96 97 public int sizeElementProperty() { 99 return this.size(ELEMENT_PROPERTY); 100 } 101 102 public int addElementProperty(ElementProperty value) 104 throws ConfigException{ 105 return addElementProperty(value, true); 106 } 107 108 public int addElementProperty(ElementProperty value, boolean overwrite) 110 throws ConfigException{ 111 ElementProperty old = getElementPropertyByName(value.getName()); 112 if(old != null) { 113 throw new ConfigException(StringManager.getManager(TransactionService.class).getString("cannotAddDuplicate", "ElementProperty")); 114 } 115 return this.addValue(ELEMENT_PROPERTY, value, overwrite); 116 } 117 118 public int removeElementProperty(ElementProperty value){ 123 return this.removeValue(ELEMENT_PROPERTY, value); 124 } 125 126 public int removeElementProperty(ElementProperty value, boolean overwrite) 132 throws StaleWriteConfigException{ 133 return this.removeValue(ELEMENT_PROPERTY, value, overwrite); 134 } 135 136 public ElementProperty getElementPropertyByName(String id) { 137 if (null != id) { id = id.trim(); } 138 ElementProperty[] o = getElementProperty(); 139 if (o == null) return null; 140 141 for (int i=0; i < o.length; i++) { 142 if(o[i].getAttributeValue(Common.convertName(ServerTags.NAME)).equals(id)) { 143 return o[i]; 144 } 145 } 146 147 return null; 148 149 } 150 154 public boolean isAutomaticRecovery() { 155 return toBoolean(getAttributeValue(ServerTags.AUTOMATIC_RECOVERY)); 156 } 157 162 public void setAutomaticRecovery(boolean v, boolean overwrite) throws StaleWriteConfigException { 163 setAttributeValue(ServerTags.AUTOMATIC_RECOVERY, ""+(v==true), overwrite); 164 } 165 169 public void setAutomaticRecovery(boolean v) { 170 setAttributeValue(ServerTags.AUTOMATIC_RECOVERY, ""+(v==true)); 171 } 172 175 public static String getDefaultAutomaticRecovery() { 176 return "false".trim(); 177 } 178 182 public String getTimeoutInSeconds() { 183 return getAttributeValue(ServerTags.TIMEOUT_IN_SECONDS); 184 } 185 190 public void setTimeoutInSeconds(String v, boolean overwrite) throws StaleWriteConfigException { 191 setAttributeValue(ServerTags.TIMEOUT_IN_SECONDS, v, overwrite); 192 } 193 197 public void setTimeoutInSeconds(String v) { 198 setAttributeValue(ServerTags.TIMEOUT_IN_SECONDS, v); 199 } 200 203 public static String getDefaultTimeoutInSeconds() { 204 return "0".trim(); 205 } 206 210 public String getTxLogDir() { 211 return getAttributeValue(ServerTags.TX_LOG_DIR); 212 } 213 218 public void setTxLogDir(String v, boolean overwrite) throws StaleWriteConfigException { 219 setAttributeValue(ServerTags.TX_LOG_DIR, v, overwrite); 220 } 221 225 public void setTxLogDir(String v) { 226 setAttributeValue(ServerTags.TX_LOG_DIR, v); 227 } 228 232 public String getHeuristicDecision() { 233 return getAttributeValue(ServerTags.HEURISTIC_DECISION); 234 } 235 240 public void setHeuristicDecision(String v, boolean overwrite) throws StaleWriteConfigException { 241 setAttributeValue(ServerTags.HEURISTIC_DECISION, v, overwrite); 242 } 243 247 public void setHeuristicDecision(String v) { 248 setAttributeValue(ServerTags.HEURISTIC_DECISION, v); 249 } 250 253 public static String getDefaultHeuristicDecision() { 254 return "rollback".trim(); 255 } 256 260 public String getRetryTimeoutInSeconds() { 261 return getAttributeValue(ServerTags.RETRY_TIMEOUT_IN_SECONDS); 262 } 263 268 public void setRetryTimeoutInSeconds(String v, boolean overwrite) throws StaleWriteConfigException { 269 setAttributeValue(ServerTags.RETRY_TIMEOUT_IN_SECONDS, v, overwrite); 270 } 271 275 public void setRetryTimeoutInSeconds(String v) { 276 setAttributeValue(ServerTags.RETRY_TIMEOUT_IN_SECONDS, v); 277 } 278 281 public static String getDefaultRetryTimeoutInSeconds() { 282 return "600".trim(); 283 } 284 288 public String getKeypointInterval() { 289 return getAttributeValue(ServerTags.KEYPOINT_INTERVAL); 290 } 291 296 public void setKeypointInterval(String v, boolean overwrite) throws StaleWriteConfigException { 297 setAttributeValue(ServerTags.KEYPOINT_INTERVAL, v, overwrite); 298 } 299 303 public void setKeypointInterval(String v) { 304 setAttributeValue(ServerTags.KEYPOINT_INTERVAL, v); 305 } 306 309 public static String getDefaultKeypointInterval() { 310 return "2048".trim(); 311 } 312 316 public ElementProperty newElementProperty() { 317 return new ElementProperty(); 318 } 319 320 325 protected String getRelativeXPath() { 326 String ret = null; 327 ret = "transaction-service"; 328 return (null != ret ? ret.trim() : null); 329 } 330 331 334 public static String getDefaultAttributeValue(String attr) { 335 if(attr == null) return null; 336 attr = attr.trim(); 337 if(attr.equals(ServerTags.AUTOMATIC_RECOVERY)) return "false".trim(); 338 if(attr.equals(ServerTags.TIMEOUT_IN_SECONDS)) return "0".trim(); 339 if(attr.equals(ServerTags.HEURISTIC_DECISION)) return "rollback".trim(); 340 if(attr.equals(ServerTags.RETRY_TIMEOUT_IN_SECONDS)) return "600".trim(); 341 if(attr.equals(ServerTags.KEYPOINT_INTERVAL)) return "2048".trim(); 342 return null; 343 } 344 public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { 346 comparators.add(c); 347 } 348 349 public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { 351 comparators.remove(c); 352 } 353 public void validate() throws org.netbeans.modules.schema2beans.ValidateException { 354 } 355 356 public void dump(StringBuffer str, String indent){ 358 String s; 359 Object o; 360 org.netbeans.modules.schema2beans.BaseBean n; 361 str.append(indent); 362 str.append("ElementProperty["+this.sizeElementProperty()+"]"); for(int i=0; i<this.sizeElementProperty(); i++) 364 { 365 str.append(indent+"\t"); 366 str.append("#"+i+":"); 367 n = (org.netbeans.modules.schema2beans.BaseBean) this.getElementProperty(i); 368 if (n != null) 369 n.dump(str, indent + "\t"); else 371 str.append(indent+"\tnull"); this.dumpAttributes(ELEMENT_PROPERTY, i, str, indent); 373 } 374 375 } 376 public String dumpBeanNode(){ 377 StringBuffer str = new StringBuffer (); 378 str.append("TransactionService\n"); this.dump(str, "\n "); return str.toString(); 381 }} 382 383 385 | Popular Tags |