Public Member Functions | |
MetadataContainer (String url) | |
boolean | isCompatible (MetadataContainer container, Trace logger) |
String | toString () |
String | getUrl () |
Static Public Member Functions | |
String | getContainerKey (String methodName, Class[] parametersType, Object[] arguments) |
Definition at line 41 of file MetadataContainer.java.
|
Creates a new
Definition at line 51 of file MetadataContainer.java. 00052 {
00053 this.url = url;
00054 }
|
|
Get the metadata container key for the given method.
Definition at line 130 of file MetadataContainer.java. 00132 { 00133 if (parametersType == null) 00134 { // Function without parameters, just store the function name as the key 00135 return methodName; 00136 } 00137 else 00138 { // Include all argument in function name 00139 StringBuffer key = new StringBuffer(methodName); 00140 key.append('('); 00141 for (int i = 0; i < parametersType.length; i++) 00142 { 00143 Class c = parametersType[i]; 00144 if (c != null) 00145 key.append(c.getName()); 00146 else 00147 key.append("null"); 00148 key.append('='); 00149 Object arg = arguments[i]; 00150 if (arg != null) 00151 key.append(arg.toString()); 00152 else 00153 key.append("null"); 00154 key.append(','); 00155 } 00156 // Replace last comma with ) 00157 key.setCharAt(key.length() - 1, ')'); 00158 return key.toString(); 00159 } 00160 }
|
|
Returns the url value.
Definition at line 118 of file MetadataContainer.java. Referenced by org.objectweb.cjdbc.common.sql.metadata.MetadataContainer.isCompatible(). 00119 {
00120 return url;
00121 }
|
|
Check to see if this container metadata is compatible with another container. A general boolean is returned, but all incompatible values are logged as warning in the given parameter
Definition at line 65 of file MetadataContainer.java. References org.objectweb.cjdbc.common.sql.metadata.MetadataContainer.getUrl(), org.objectweb.cjdbc.common.sql.metadata.MetadataContainer.isCompatible(), and org.objectweb.cjdbc.common.log.Trace.warn(). Referenced by org.objectweb.cjdbc.common.sql.metadata.MetadataContainer.isCompatible(). 00066 { 00067 if (keySet() == null) 00068 return container.keySet() == null; 00069 Iterator keys = keySet().iterator(); 00070 boolean isCompatible = true; 00071 String key; 00072 Object value1; 00073 Object value2; 00074 String log; 00075 while (keys.hasNext()) 00076 { 00077 key = (String) keys.next(); 00078 value1 = get(key); 00079 value2 = container.get(key); 00080 if (!value1.equals(value2)) 00081 { 00082 isCompatible = false; 00083 log = "Metadata key [" + key + "] is not compatible. (Backends are: [" 00084 + url + "] and [" + container.getUrl() + "] ; Values are:[" 00085 + value1 + "] and [" + value2 + "])"; 00086 if (logger != null) 00087 logger.warn(log); 00088 else 00089 System.err.println(log); 00090 } 00091 } 00092 return isCompatible; 00093 }
|
|
Definition at line 98 of file MetadataContainer.java. 00099 { 00100 if (keySet() == null) 00101 return "no metadata"; 00102 StringBuffer buffer = new StringBuffer(); 00103 Iterator keys = keySet().iterator(); 00104 String element; 00105 while (keys.hasNext()) 00106 { 00107 element = (String) keys.next(); 00108 buffer.append(element + " : " + this.get(element) + line); 00109 } 00110 return buffer.toString(); 00111 }
|