Some code questions

2015-09-01 Thread ltf
Hello,
I'm very new to Atlas, and I still in the status of learning.
When I browsed the source code of Atlas, I have the following 4 questions, 
maybe or maybe not issues, thanks.


1.
file : 
incubator-atlas\typesystem\src\main\java\org\apache\atlas\typesystem\types\ObjectGraphTraversal.java
line : 56
void processValue(IDataType dT, Object val) throws AtlasException {
if (val != null) {
if (dT.getTypeCategory() == DataTypes.TypeCategory.ARRAY) {
IDataType elemType = ((DataTypes.ArrayType) dT).getElemType();
processCollection(elemType, val);
} else if (dT.getTypeCategory() == DataTypes.TypeCategory.MAP) {
IDataType keyType = ((DataTypes.MapType) dT).getKeyType();
IDataType valueType = ((DataTypes.MapType) dT).getKeyType();
//   should be getValueType(); ???
processMap(keyType, valueType, val);
} else if (dT.getTypeCategory() == DataTypes.TypeCategory.STRUCT
|| dT.getTypeCategory() == DataTypes.TypeCategory.TRAIT) {
processStruct(val);
} else if (dT.getTypeCategory() == DataTypes.TypeCategory.CLASS) {
processReferenceableInstance(val);
}
}
}


2. 
file : 
incubator-atlas\typesystem\src\main\java\org\apache\atlas\typesystem\types\ObjectGraphWalker.java
line : 94
void traverseValue(IDataType dT, Object val) throws AtlasException {
if (val != null) {
if (dT.getTypeCategory() == DataTypes.TypeCategory.ARRAY) {
IDataType elemType = ((DataTypes.ArrayType) dT).getElemType();
visitCollection(elemType, val);
} else if (dT.getTypeCategory() == DataTypes.TypeCategory.MAP) {
IDataType keyType = ((DataTypes.MapType) dT).getKeyType();
IDataType valueType = ((DataTypes.MapType) dT).getKeyType();
//   should be getValueType(); ???
visitMap(keyType, valueType, val);
} else if (dT.getTypeCategory() == DataTypes.TypeCategory.STRUCT
|| dT.getTypeCategory() == DataTypes.TypeCategory.TRAIT) {
visitStruct(val);
} else if (dT.getTypeCategory() == DataTypes.TypeCategory.CLASS) {
visitReferenceableInstance(val);
}
}
}


