test_class.declarator: thrown = ExpectedException.none()
test_class.modifier: @Rule
  	public
test_class.original_string: @Rule
  	public ExpectedException thrown = ExpectedException.none();
test_class.type: ExpectedException
test_class.var_name: thrown
test_class.file: java/schema/src/test/java/com/expedia/tesla/schema/TmlProcessorTest.java
test_class.identifier: TmlProcessorTest
test_case.body: @Test
  	public void parseSuccess() throws Exception {
  		Schema schema = TmlProcessor.build("src/test/resources/example-v2.tml");
  
  		Class person = (Class) schema
  				.findType("class<com.expedia.tesla.example.Person>");
  		assertNotNull(person);
  
  		assertEquals(Primitive.STRING, person.findField("Name").getType());
  
  		Primitive pbyte = (Primitive) schema.findType("byte");
  		assertEquals(Primitive.BYTE, pbyte);
  		Nullable nullableByte = (Nullable) schema.findType("nullable<byte>");
  		assertEquals(pbyte, nullableByte.getElementType());
  
  		assertEquals(nullableByte, person.findField("Age").getType());
  
  		Enum sex = (Enum) schema.findType("enum<org.tesla.example.Sex>");
  		assertNotNull(sex);
  
  		assertEquals(sex, person.findField("Sex").getType());
  
  		Class contact = (Class) schema
  				.findType("class<com.expedia.tesla.example.Contact>");
  		assertNotNull(contact);
  		Array contactArray = (Array) schema
  				.findType("array<class<com.expedia.tesla.example.Contact>>");
  		assertNotNull(contactArray);
  		assertEquals(contact, contactArray.getElementType());
  
  		assertEquals(contactArray, person.findField("Contacts").getType());
  
  		Collection<EnumEntry> sexValues = sex.getEntries();
  		assertEquals(2, sexValues.size());
  		assertEquals(1, sex.findEntry("Male").getValue());
  		assertEquals(2, sex.findEntry("Female").getValue());
  		assertEquals("Male", sex.findEntry("Male").getName());
  		assertEquals("Female", sex.findEntry("Female").getName());
  
  		Class employee = (Class) schema
  				.findType("class<com.expedia.tesla.example.Employee>");
  		assertNotNull(employee);
  		assertEquals(person, employee.getBases().get(0));
  
  		assertEquals(Primitive.STRING, employee.findField("Title").getType());
  	}
test_case.class_method_signature: TmlProcessorTest.parseSuccess()
test_case.full_signature: @Test public void parseSuccess()
test_case.identifier: parseSuccess
test_case.invocations: build findType assertNotNull assertEquals getType findField findType assertEquals findType assertEquals getElementType assertEquals getType findField findType assertNotNull assertEquals getType findField findType assertNotNull findType assertNotNull assertEquals getElementType assertEquals getType findField getEntries assertEquals size assertEquals getValue findEntry assertEquals getValue findEntry assertEquals getName findEntry assertEquals getName findEntry findType assertNotNull assertEquals get getBases assertEquals getType findField
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void parseSuccess()
focal_class.declarator: PRIMITIVE_NAMES = new HashSet<String>()
focal_class.modifier: private static final
focal_class.original_string: private static final Set<String> PRIMITIVE_NAMES = new HashSet<String>();
focal_class.type: Set<String>
focal_class.var_name: PRIMITIVE_NAMES
focal_class.declarator: TYPE_ID_KEYWORDS_PATTERN = Pattern.compile(",|<|>|\\[|\\]|array|map|nullable|reference|poly")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern TYPE_ID_KEYWORDS_PATTERN = Pattern.compile(",|<|>|\\[|\\]|array|map|nullable|reference|poly");
focal_class.type: Pattern
focal_class.var_name: TYPE_ID_KEYWORDS_PATTERN
focal_class.declarator: jaxbContext
focal_class.modifier: private static
focal_class.original_string: private static JAXBContext jaxbContext;
focal_class.type: JAXBContext
focal_class.var_name: jaxbContext
focal_class.file: java/schema/src/main/java/com/expedia/tesla/schema/TmlProcessor.java
focal_class.identifier: TmlProcessor
focal_class.class_method_signature: TmlProcessor.load(String path)
focal_class.full_signature: public static Collection<Object> load(String path)
focal_class.identifier: load
focal_class.modifiers: public static
focal_class.parameters: (String path)
focal_class.return: Collection<Object>
focal_class.signature: Collection<Object> load(String path)
focal_class.class_method_signature: TmlProcessor.save(Schema schema, OutputStream os)
focal_class.full_signature: public static void save(Schema schema, OutputStream os)
focal_class.identifier: save
focal_class.modifiers: public static
focal_class.parameters: (Schema schema, OutputStream os)
focal_class.return: void
focal_class.signature: void save(Schema schema, OutputStream os)
focal_class.class_method_signature: TmlProcessor.save(List<Object> userTypes, OutputStream os,
  			String versionName, int versionNumber)
