You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by ltf <lt...@163.com> on 2015/09/01 08:13:26 UTC

Some code questions

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:Re: Some code questions

Posted by ltf <lt...@163.com>.
OK, I'll file a bug and submit the patch.





Best, liutongfeng



At 2015-09-01 14:24:59, "Shwetha Shivalingamurthy" <ss...@hortonworks.com> wrote:
>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" <lt...@163.com> 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
>

Re: Some code questions

Posted by Shwetha Shivalingamurthy <ss...@hortonworks.com>.
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" <lt...@163.com> 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