3.
file : 
incubator-atlas\repository\src\main\java\org\apache\atlas\repository\memory\AttributeStores.java
line : 58
static IAttributeStore createStore(AttributeInfo i) throws 
RepositoryException {
switch (i.dataType().getTypeCategory()) {
case PRIMITIVE:
if (i.dataType() == DataTypes.BOOLEAN_TYPE) {
return new BooleanAttributeStore(i);
} else if (i.dataType() == DataTypes.BYTE_TYPE) {
return new ByteAttributeStore(i);
} else if (i.dataType() == DataTypes.SHORT_TYPE) {
new ShortAttributeStore(i); 
 //   should be return ???
} else if (i.dataType() == DataTypes.INT_TYPE) {
return new IntAttributeStore(i);


4.
file : incubator-atlas\src\test\python\scripts\TestMetadata.py
line : 52
self.assertTrue(java_mock.called)
if IS_WINDOWS:
  java_mock.assert_called_with(
'org.apache.atlas.Main',
['-app', 'metadata_home/server/webapp/atlas'],  
 //  when os is WINDOWS, '/' should be '\\', otherwise the test fails, 
build will stop!!!

'metadata_home/conf:metadata_home/server/webapp/atlas/WEB-INF/classes:metadata_home/server/webapp/atlas/WEB-INF/lib\\*:metadata_home/libext\\*',
['-Datlas.log.dir=metadata_home/logs', 
'-Datlas.log.file=application.log', '-Datlas.home=metadata_home', 
'-Datlas.conf=metadata_home/conf', '-Xmx1024m', 
'-Dlog4j.configuration=atlas-log4j.xml'], 'metadata_home/logs')
else:


Best, liutongfeng

Re: Some code questions

2015-09-01 Thread Shwetha Shivalingamurthy
1, 2 and 4 look like valid issues. Can you file a bug and submit the
patches. Thanks

AttributeStores is used in some tests. Memory based repository is not
used. But can be fixed



Regards,
Shwetha






On 01/09/15 11:43 am, "ltf"  wrote:

>Hello,
>I'm very new to Atlas, and I still in the status of learning.
>When I browsed the source code of Atlas, I have the following 4
>questions, maybe or maybe not issues, thanks.
>
>
>1.
>file : 
>incubator-atlas\typesystem\src\main\java\org\apache\atlas\typesystem\types
>\ObjectGraphTraversal.java
>line : 56
>void processValue(IDataType dT, Object val) throws AtlasException {
>if (val != null) {
>if (dT.getTypeCategory() == DataTypes.TypeCategory.ARRAY) {
>IDataType elemType = ((DataTypes.ArrayType)
>dT).getElemType();
>processCollection(elemType, val);
>} else if (dT.getTypeCategory() ==
>DataTypes.TypeCategory.MAP) {
>IDataType keyType = ((DataTypes.MapType) dT).getKeyType();
>IDataType valueType = ((DataTypes.MapType)
>dT).getKeyType();//   should be getValueType(); ???
>processMap(keyType, valueType, val);
>} else if (dT.getTypeCategory() ==
>DataTypes.TypeCategory.STRUCT
>|| dT.getTypeCategory() ==
>DataTypes.TypeCategory.TRAIT) {
>processStruct(val);
>} else if (dT.getTypeCategory() ==
>DataTypes.TypeCategory.CLASS) {
>processReferenceableInstance(val);
>}
>}
>}
>
>
>2. 
>file : 
>incubator-atlas\typesystem\src\main\java\org\apache\atlas\typesystem\types
>\ObjectGraphWalker.java
>line : 94
>void traverseValue(IDataType dT, Object val) throws AtlasException {
>if (val != null) {
>if (dT.getTypeCategory() == DataTypes.TypeCategory.ARRAY) {
>IDataType elemType = ((DataTypes.ArrayType)
>dT).getElemType();
>visitCollection(elemType, val);
>} else if (dT.getTypeCategory() ==
>DataTypes.TypeCategory.MAP) {
>IDataType keyType = ((DataTypes.MapType) dT).getKeyType();
>IDataType valueType = ((DataTypes.MapType)
>dT).getKeyType();//   should be getValueType(); ???
>visitMap(keyType, valueType, val);
>} else if (dT.getTypeCategory() ==
>DataTypes.TypeCategory.STRUCT
>|| dT.getTypeCategory() ==
>DataTypes.TypeCategory.TRAIT) {
>visitStruct(val);
>} else if (dT.getTypeCategory() ==
>DataTypes.TypeCategory.CLASS) {
>visitReferenceableInstance(val);
>}
>}
>}
>
>
>3.
>file : 
>incubator-atlas\repository\src\main\java\org\apache\atlas\repository\memor
>y\AttributeStores.java
>line : 58
>static IAttributeStore createStore(AttributeInfo i) throws
>RepositoryException {
>switch (i.dataType().getTypeCategory()) {
>case PRIMITIVE:
>if (i.dataType() == DataTypes.BOOLEAN_TYPE) {
>return new BooleanAttributeStore(i);
>} else if (i.dataType() == DataTypes.BYTE_TYPE) {
>return new ByteAttributeStore(i);
>} else if (i.dataType() == DataTypes.SHORT_TYPE) {
>new ShortAttributeStore(i);
>   //   should be return ???
>} else if (i.dataType() == DataTypes.INT_TYPE) {
>return new IntAttributeStore(i);
>
>
>4.
>file : incubator-atlas\src\test\python\scripts\TestMetadata.py
>line : 52
>self.assertTrue(java_mock.called)
>if IS_WINDOWS:
>  java_mock.assert_called_with(
>'org.apache.atlas.Main',
>['-app', 'metadata_home/server/webapp/atlas'],
>   //  when os is WINDOWS, '/' should be '\\', otherwise the test
>fails, build will stop!!!
>
>'metadata_home/conf:metadata_home/server/webapp/atlas/WEB-INF/classes:meta
>data_home/server/webapp/atlas/WEB-INF/lib\\*:metadata_home/libext\\*',
>['-Datlas.log.dir=metadata_home/logs',
>'-Datlas.log.file=application.log', '-Datlas.home=metadata_home',
>'-Datlas.conf=metadata_home/conf', '-Xmx1024m',
>'-Dlog4j.configuration=atlas-log4j.xml'], 'metadata_home/logs')
>else:
>
>
>Best, liutongfeng