focal_class.full_signature: public static void save(List<Object> userTypes, OutputStream os,
  			String versionName, int versionNumber)
focal_class.identifier: save
focal_class.modifiers: public static
focal_class.parameters: (List<Object> userTypes, OutputStream os,
  			String versionName, int versionNumber)
focal_class.return: void
focal_class.signature: void save(List<Object> userTypes, OutputStream os,
  			String versionName, int versionNumber)
focal_class.class_method_signature: TmlProcessor.array(String elementType, int rank)
focal_class.full_signature: private static String array(String elementType, int rank)
focal_class.identifier: array
focal_class.modifiers: private static
focal_class.parameters: (String elementType, int rank)
focal_class.return: String
focal_class.signature: String array(String elementType, int rank)
focal_class.class_method_signature: TmlProcessor.getTypeName(Object classOrEnum)
focal_class.full_signature: private static String getTypeName(Object classOrEnum)
focal_class.identifier: getTypeName
focal_class.modifiers: private static
focal_class.parameters: (Object classOrEnum)
focal_class.return: String
focal_class.signature: String getTypeName(Object classOrEnum)
focal_class.class_method_signature: TmlProcessor.isPrimitive(String name)
focal_class.full_signature: private static boolean isPrimitive(String name)
focal_class.identifier: isPrimitive
focal_class.modifiers: private static
focal_class.parameters: (String name)
focal_class.return: boolean
focal_class.signature: boolean isPrimitive(String name)
focal_class.class_method_signature: TmlProcessor.preprocess(TmlGraph graph, File file)
focal_class.full_signature: private static void preprocess(TmlGraph graph, File file)
focal_class.identifier: preprocess
focal_class.modifiers: private static
focal_class.parameters: (TmlGraph graph, File file)
focal_class.return: void
focal_class.signature: void preprocess(TmlGraph graph, File file)
focal_class.class_method_signature: TmlProcessor.resolveTypeReferenceToTypeId(String name,
  			String defaultNamespace, List<Object> currentUserTypes,
  			List<Object> importedUserTypes)
focal_class.full_signature: private static String resolveTypeReferenceToTypeId(String name,
  			String defaultNamespace, List<Object> currentUserTypes,
  			List<Object> importedUserTypes)
focal_class.identifier: resolveTypeReferenceToTypeId
focal_class.modifiers: private static
focal_class.parameters: (String name,
  			String defaultNamespace, List<Object> currentUserTypes,
  			List<Object> importedUserTypes)
focal_class.return: String
focal_class.signature: String resolveTypeReferenceToTypeId(String name,
  			String defaultNamespace, List<Object> currentUserTypes,
  			List<Object> importedUserTypes)
