Changeset 887 for MetadataBeans/trunk/src/test/java/org/eobjects/metamodel/XmlDataContextStrategyTest.java
- Timestamp:
- 02/04/10 21:56:24 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
MetadataBeans/trunk/src/test/java/org/eobjects/metamodel/XmlDataContextStrategyTest.java
r886 r887 27 27 28 28 import org.apache.commons.lang.ArrayUtils; 29 import org.eobjects.metamodel.DataContext;30 import org.eobjects.metamodel.IDataContextStrategy;31 import org.eobjects.metamodel.XmlDataContextStrategy;32 29 import org.eobjects.metamodel.data.DataSet; 33 30 import org.eobjects.metamodel.query.FromItem; … … 40 37 import org.w3c.dom.Element; 41 38 42 43 39 public class XmlDataContextStrategyTest extends MetaModelTestCase { 44 40 … … 46 42 // Retrieve the eobjects.org news rss 47 43 URL url = new URL("http://eobjects.org/trac/blog?format=rss"); 48 44 49 45 try { 50 XmlDataContextStrategy strategy = new XmlDataContextStrategy(url, true); 46 XmlDataContextStrategy strategy = new XmlDataContextStrategy(url, 47 true); 51 48 DataContext dataContext = new DataContext(strategy); 52 49 53 50 Schema schema = dataContext.getDefaultSchema(); 54 51 assertEquals("/blog?format=rss", schema.getName()); 55 52 56 53 assertEquals( 57 54 "{rss,channel_title,channel_link,channel_description,channel_language," 58 + "channel_generator,channel_image_title,channel_image_url,"59 + "channel_image_link,channel_item,channel_item_guid,channel_item_category}",55 + "channel_generator,channel_image_title,channel_image_url," 56 + "channel_image_link,channel_item,channel_item_guid,channel_item_category}", 60 57 ArrayUtils.toString(schema.getTableNames())); 61 58 } catch (IllegalArgumentException e) { … … 76 73 77 74 Schema schema = strategy.getSchemaByName("xml_input_eobjects.xml"); 78 assertEquals("Schema[name=xml_input_eobjects.xml]", schema.toString()); 75 assertEquals("MutableSchema[name=xml_input_eobjects.xml]", schema 76 .toString()); 79 77 80 78 Table[] tables = schema.getTables(); 81 79 assertEquals(5, schema.getTableCount()); 82 80 assertEquals( 83 "{ Table[name=eobjects.dk,type=TABLE,remarks=<null>],"84 + " Table[name=contributors_person,type=TABLE,remarks=<null>],"85 + " Table[name=contributors_person_name,type=TABLE,remarks=<null>],"86 + " Table[name=contributors_person_address,type=TABLE,remarks=<null>],"87 + " Table[name=projects_project,type=TABLE,remarks=<null>]}",81 "{MutableTable[name=eobjects.org,type=TABLE,remarks=<null>]," 82 + "MutableTable[name=contributors_person,type=TABLE,remarks=<null>]," 83 + "MutableTable[name=contributors_person_name,type=TABLE,remarks=<null>]," 84 + "MutableTable[name=contributors_person_address,type=TABLE,remarks=<null>]," 85 + "MutableTable[name=projects_project,type=TABLE,remarks=<null>]}", 88 86 ArrayUtils.toString(tables)); 89 87 90 Table table = schema.getTableByName("eobjects. dk");88 Table table = schema.getTableByName("eobjects.org"); 91 89 assertEquals(2, table.getColumnCount()); 92 90 assertEquals( 93 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"94 + " Column[name=website,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Attribute,columnSize=<null>]}",91 "{MutableColumn[name=eobjects.org_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 92 + "MutableColumn[name=website,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Attribute,columnSize=<null>]}", 95 93 ArrayUtils.toString(table.getColumns())); 96 94 … … 98 96 assertEquals(1, table.getColumnCount()); 99 97 assertEquals( 100 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]}",98 "{MutableColumn[name=contributors_person_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]}", 101 99 ArrayUtils.toString(table.getColumns())); 102 100 … … 104 102 assertEquals(3, table.getColumnCount()); 105 103 assertEquals( 106 "{Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 107 + "Column[name=contributors_person_id,columnNumber=1,type=INTEGER,nullable=false,indexed=false,nativeType=Auto-generated foreign key,columnSize=<null>]," 108 + "Column[name=name,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}", 109 ArrayUtils.toString(table.getColumns())); 110 assertEquals( 111 "{Relationship[primaryTable=contributors_person,primaryColumns={id}," 112 + "foreignTable=contributors_person_name,foreignColumns={contributors_person_id}]}", 104 "{MutableColumn[name=contributors_person_name_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 105 + "MutableColumn[name=contributors_person_id,columnNumber=1,type=INTEGER,nullable=false,indexed=false,nativeType=Auto-generated foreign key,columnSize=<null>]," 106 + "MutableColumn[name=name,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}", 107 ArrayUtils.toString(table.getColumns())); 108 assertEquals( 109 "{ImmutableRelationship[primaryTable=contributors_person,primaryColumns={contributors_person_mdbeans_surrogate_id},foreignTable=contributors_person_name,foreignColumns={contributors_person_id}]}", 113 110 ArrayUtils.toString(table.getRelationships())); 114 111 … … 116 113 assertEquals(3, table.getColumnCount()); 117 114 assertEquals( 118 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"119 + " Column[name=contributors_person_id,columnNumber=1,type=INTEGER,nullable=false,indexed=false,nativeType=Auto-generated foreign key,columnSize=<null>],"120 + " Column[name=address,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}",121 ArrayUtils.toString(table.getColumns())); 122 assertEquals( 123 "{ Relationship[primaryTable=contributors_person,primaryColumns={id},"115 "{MutableColumn[name=contributors_person_address_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 116 + "MutableColumn[name=contributors_person_id,columnNumber=1,type=INTEGER,nullable=false,indexed=false,nativeType=Auto-generated foreign key,columnSize=<null>]," 117 + "MutableColumn[name=address,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}", 118 ArrayUtils.toString(table.getColumns())); 119 assertEquals( 120 "{ImmutableRelationship[primaryTable=contributors_person,primaryColumns={contributors_person_mdbeans_surrogate_id}," 124 121 + "foreignTable=contributors_person_address,foreignColumns={contributors_person_id}]}", 125 122 ArrayUtils.toString(table.getRelationships())); … … 128 125 assertEquals(3, table.getColumnCount()); 129 126 assertEquals( 130 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"131 + " Column[name=project,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>],"132 + " Column[name=name,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Attribute,columnSize=<null>]}",127 "{MutableColumn[name=projects_project_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 128 + "MutableColumn[name=project,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]," 129 + "MutableColumn[name=name,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Attribute,columnSize=<null>]}", 133 130 ArrayUtils.toString(table.getColumns())); 134 131 … … 137 134 assertEquals(2, table.getColumnCount()); 138 135 assertEquals( 139 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"140 + " Column[name=name,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}",136 "{MutableColumn[name=contributors_person_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 137 + "MutableColumn[name=name,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}", 141 138 ArrayUtils.toString(table.getColumns())); 142 139 } … … 150 147 Query q = new Query().select(table.getColumns()).from(table, "p"); 151 148 assertEquals( 152 "SELECT p. id, p.project, p.name FROM xml_input_eobjects.xml.projects_project p",149 "SELECT p.projects_project_mdbeans_surrogate_id, p.project, p.name FROM xml_input_eobjects.xml.projects_project p", 153 150 q.toString()); 154 151 DataSet data = dc.executeQuery(q); … … 177 174 178 175 assertEquals( 179 "SELECT contributors_person. id, contributors_person_address.id, "176 "SELECT contributors_person.contributors_person_mdbeans_surrogate_id, contributors_person_address.contributors_person_address_mdbeans_surrogate_id, " 180 177 + "contributors_person_address.contributors_person_id, contributors_person_address.address " 181 178 + "FROM xml_input_eobjects.xml.contributors_person INNER JOIN xml_input_eobjects.xml.contributors_person_address " 182 + "ON contributors_person. id = contributors_person_address.contributors_person_id",179 + "ON contributors_person.contributors_person_mdbeans_surrogate_id = contributors_person_address.contributors_person_id", 183 180 q.toString()); 184 181 … … 227 224 "foobarSchema", document, true); 228 225 Schema schema = strategy.getSchemaByName("foobarSchema"); 229 assertEquals(" Schema[name=foobarSchema]", schema.toString());230 assertEquals("{ Table[name=child,type=TABLE,remarks=<null>]}",226 assertEquals("MutableSchema[name=foobarSchema]", schema.toString()); 227 assertEquals("{MutableTable[name=child,type=TABLE,remarks=<null>]}", 231 228 ArrayUtils.toString(schema.getTables())); 232 229 Table table = schema.getTables()[0]; 233 230 assertEquals( 234 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"235 + " Column[name=child,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}",231 "{MutableColumn[name=child_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 232 + "MutableColumn[name=child,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}", 236 233 ArrayUtils.toString(table.getColumns())); 237 234 } … … 244 241 Schema schema = dc.getDefaultSchema(); 245 242 assertEquals( 246 "{ Table[name=dependency,type=TABLE,remarks=<null>],"247 + " Table[name=dependency_groupId,type=TABLE,remarks=<null>],"248 + " Table[name=dependency_artifactId,type=TABLE,remarks=<null>],"249 + " Table[name=dependency_version,type=TABLE,remarks=<null>],"250 + " Table[name=dependency_scope,type=TABLE,remarks=<null>]}",243 "{MutableTable[name=dependency,type=TABLE,remarks=<null>]," 244 + "MutableTable[name=dependency_groupId,type=TABLE,remarks=<null>]," 245 + "MutableTable[name=dependency_artifactId,type=TABLE,remarks=<null>]," 246 + "MutableTable[name=dependency_version,type=TABLE,remarks=<null>]," 247 + "MutableTable[name=dependency_scope,type=TABLE,remarks=<null>]}", 251 248 ArrayUtils.toString(schema.getTables())); 252 249 Table dependencyTable = schema.getTableByName("dependency"); 253 250 assertEquals( 254 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]}",251 "{MutableColumn[name=dependency_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]}", 255 252 ArrayUtils.toString(dependencyTable.getColumns())); 256 253 List<Object[]> dependencyData = strategy.materializeMainSchemaTable( … … 264 261 .getRelationships()[0]; 265 262 assertEquals( 266 " Relationship[primaryTable=dependency,primaryColumns={id},foreignTable=dependency_groupId,foreignColumns={dependency_id}]",263 "ImmutableRelationship[primaryTable=dependency,primaryColumns={dependency_mdbeans_surrogate_id},foreignTable=dependency_groupId,foreignColumns={dependency_id}]", 267 264 relationship.toString()); 268 265 … … 270 267 271 268 assertEquals( 272 "{ Table[name=dependency,type=TABLE,remarks=<null>],"273 + " Table[name=dependency_artifactId,type=TABLE,remarks=<null>],"274 + " Table[name=dependency_version,type=TABLE,remarks=<null>],"275 + " Table[name=dependency_scope,type=TABLE,remarks=<null>]}",269 "{MutableTable[name=dependency,type=TABLE,remarks=<null>]," 270 + "MutableTable[name=dependency_artifactId,type=TABLE,remarks=<null>]," 271 + "MutableTable[name=dependency_version,type=TABLE,remarks=<null>]," 272 + "MutableTable[name=dependency_scope,type=TABLE,remarks=<null>]}", 276 273 ArrayUtils.toString(schema.getTables())); 277 274 278 275 assertEquals( 279 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"280 + " Column[name=groupId,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}",276 "{MutableColumn[name=dependency_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 277 + "MutableColumn[name=groupId,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}", 281 278 ArrayUtils.toString(dependencyTable.getColumns())); 282 279 … … 290 287 strategy.autoFlattenTables(); 291 288 292 assertEquals("{Table[name=dependency,type=TABLE,remarks=<null>]}", 289 assertEquals( 290 "{MutableTable[name=dependency,type=TABLE,remarks=<null>]}", 293 291 ArrayUtils.toString(schema.getTables())); 294 292 assertEquals( 295 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"296 + " Column[name=groupId,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>],"297 + " Column[name=artifactId,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>],"298 + " Column[name=version,columnNumber=3,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>],"299 + " Column[name=scope,columnNumber=4,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}",293 "{MutableColumn[name=dependency_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 294 + "MutableColumn[name=groupId,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]," 295 + "MutableColumn[name=artifactId,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]," 296 + "MutableColumn[name=version,columnNumber=3,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]," 297 + "MutableColumn[name=scope,columnNumber=4,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}", 300 298 ArrayUtils.toString(dependencyTable.getColumns())); 301 299 … … 317 315 Table table = schema.getTableByName("dependencies_dependency"); 318 316 assertEquals( 319 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"320 + " Column[name=groupId,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>],"321 + " Column[name=artifactId,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>],"322 + " Column[name=version,columnNumber=3,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>],"323 + " Column[name=scope,columnNumber=4,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}",317 "{MutableColumn[name=dependencies_dependency_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 318 + "MutableColumn[name=groupId,columnNumber=1,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]," 319 + "MutableColumn[name=artifactId,columnNumber=2,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]," 320 + "MutableColumn[name=version,columnNumber=3,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]," 321 + "MutableColumn[name=scope,columnNumber=4,type=VARCHAR,nullable=true,indexed=false,nativeType=XML Text,columnSize=<null>]}", 324 322 ArrayUtils.toString(table.getColumns())); 325 323 … … 327 325 328 326 assertEquals( 329 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"330 + " Column[name=groupId,columnNumber=1,type=VARCHAR,nullable=false,indexed=false,nativeType=Text,columnSize=<null>],"331 + " Column[name=artifactId,columnNumber=2,type=VARCHAR,nullable=false,indexed=false,nativeType=Text,columnSize=<null>],"332 + " Column[name=version,columnNumber=3,type=VARCHAR,nullable=false,indexed=false,nativeType=Text,columnSize=<null>],"333 + " Column[name=scope,columnNumber=4,type=VARCHAR,nullable=true,indexed=false,nativeType=Text,columnSize=<null>]}",327 "{MutableColumn[name=dependencies_dependency_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 328 + "MutableColumn[name=groupId,columnNumber=1,type=VARCHAR,nullable=false,indexed=false,nativeType=Text,columnSize=<null>]," 329 + "MutableColumn[name=artifactId,columnNumber=2,type=VARCHAR,nullable=false,indexed=false,nativeType=Text,columnSize=<null>]," 330 + "MutableColumn[name=version,columnNumber=3,type=VARCHAR,nullable=false,indexed=false,nativeType=Text,columnSize=<null>]," 331 + "MutableColumn[name=scope,columnNumber=4,type=VARCHAR,nullable=true,indexed=false,nativeType=Text,columnSize=<null>]}", 334 332 ArrayUtils.toString(table.getColumns())); 335 333 336 334 table = schema.getTableByName("inceptionYear"); 337 335 assertEquals( 338 "{ Column[name=id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>],"339 + " Column[name=inceptionYear,columnNumber=1,type=INTEGER,nullable=false,indexed=false,nativeType=Text transformed to integer,columnSize=<null>]}",336 "{MutableColumn[name=inceptionYear_mdbeans_surrogate_id,columnNumber=0,type=INTEGER,nullable=false,indexed=true,nativeType=Auto-generated primary key,columnSize=<null>]," 337 + "MutableColumn[name=inceptionYear,columnNumber=1,type=INTEGER,nullable=false,indexed=false,nativeType=Text transformed to integer,columnSize=<null>]}", 340 338 ArrayUtils.toString(table.getColumns())); 341 339 … … 362 360 ArrayUtils.toString(schema.getTableNames())); 363 361 assertEquals( 364 "{ id,OSType,lastStateChange,name,uuid,enabled,enabled,RAMSize,enabled,enabled,mode,value,"362 "{Machine_mdbeans_surrogate_id,OSType,lastStateChange,name,uuid,enabled,enabled,RAMSize,enabled,enabled,mode,value," 365 363 + "enabled,type,enabled,mode}", ArrayUtils 366 364 .toString(schema.getTableByName("Machine")
Note: See TracChangeset
for help on using the changeset viewer.
