1 4 package com.tcsimulator; 5 6 import org.apache.commons.lang.builder.HashCodeBuilder; 7 8 import com.tc.object.config.ConfigVisitor; 9 import com.tc.object.config.DSOApplicationConfig; 10 import com.tc.objectserver.control.ServerControl; 11 import com.tc.simulator.app.ApplicationConfig; 12 13 import java.util.HashMap ; 14 import java.util.Map ; 15 16 public class ApplicationConfigImpl implements ApplicationConfig { 17 18 private final String applicatonClassname; 19 private final int intensity; 20 private final int globalParticipantCount; 21 private final Map attributes; 22 private int hashCode; 23 24 public static void visitDSOApplicationConfig(ConfigVisitor visitor, DSOApplicationConfig config) { 25 String classname = ApplicationConfigImpl.class.getName(); 26 config.addIncludePattern(classname); 27 config.addWriteAutolock("* " + classname + ".*(..)"); 28 } 29 30 public ApplicationConfigImpl(String applicatonClassname, int intensity, int globalParticipantCount) { 31 this.applicatonClassname = applicatonClassname; 32 this.intensity = intensity; 33 this.globalParticipantCount = globalParticipantCount; 34 attributes = new HashMap (); 35 hashCode = new HashCodeBuilder(17, 37).append(this.applicatonClassname).append(intensity).append(globalParticipantCount) 36 .append(attributes).toHashCode(); 37 } 38 39 public String getApplicationClassname() { 40 return this.applicatonClassname; 41 } 42 43 public int getIntensity() { 44 return intensity; 45 } 46 47 public int getGlobalParticipantCount() { 48 return this.globalParticipantCount; 49 } 50 51 public boolean equals(ApplicationConfig appconfig) { 52 return applicatonClassname.equals(appconfig.getApplicationClassname()) && intensity == appconfig.getIntensity() 53 && globalParticipantCount == appconfig.getGlobalParticipantCount(); 54 } 55 56 public int hashCode() { 57 return hashCode; 58 } 59 60 public void setAttribute(String key, String value) { 61 attributes.put(key, value); 62 } 63 64 public String getAttribute(String key) { 65 return (String ) attributes.get(key); 66 } 67 68 public ApplicationConfig copy() { 69 return new ApplicationConfigImpl(applicatonClassname, intensity, globalParticipantCount); 70 } 71 72 public ServerControl getServerControl() { 73 throw new UnsupportedOperationException ("not implemented, should not be used"); 74 } 75 } 76 | Popular Tags |