focal_class.class_method_signature: TmlProcessor.toFullName(String name, String defaultNamespace)
focal_class.full_signature: private static String toFullName(String name, String defaultNamespace)
focal_class.identifier: toFullName
focal_class.modifiers: private static
focal_class.parameters: (String name, String defaultNamespace)
focal_class.return: String
focal_class.signature: String toFullName(String name, String defaultNamespace)
focal_class.class_method_signature: TmlProcessor.toShortName(String name)
focal_class.full_signature: private static String toShortName(String name)
focal_class.identifier: toShortName
focal_class.modifiers: private static
focal_class.parameters: (String name)
focal_class.return: String
focal_class.signature: String toShortName(String name)
focal_class.class_method_signature: TmlProcessor.normalizePrimitiveName(String name)
focal_class.full_signature: private static String normalizePrimitiveName(String name)
focal_class.identifier: normalizePrimitiveName
focal_class.modifiers: private static
focal_class.parameters: (String name)
focal_class.return: String
focal_class.signature: String normalizePrimitiveName(String name)
focal_class.class_method_signature: TmlProcessor.normalizeTypeId(String id)
focal_class.full_signature: private static String normalizeTypeId(String id)
focal_class.identifier: normalizeTypeId
focal_class.modifiers: private static
focal_class.parameters: (String id)
focal_class.return: String
focal_class.signature: String normalizeTypeId(String id)
focal_class.class_method_signature: TmlProcessor.unmarshalTml(String path)
focal_class.full_signature: public static Tml unmarshalTml(String path)
focal_class.identifier: unmarshalTml
focal_class.modifiers: public static
focal_class.parameters: (String path)
focal_class.return: Tml
focal_class.signature: Tml unmarshalTml(String path)
focal_class.class_method_signature: TmlProcessor.getSchemaHash(String filename)
focal_class.full_signature: public static long getSchemaHash(String filename)
focal_class.identifier: getSchemaHash
focal_class.modifiers: public static
focal_class.parameters: (String filename)
focal_class.return: long
focal_class.signature: long getSchemaHash(String filename)
focal_class.class_method_signature: TmlProcessor.getSchemaHash(InputStream is)
focal_class.full_signature: private static long getSchemaHash(InputStream is)
focal_class.identifier: getSchemaHash
focal_class.modifiers: private static
focal_class.parameters: (InputStream is)
focal_class.return: long
focal_class.signature: long getSchemaHash(InputStream is)
focal_class.class_method_signature: TmlProcessor.dfs(TmlGraph graph, File root, TmlVisitor visitor)
focal_class.full_signature: private static void dfs(TmlGraph graph, File root, TmlVisitor visitor)
focal_class.identifier: dfs
focal_class.modifiers: private static
focal_class.parameters: (TmlGraph graph, File root, TmlVisitor visitor)
focal_class.return: void
focal_class.signature: void dfs(TmlGraph graph, File root, TmlVisitor visitor)
focal_class.class_method_signature: TmlProcessor.dfs(TmlGraph graph, File current, Set<File> visited,
  			TmlVisitor visitor)
focal_class.full_signature: private static void dfs(TmlGraph graph, File current, Set<File> visited,
  			TmlVisitor visitor)
focal_class.identifier: dfs
focal_class.modifiers: private static
focal_class.parameters: (TmlGraph graph, File current, Set<File> visited,
  			TmlVisitor visitor)
focal_class.return: void
focal_class.signature: void dfs(TmlGraph graph, File current, Set<File> visited,
  			TmlVisitor visitor)
focal_class.class_method_signature: TmlProcessor.getAllUserTypes(TmlGraph graph, File root)
focal_class.full_signature: private static List<Object> getAllUserTypes(TmlGraph graph, File root)
focal_class.identifier: getAllUserTypes
focal_class.modifiers: private static
focal_class.parameters: (TmlGraph graph, File root)
focal_class.return: List<Object>
focal_class.signature: List<Object> getAllUserTypes(TmlGraph graph, File root)
focal_class.class_method_signature: TmlProcessor.build(String path)
focal_class.full_signature: public static Schema build(String path)
focal_class.identifier: build
focal_class.modifiers: public static
focal_class.parameters: (String path)
focal_class.return: Schema
focal_class.signature: Schema build(String path)
focal_class.class_method_signature: TmlProcessor.build(Collection<Object> types, SchemaVersion ver)
focal_class.full_signature: public static Schema build(Collection<Object> types, SchemaVersion ver)
focal_class.identifier: build
focal_class.modifiers: public static
focal_class.parameters: (Collection<Object> types, SchemaVersion ver)
focal_class.return: Schema
focal_class.signature: Schema build(Collection<Object> types, SchemaVersion ver)
focal_method.body: public static Schema build(String path) throws TeslaSchemaException, IOException {
  		Collection<Object> types = TmlProcessor.load(path);
  		long hash = TmlProcessor.getSchemaHash(path);
  		Tml.Version ver = TmlGraph.unmarshallTml(new File(path)).getVersion();
  		return TmlProcessor.build(types,
  				new SchemaVersion(hash, ver.getNumber() == null ? (short) 0
  						: ver.getNumber().shortValue(), ver.getName(), path));
  	}
focal_method.class_method_signature: TmlProcessor.build(String path)
focal_method.full_signature: public static Schema build(String path)
focal_method.identifier: build
focal_method.invocations: load getSchemaHash getVersion unmarshallTml build getNumber shortValue getNumber getName
focal_method.modifiers: public static
focal_method.parameters: (String path)
focal_method.return: Schema
focal_method.signature: Schema build(String path)