http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/typesystem/exception/TraitNotFoundException.java ---------------------------------------------------------------------- diff --git a/server-api/src/main/java/org/apache/atlas/typesystem/exception/TraitNotFoundException.java b/server-api/src/main/java/org/apache/atlas/typesystem/exception/TraitNotFoundException.java deleted file mode 100644 index 2d5663e..0000000 --- a/server-api/src/main/java/org/apache/atlas/typesystem/exception/TraitNotFoundException.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem.exception; - -/** - * A simple wrapper for 404. - * Thrown when a requested trait can not be found. - */ -public class TraitNotFoundException extends NotFoundException { - public TraitNotFoundException() { - } - - public TraitNotFoundException(String message) { - super(message); - } - - public TraitNotFoundException(String message, Throwable cause) { - super(message, cause); - } - - public TraitNotFoundException(Throwable cause) { - super(cause); - } - - public TraitNotFoundException(String message, Throwable cause, boolean enableSuppression, - boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -}
http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/.gitignore ---------------------------------------------------------------------- diff --git a/typesystem/.gitignore b/typesystem/.gitignore deleted file mode 100755 index c7029f8..0000000 --- a/typesystem/.gitignore +++ /dev/null @@ -1,35 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Eclipse -.classpath -.project -.settings/ - -# Intellij -.idea/ -*.iml -*.iws - -# Mac -.DS_Store - -# Maven -log/ -target/ - -# Emacs -*~ http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/LICENSE.md ---------------------------------------------------------------------- diff --git a/typesystem/LICENSE.md b/typesystem/LICENSE.md deleted file mode 100755 index 5c304d1..0000000 --- a/typesystem/LICENSE.md +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/doc/IDataType.uml ---------------------------------------------------------------------- diff --git a/typesystem/doc/IDataType.uml b/typesystem/doc/IDataType.uml deleted file mode 100755 index 68051c3..0000000 --- a/typesystem/doc/IDataType.uml +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> -<Diagram> - <ID>JAVA</ID> - <OriginalElement>org.apache.atlas.types.IDataType</OriginalElement> - <nodes> - <node x="2063.5" y="401.0">org.apache.atlas.types.DataTypes.PrimitiveType</node> - <node x="1307.0" y="687.0">org.apache.atlas.types.DataTypes.BigIntegerType</node> - <node x="3098.0" y="687.0">org.apache.atlas.types.DataTypes.ShortType</node> - <node x="2899.0" y="687.0">org.apache.atlas.types.DataTypes.DoubleType</node> - <node x="1705.0" y="687.0">org.apache.atlas.types.DataTypes.FloatType</node> - <node x="2650.5" y="335.0">org.apache.atlas.types.DataTypes.MapType</node> - <node x="2501.0" y="687.0">org.apache.atlas.types.DataTypes.BooleanType</node> - <node x="2073.5" y="168.0">org.apache.atlas.types.AbstractDataType</node> - <node x="1108.0" y="687.0">org.apache.atlas.types.DataTypes.StringType</node> - <node x="0.0" y="632.0">org.apache.atlas.types.ClassType</node> - <node x="9.75" y="302.0">org.apache.atlas.types.HierarchicalType</node> - <node x="2103.0" y="687.0">org.apache.atlas.types.DataTypes.BigDecimalType</node> - <node x="736.0" y="632.0">org.apache.atlas.types.StructType</node> - <node x="1506.0" y="687.0">org.apache.atlas.types.DataTypes.DateType</node> - <node x="2341.5" y="357.0">org.apache.atlas.types.DataTypes.ArrayType</node> - <node x="398.0" y="665.0">org.apache.atlas.types.TraitType</node> - <node x="2700.0" y="687.0">org.apache.atlas.types.DataTypes.IntType</node> - <node x="1904.0" y="687.0">org.apache.atlas.types.DataTypes.ByteType</node> - <node x="2302.0" y="687.0">org.apache.atlas.types.DataTypes.LongType</node> - <node x="544.0" y="390.0">org.apache.atlas.types.IConstructableType</node> - <node x="1305.0" y="0.0">org.apache.atlas.types.IDataType</node> - </nodes> - <notes /> - <edges> - <edge source="org.apache.atlas.types.StructType" target="org.apache.atlas.types.AbstractDataType"> - <point x="88.0" y="-92.0" /> - <point x="1000.0" y="282.0" /> - <point x="2144.9" y="282.0" /> - <point x="-47.59999999999991" y="37.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.BooleanType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="2590.5" y="602.0" /> - <point x="2239.409090909091" y="602.0" /> - <point x="46.90909090909099" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.IntType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="2789.5" y="592.0" /> - <point x="2262.863636363636" y="592.0" /> - <point x="70.36363636363626" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.ByteType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="1993.5" y="612.0" /> - <point x="2169.0454545454545" y="612.0" /> - <point x="-23.454545454545496" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.MapType" target="org.apache.atlas.types.AbstractDataType"> - <point x="0.0" y="-92.0" /> - <point x="2811.0" y="272.0" /> - <point x="2287.7" y="272.0" /> - <point x="95.20000000000005" y="37.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.StringType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="-5.6843418860808015E-14" y="-37.0" /> - <point x="1197.5" y="572.0" /> - <point x="2075.227272727273" y="572.0" /> - <point x="-117.27272727272725" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.PrimitiveType" target="org.apache.atlas.types.AbstractDataType"> - <point x="0.0" y="-26.0" /> - <point x="0.0" y="37.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.ArrayType" target="org.apache.atlas.types.AbstractDataType"> - <point x="0.0" y="-70.0" /> - <point x="2486.0" y="282.0" /> - <point x="2240.1" y="282.0" /> - <point x="47.59999999999991" y="37.0" /> - </edge> - <edge source="org.apache.atlas.types.IConstructableType" target="org.apache.atlas.types.IDataType"> - <point x="0.0" y="-37.0" /> - <point x="636.5" y="262.0" /> - <point x="511.03656126482247" y="262.0" /> - <point x="511.03656126482247" y="143.0" /> - <point x="1359.75" y="143.0" /> - <point x="-54.75" y="59.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.LongType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="2391.5" y="612.0" /> - <point x="2215.9545454545455" y="612.0" /> - <point x="23.454545454545496" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.DateType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="1595.5" y="592.0" /> - <point x="2122.1363636363635" y="592.0" /> - <point x="-70.36363636363637" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.TraitType" target="org.apache.atlas.types.HierarchicalType"> - <point x="-79.5" y="-59.0" /> - <point x="477.5" y="602.0" /> - <point x="264.0" y="602.0" /> - <point x="84.75" y="125.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.DoubleType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="2988.5" y="582.0" /> - <point x="2286.318181818182" y="582.0" /> - <point x="93.81818181818176" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.ShortType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="3187.5" y="572.0" /> - <point x="2309.772727272727" y="572.0" /> - <point x="117.27272727272725" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.StructType" target="org.apache.atlas.types.IConstructableType"> - <point x="-88.0" y="-92.0" /> - <point x="824.0" y="612.0" /> - <point x="698.1666666666666" y="612.0" /> - <point x="61.66666666666663" y="37.0" /> - </edge> - <edge source="org.apache.atlas.types.HierarchicalType" target="org.apache.atlas.types.AbstractDataType"> - <point x="0.0" y="-125.0" /> - <point x="179.25" y="272.0" /> - <point x="2097.3" y="272.0" /> - <point x="-95.20000000000005" y="37.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.BigDecimalType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="0.0" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.FloatType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="1794.5" y="602.0" /> - <point x="2145.590909090909" y="602.0" /> - <point x="-46.90909090909099" y="26.0" /> - </edge> - <edge source="org.apache.atlas.types.ClassType" target="org.apache.atlas.types.HierarchicalType"> - <point x="-94.5" y="-92.0" /> - <point x="-84.75" y="125.0" /> - </edge> - <edge source="org.apache.atlas.types.AbstractDataType" target="org.apache.atlas.types.IDataType"> - <point x="0.0" y="-37.0" /> - <point x="2192.5" y="143.0" /> - <point x="1469.25" y="143.0" /> - <point x="54.75" y="59.0" /> - </edge> - <edge source="org.apache.atlas.types.TraitType" target="org.apache.atlas.types.IConstructableType"> - <point x="79.5" y="-59.0" /> - <point x="0.0" y="37.0" /> - </edge> - <edge source="org.apache.atlas.types.ClassType" target="org.apache.atlas.types.IConstructableType"> - <point x="94.5" y="-92.0" /> - <point x="283.5" y="612.0" /> - <point x="574.8333333333333" y="612.0" /> - <point x="-61.66666666666666" y="37.0" /> - </edge> - <edge source="org.apache.atlas.types.DataTypes.BigIntegerType" target="org.apache.atlas.types.DataTypes.PrimitiveType"> - <point x="0.0" y="-37.0" /> - <point x="1396.5" y="582.0" /> - <point x="2098.681818181818" y="582.0" /> - <point x="-93.81818181818176" y="26.0" /> - </edge> - </edges> - <settings layout="Hierarchic Group" zoom="1.0" x="1212.0" y="-764.5" /> - <SelectedNodes> - <node>org.apache.atlas.types.DataTypes.StringType</node> - </SelectedNodes> - <Categories> - <Category>Methods</Category> - </Categories> - <SCOPE>All</SCOPE> - <VISIBILITY>private</VISIBILITY> -</Diagram> - http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/doc/Instance.uml ---------------------------------------------------------------------- diff --git a/typesystem/doc/Instance.uml b/typesystem/doc/Instance.uml deleted file mode 100755 index e11c685..0000000 --- a/typesystem/doc/Instance.uml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> -<Diagram> - <ID>JAVA</ID> - <OriginalElement>org.apache.atlas.storage.ReferenceableInstance</OriginalElement> - <nodes> - <node x="698.875" y="259.0">org.apache.atlas.storage.DownCastStructInstance</node> - <node x="30.536458333333258" y="628.0">org.apache.atlas.storage.ReferenceableInstance</node> - <node x="369.875" y="259.0">org.apache.atlas.IReferenceableInstance</node> - <node x="0.0" y="146.0">org.apache.atlas.ITypedInstance</node> - <node x="4.7864583333332575" y="482.0">org.apache.atlas.ITypedReferenceableInstance</node> - <node x="269.40624999999994" y="0.0">org.apache.atlas.IInstance</node> - <node x="947.875" y="248.0">org.apache.atlas.Struct</node> - <node x="651.96875" y="449.0">org.apache.atlas.Referenceable</node> - <node x="240.7864583333333" y="416.0">org.apache.atlas.storage.StructInstance</node> - <node x="236.87499999999997" y="292.0">org.apache.atlas.ITypedStruct</node> - <node x="593.1770833333333" y="157.0">org.apache.atlas.IStruct</node> - </nodes> - <notes /> - <edges> - <edge source="org.apache.atlas.storage.ReferenceableInstance" target="org.apache.atlas.storage.StructInstance"> - <point x="82.25" y="-59.0" /> - <point x="277.28645833333326" y="603.0" /> - <point x="385.28645833333326" y="603.0" /> - <point x="0.0" y="81.0" /> - </edge> - <edge source="org.apache.atlas.Referenceable" target="org.apache.atlas.IReferenceableInstance"> - <point x="-77.25" y="-48.0" /> - <point x="729.21875" y="396.0" /> - <point x="601.625" y="396.0" /> - <point x="77.25" y="48.0" /> - </edge> - <edge source="org.apache.atlas.storage.DownCastStructInstance" target="org.apache.atlas.IStruct"> - <point x="0.0" y="-48.0" /> - <point x="813.375" y="228.0" /> - <point x="640.0520833333333" y="228.0" /> - <point x="9.375" y="15.0" /> - </edge> - <edge source="org.apache.atlas.Struct" target="org.apache.atlas.IStruct"> - <point x="0.0" y="-59.0" /> - <point x="1072.375" y="218.0" /> - <point x="658.8020833333333" y="218.0" /> - <point x="28.125" y="15.0" /> - </edge> - <edge source="org.apache.atlas.ITypedInstance" target="org.apache.atlas.IInstance"> - <point x="0.0" y="-26.0" /> - <point x="116.0" y="121.0" /> - <point x="326.65624999999994" y="121.0" /> - <point x="-57.25" y="48.0" /> - </edge> - <edge source="org.apache.atlas.IStruct" target="org.apache.atlas.IInstance"> - <point x="0.0" y="-15.0" /> - <point x="630.6770833333333" y="121.0" /> - <point x="441.15624999999994" y="121.0" /> - <point x="57.25" y="48.0" /> - </edge> - <edge source="org.apache.atlas.IReferenceableInstance" target="org.apache.atlas.IStruct"> - <point x="0.0" y="-48.0" /> - <point x="524.375" y="228.0" /> - <point x="621.3020833333333" y="228.0" /> - <point x="-9.375" y="15.0" /> - </edge> - <edge source="org.apache.atlas.Referenceable" target="org.apache.atlas.Struct"> - <point x="77.25" y="-48.0" /> - <point x="883.71875" y="396.0" /> - <point x="1072.375" y="396.0" /> - <point x="0.0" y="59.0" /> - </edge> - <edge source="org.apache.atlas.ITypedStruct" target="org.apache.atlas.IStruct"> - <point x="28.25" y="-15.0" /> - <point x="321.625" y="218.0" /> - <point x="602.5520833333333" y="218.0" /> - <point x="-28.125" y="15.0" /> - </edge> - <edge source="org.apache.atlas.ITypedStruct" target="org.apache.atlas.ITypedInstance"> - <point x="-28.25" y="-15.0" /> - <point x="265.125" y="228.0" /> - <point x="174.0" y="228.0" /> - <point x="58.0" y="26.0" /> - </edge> - <edge source="org.apache.atlas.storage.StructInstance" target="org.apache.atlas.ITypedStruct"> - <point x="0.0" y="-81.0" /> - <point x="385.28645833333326" y="386.0" /> - <point x="293.375" y="386.0" /> - <point x="0.0" y="15.0" /> - </edge> - <edge source="org.apache.atlas.ITypedReferenceableInstance" target="org.apache.atlas.ITypedInstance"> - <point x="-54.0" y="-15.0" /> - <point x="-58.0" y="26.0" /> - </edge> - <edge source="org.apache.atlas.ITypedReferenceableInstance" target="org.apache.atlas.IReferenceableInstance"> - <point x="54.0" y="-15.0" /> - <point x="166.78645833333326" y="396.0" /> - <point x="447.125" y="396.0" /> - <point x="-77.25" y="48.0" /> - </edge> - <edge source="org.apache.atlas.storage.ReferenceableInstance" target="org.apache.atlas.ITypedReferenceableInstance"> - <point x="-82.25" y="-59.0" /> - <point x="0.0" y="15.0" /> - </edge> - </edges> - <settings layout="Hierarchic Group" zoom="1.0" x="239.0" y="335.5" /> - <SelectedNodes /> - <Categories> - <Category>Methods</Category> - </Categories> - <SCOPE>All</SCOPE> - <VISIBILITY>private</VISIBILITY> -</Diagram> - http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/doc/QueryDSL.org ---------------------------------------------------------------------- diff --git a/typesystem/doc/QueryDSL.org b/typesystem/doc/QueryDSL.org deleted file mode 100755 index 22b7386..0000000 --- a/typesystem/doc/QueryDSL.org +++ /dev/null @@ -1,266 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#+TITLE: Query DSL -#+AUTHOR: Harish Butani -#+EMAIL: [email protected] -#+LANGUAGE: en -#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js -#+LINK_HOME: http://home.fnal.gov/~neilsen -#+LINK_UP: http://home.fnal.gov/~neilsen/notebook -#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://orgmode.org/org-manual.css" /> -#+LaTeX_CLASS: smarticle -#+LaTeX_HEADER: \pdfmapfile{/home/neilsen/texmf/fonts/map/dvips/libertine/libertine.map} -#+LaTeX_HEADER: \usepackage[ttscale=.875]{libertine} -#+LaTeX_HEADER: \usepackage{sectsty} -#+LaTeX_HEADER: \sectionfont{\normalfont\scshape} -#+LaTeX_HEADER: \subsectionfont{\normalfont\itshape} -#+EXPORT_SELECT_TAGS: export -#+EXPORT_EXCLUDE_TAGS: noexport -#+OPTIONS: H:2 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} *:t TeX:t LaTeX:t -#+STARTUP: showall -#+OPTIONS: html-postamble:nil - -** Example Type Definitions -#+begin_src plantuml :file class_diagram.png -scale 1300 width - -note left of Trait : traits are classifications/tags attached to Instances -class Trait -Trait <|-- JDbcAccess -Trait <|-- PII -Trait <|-- Dimension -Trait <|-- Metric -Trait <|-- ETL - -class Object - -Object --* Trait : traits > - -Object <|-- DB -Object <|-- Table -Object <|-- Column - -class DB { - name : String - owner : String -} - -class StorageDescriptor { - inputFormat : String - outputFormat : String -} - -class Column { - name : String - dataType : String -} - -class Table { - name: String - db: DB -} -Table -> StorageDescriptor : storageDesc > -Table -> DB : db > - -Column *-> StorageDescriptor : storageDesc > - -class LoadProcess { - name String -} -LoadProcess -* Table : inputTables > -LoadProcess -> Table : outputTable > - -class View { - name String -} -View -* Table : inputTables > - -#+end_src - -#+CAPTION: ETL and Reporting Scenario Types -#+LABEL: fig:sampleTypeDefs -#+results: -[[file:class_diagram.png]] - -** Example Instance Graph -#+begin_src dot :file instanceGraph.png :cmdline -Kdot -Tpng -digraph G { - //size ="6 6"; - nodesep=.2; - //rankdir=LR; - ranksep=.25; - node [shape=record fontsize=9]; - compound=true; - -subgraph cluster0 { - style=bold; - label = "Sales Database"; fontsize=18; - salesDB[label="DB(sales)"] - - salesFact[label="Table(sales_fact)" style=filled; color="khaki"] - salesStorage[label="Storage(text,text)"] - sales_time_id[label="time_id" shape="circle" style=filled color="peachpuff"] - sales_product_id[label="product_id" shape="circle" style=filled color="peachpuff"] - sales_customer_id[label="customer_id" shape="circle" style=filled color="peachpuff"] - sales_sales[label="sales" shape="circle" style=filled color="peachpuff"] - sales_sales_metric[label="Metric" style=filled; shape="ellipse" color="turquoise"] - - salesFact -> salesDB; - salesFact -> salesStorage; - sales_time_id -> salesStorage; - sales_product_id -> salesStorage; - sales_customer_id -> salesStorage; - sales_sales -> salesStorage; - sales_sales -> sales_sales_metric; - - productDim[label="Table(product_dim)" style=filled; color="khaki"] - productStorage[label="Storage(text,text)"] - product_product_id[label="product_id" shape="circle" style=filled color="peachpuff"] - product_product_name[label="product_name" shape="circle" style=filled color="peachpuff"] - product_brand_name[label="brand_name" shape="circle" style=filled color="peachpuff"] - product_dimension[label="Dimension" style=filled; shape="ellipse" color="turquoise"] - - productDim -> salesDB; - productDim -> productStorage; - product_product_id -> productStorage; - product_product_name -> productStorage; - product_brand_name -> productStorage; - productDim -> product_dimension; - - productDim -> salesFact [style=invis]; - - timeDim[label="Table(time_dim)" style=filled; color="khaki"] - timeStorage[label="Storage(text,text)"] - time_time_id[label="time_id" shape="circle" style=filled color="peachpuff"] - time_dayOfYear[label="day_of_year" shape="circle" style=filled color="peachpuff"] - time_weekDay[label="week_day" shape="circle" style=filled color="peachpuff"] - time_dimension[label="Dimension" style=filled; shape="ellipse" color="turquoise"] - - timeDim -> salesDB; - timeDim -> timeStorage; - time_time_id -> timeStorage; - time_dayOfYear -> timeStorage; - time_weekDay -> timeStorage; - timeDim -> time_dimension; - - timeDim -> productDim [style=invis]; - - customerDim[label="Table(customer_dim)" style=filled; color="khaki"] - customerStorage[label="Storage(text,text)"] - customer_customer_id[label="customer_id" shape="circle" style=filled color="peachpuff"] - customer_name[label="name" shape="circle" style=filled color="peachpuff"] - customer_address[label="address" shape="circle" style=filled color="peachpuff"] - customer_dimension[label="Dimension" style=filled; shape="ellipse" color="turquoise"] - address_pii[label="PII" style=filled; shape="ellipse" color="turquoise"] - - customerDim -> salesDB; - customerDim -> customerStorage; - customer_customer_id -> customerStorage; - customer_name -> customerStorage; - customer_address -> customerStorage; - customerDim -> customer_dimension; - customer_address -> address_pii; - - customerDim -> timeDim [style=invis]; - - //{rank=min; salesDB}; - {rank=min; salesDB}; -}; - -subgraph cluster1 { - style=bold; - label = "Reporting Database"; fontsize=18; - - reportingDB[label="DB(reporting)"] - salesFactDaily[label="Table(sales_daily_mv)" style=filled; color="khaki"] - salesDailyStorage[label="Storage(orc,orc)"] - salesD_time_id[label="time_id" shape="circle" style=filled color="peachpuff"] - salesD_product_id[label="product_id" shape="circle" style=filled color="peachpuff"] - salesD_customer_id[label="customer_id" shape="circle" style=filled color="peachpuff"] - salesD_sales[label="sales" shape="circle" style=filled color="peachpuff"] - salesD_sales_metric[label="Metric" style=filled; shape="ellipse" color="turquoise"] - - salesFactDaily -> reportingDB; - salesFactDaily -> salesDailyStorage; - salesD_time_id -> salesDailyStorage; - salesD_product_id -> salesDailyStorage; - salesD_customer_id -> salesDailyStorage; - salesD_sales -> salesDailyStorage; - salesD_sales -> salesD_sales_metric; - - salesFactDaily -> reportingDB [style=invis]; - - productDimView[label="View(product_dim_v)" style=filled; color="khaki"] - productDim -> productDimView [style=dotted]; - productDimView_dim[label="Dimension" style=filled; shape="ellipse" color="turquoise"] - productDimView_jdbc[label="JdbcAccess" style=filled; shape="ellipse" color="turquoise"] - productDimView -> productDimView_dim; - productDimView -> productDimView_jdbc; - productDimView -> salesFactDaily [style=invis]; - - customerDimView[label="View(customer_dim_v)" style=filled; color="khaki"] - customerDim -> customerDimView [style=dotted]; - customerDimView_dim[label="Dimension" style=filled; shape="ellipse" color="turquoise"] - customerDimView_jdbc[label="JdbcAccess" style=filled; shape="ellipse" color="turquoise"] - customerDimView -> customerDimView_dim; - customerDimView -> customerDimView_jdbc; - customerDimView -> salesFactDaily [style=invis]; - - salesMonthly[label="Table(sales_monthly_mv)" style=filled; color="khaki"] - salesMonthlyStorage[label="Storage(orc,orc)"] - salesM_time_id[label="time_id" shape="circle" style=filled color="peachpuff"] - salesM_product_id[label="product_id" shape="circle" style=filled color="peachpuff"] - salesM_customer_id[label="customer_id" shape="circle" style=filled color="peachpuff"] - salesM_sales[label="sales" shape="circle" style=filled color="peachpuff"] - salesM_sales_metric[label="Metric" style=filled; shape="ellipse" color="turquoise"] - - salesMonthly -> reportingDB; - salesMonthly -> salesMonthlyStorage; - salesM_time_id -> salesMonthlyStorage; - salesM_product_id -> salesMonthlyStorage; - salesM_customer_id -> salesMonthlyStorage; - salesM_sales -> salesMonthlyStorage; - salesM_sales -> salesM_sales_metric; - - salesMonthly -> customerDimView [style=invis]; - - {rank=min; reportingDB}; - -}; - - loadSalesDaily[label="LoadProcess(loadSalesDaily)" style=filled; color="seagreen"; shape="octagon"] - loadSalesDaily_etl[label="ETL" style=filled; shape="ellipse" color="turquoise"] - salesFact -> loadSalesDaily [style=dotted]; - timeDim -> loadSalesDaily [style=dotted]; - loadSalesDaily -> salesFactDaily [style=dotted]; - loadSalesDaily -> loadSalesDaily_etl; - - loadSalesMonthly[label="LoadProcess(loadSalesMonthly)" style=filled; color="seagreen"; shape="octagon"] - loadSalesMonthly_etl[label="ETL" style=filled; shape="ellipse" color="turquoise"] - salesFactDaily -> loadSalesMonthly [style=dotted]; - timeDim -> loadSalesMonthly [style=dotted]; - loadSalesMonthly -> salesMonthly [style=dotted]; - loadSalesMonthly -> loadSalesMonthly_etl; - -} -#+end_src - -#+CAPTION: ETL and Reporting Scenario -#+LABEL: fig:sampleInstanceGraph -#+results: -[[file:instanceGraph.png]] - http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/doc/notes.MD ---------------------------------------------------------------------- diff --git a/typesystem/doc/notes.MD b/typesystem/doc/notes.MD deleted file mode 100755 index 977d46c..0000000 --- a/typesystem/doc/notes.MD +++ /dev/null @@ -1,78 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -## Call with Harish on the initial typesystem naming conventions and intentions - -### Structs are like C structs - they don't have an identity -- no independent lifecycle -- like a bag of properties -- like in hive, also - -### Classes are classes -- like any OO class -- have identity -- can have inheritence -- can contain structs -- don't necessarily need to use a struct inside the class to define props -- can also define props using AttributeDefinition using the basic data types -- classes are immutable once created - -### On search interface: -- can search for all instances of a class -- classes could become tables in a relational system, for instance - - also databases, columns, etc. - -### Traits is similar to scala - traits more like decorators (?) -- traits get applied to instances - not classes - - this satisfies the classification mechanism (ish) -- can have a class instance have any number of traits -- e.g. security clearance - any Person class could have it; so we add it as a mixin to the Person class - - security clearance trait has a level attribute - - traits are labels - - each label can have its own attribute -- reason for doing this is: - - modeled security clearance trait - - want to prescribe it to other things, too - - can now search for anything that has security clearance level = 1, for instance - -### On Instances: -- class, trait, struct all have bags of attributes -- can get name of type associated with attribute -- can get or set the attribute in that bag for each instance - -### On Classification: -- create column as a class -- create a trait to classify as "PHI" -- would create the instance of the column with the PHI trait -- apply traits to instances -- CAN'T apply traits to class - -### Other useful information - -HierarchicalClassType - base type for ClassType and TraitType -Instances created from Definitions - -Every instance is referenceable - i.e. something can point to it in the graph db -MetadataService may not be used longterm - it is currently used for bootstrapping the repo & type system - -Id class - represents the Id of an instance - -When the web service receives an object graph, the ObjectGraphWalker is used to update things - - DiscoverInstances is used to discover the instances in the object graph received by the web service - -MapIds assigns new ids to the discovered instances in the object graph - -Anything under the storage package is not part of the public interface \ No newline at end of file http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/pom.xml ---------------------------------------------------------------------- diff --git a/typesystem/pom.xml b/typesystem/pom.xml deleted file mode 100755 index 78cacb7..0000000 --- a/typesystem/pom.xml +++ /dev/null @@ -1,165 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.atlas</groupId> - <artifactId>apache-atlas</artifactId> - <version>1.0.0-SNAPSHOT</version> - </parent> - <artifactId>atlas-typesystem</artifactId> - <description>Apache Atlas Typesystem Module</description> - <name>Apache Atlas Typesystem</name> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>org.codehaus.jettison</groupId> - <artifactId>jettison</artifactId> - </dependency> - - <dependency> - <groupId>org.scala-lang</groupId> - <artifactId>scala-compiler</artifactId> - </dependency> - - <dependency> - <groupId>org.scala-lang</groupId> - <artifactId>scala-reflect</artifactId> - </dependency> - - <dependency> - <groupId>org.scala-lang</groupId> - <artifactId>scala-library</artifactId> - </dependency> - - <dependency> - <groupId>org.scala-lang</groupId> - <artifactId>scala-actors</artifactId> - </dependency> - - <dependency> - <groupId>org.scala-lang</groupId> - <artifactId>scalap</artifactId> - </dependency> - - <dependency> - <groupId>org.json4s</groupId> - <artifactId>json4s-native_${scala.binary.version}</artifactId> - </dependency> - - <dependency> - <groupId>com.github.nscala-time</groupId> - <artifactId>nscala-time_${scala.binary.version}</artifactId> - </dependency> - - <dependency> - <groupId>com.typesafe</groupId> - <artifactId>config</artifactId> - </dependency> - - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - </dependency> - - <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> - </dependency> - - <dependency> - <groupId>it.unimi.dsi</groupId> - <artifactId>fastutil</artifactId> - </dependency> - - <dependency> - <groupId>org.apache.atlas</groupId> - <artifactId>atlas-common</artifactId> - </dependency> - - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-lang3</artifactId> - </dependency> - - <dependency> - <groupId>org.apache.atlas</groupId> - <artifactId>atlas-intg</artifactId> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>net.alchim31.maven</groupId> - <artifactId>scala-maven-plugin</artifactId> - <version>3.2.0</version> - <executions> - <execution> - <id>scala-compile-first</id> - <phase>process-resources</phase> - <goals> - <goal>compile</goal> - </goals> - </execution> - <execution> - <id>scala-test-compile-first</id> - <phase>process-test-resources</phase> - <goals> - <goal>testCompile</goal> - </goals> - </execution> - </executions> - <configuration> - <scalaVersion>${scala.version}</scalaVersion> - <recompileMode>incremental</recompileMode> - <useZincServer>true</useZincServer> - <source>1.7</source> - <target>1.7</target> - <args> - <arg>-unchecked</arg> - <arg>-deprecation</arg> - <arg>-feature</arg> - </args> - <jvmArgs> - <jvmArg>-Xmx512m</jvmArg> - </jvmArgs> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.4</version> - <executions> - <execution> - <goals> - <goal>test-jar</goal> - </goals> - </execution> - </executions> - </plugin> - - </plugins> - </build> -</project> http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/classification/InterfaceAudience.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/classification/InterfaceAudience.java b/typesystem/src/main/java/org/apache/atlas/classification/InterfaceAudience.java deleted file mode 100755 index ae162ac..0000000 --- a/typesystem/src/main/java/org/apache/atlas/classification/InterfaceAudience.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.classification; - -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * Annotation to mark methods for consumption. - */ [email protected] -public class InterfaceAudience { - private InterfaceAudience() { - } - - @Documented - @Retention(RetentionPolicy.RUNTIME) - public @interface Private { - } - - @Documented - @Retention(RetentionPolicy.RUNTIME) - public @interface LimitedPrivate { - String[] value(); - } - - @Documented - @Retention(RetentionPolicy.RUNTIME) - public @interface Public { - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/IInstance.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/IInstance.java b/typesystem/src/main/java/org/apache/atlas/typesystem/IInstance.java deleted file mode 100755 index adb28d4..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/IInstance.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem; - -import org.apache.atlas.AtlasException; - -import java.util.Map; - -/** - * Represents a Struct or Trait or Object. - */ -public interface IInstance { - - String getTypeName(); - - Object get(String attrName) throws AtlasException; - - void set(String attrName, Object val) throws AtlasException; - - void setNull(String attrName) throws AtlasException; - - Map<String, Object> getValuesMap() throws AtlasException; - - String toShortString(); -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/IReferenceableInstance.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/IReferenceableInstance.java b/typesystem/src/main/java/org/apache/atlas/typesystem/IReferenceableInstance.java deleted file mode 100755 index 04af67c..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/IReferenceableInstance.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem; - -import com.google.common.collect.ImmutableList; -import org.apache.atlas.typesystem.persistence.AtlasSystemAttributes; -import org.apache.atlas.typesystem.persistence.Id; - -/** - * Represents and instance of a ClassType. These have identity. - * Transient instances will have a UNASSIGNED identity. - */ -public interface IReferenceableInstance extends IStruct { - - ImmutableList<String> getTraits(); - - Id getId(); - - IStruct getTrait(String typeName); - - AtlasSystemAttributes getSystemAttributes(); -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/IStruct.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/IStruct.java b/typesystem/src/main/java/org/apache/atlas/typesystem/IStruct.java deleted file mode 100755 index e0f8576..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/IStruct.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem; - -/** - * A marker interface for StructType and TraitType instances. - */ -public interface IStruct extends IInstance { - -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedInstance.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedInstance.java b/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedInstance.java deleted file mode 100755 index c3bb9af..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedInstance.java +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem; - -import org.apache.atlas.AtlasException; -import org.apache.atlas.typesystem.types.FieldMapping; - -import java.math.BigDecimal; -import java.math.BigInteger; -import java.security.MessageDigest; -import java.util.Date; - -/** - * An instance whose structure is associated with a IDataType. - * This is obtained by a call to 'createInstance' or the result of a Query. - * A ITypedInstance can only contain information on attributes of the associated Type. - * Instance can still be invalid because of missing required fields or incorrect multiplicity. - * But user can only get/set on a known field of the associated type. Type values have to match - * the IDataType of the associated attribute. - */ -public interface ITypedInstance extends IInstance { - - FieldMapping fieldMapping(); - - boolean getBoolean(String attrName) throws AtlasException; - - byte getByte(String attrName) throws AtlasException; - - short getShort(String attrName) throws AtlasException; - - int getInt(String attrName) throws AtlasException; - - long getLong(String attrName) throws AtlasException; - - float getFloat(String attrName) throws AtlasException; - - double getDouble(String attrName) throws AtlasException; - - BigInteger getBigInt(String attrName) throws AtlasException; - - BigDecimal getBigDecimal(String attrName) throws AtlasException; - - Date getDate(String attrName) throws AtlasException; - - String getString(String attrName) throws AtlasException; - - void setBoolean(String attrName, boolean val) throws AtlasException; - - void setByte(String attrName, byte val) throws AtlasException; - - void setShort(String attrName, short val) throws AtlasException; - - void setInt(String attrName, int val) throws AtlasException; - - void setLong(String attrName, long val) throws AtlasException; - - void setFloat(String attrName, float val) throws AtlasException; - - void setDouble(String attrName, double val) throws AtlasException; - - void setBigInt(String attrName, BigInteger val) throws AtlasException; - - void setBigDecimal(String attrName, BigDecimal val) throws AtlasException; - - void setDate(String attrName, Date val) throws AtlasException; - - void setString(String attrName, String val) throws AtlasException; - - String getSignatureHash(MessageDigest digester) throws AtlasException; - - boolean isValueSet(String attrName) throws AtlasException; -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedReferenceableInstance.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedReferenceableInstance.java b/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedReferenceableInstance.java deleted file mode 100755 index 6dae95c..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedReferenceableInstance.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem; - -public interface ITypedReferenceableInstance extends ITypedInstance, IReferenceableInstance { -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedStruct.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedStruct.java b/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedStruct.java deleted file mode 100755 index ced255c..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/ITypedStruct.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem; - -public interface ITypedStruct extends IStruct, ITypedInstance { -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/Referenceable.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/Referenceable.java b/typesystem/src/main/java/org/apache/atlas/typesystem/Referenceable.java deleted file mode 100755 index 8cad2f8..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/Referenceable.java +++ /dev/null @@ -1,229 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import org.apache.atlas.AtlasException; -import org.apache.atlas.classification.InterfaceAudience; -import org.apache.atlas.typesystem.persistence.AtlasSystemAttributes; -import org.apache.atlas.typesystem.persistence.Id; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * Represents a Class Instance that has not been associated with a FieldMapping. - */ -public class Referenceable extends Struct implements IReferenceableInstance { - - private Id id; - private final ImmutableMap<String, IStruct> traits; - private final ImmutableList<String> traitNames; - private AtlasSystemAttributes systemAttributes; - - public Referenceable(String typeName, String... traitNames) { - super(typeName); - id = new Id(typeName); - this.traitNames = ImmutableList.copyOf(traitNames); - ImmutableMap.Builder<String, IStruct> b = new ImmutableMap.Builder<>(); - for (String t : traitNames) { - b.put(t, new Struct(t)); - } - traits = b.build(); - this.systemAttributes = new AtlasSystemAttributes(); - } - - public Referenceable(String typeName, Map<String, Object> values) { - super(typeName, values); - id = new Id(typeName); - traitNames = ImmutableList.of(); - traits = ImmutableMap.of(); - this.systemAttributes = new AtlasSystemAttributes(); - } - - public Referenceable(String guid, String typeName, Map<String, Object> values) { - super(typeName, values); - id = new Id(guid, 0, typeName); - traitNames = ImmutableList.of(); - traits = ImmutableMap.of(); - this.systemAttributes = new AtlasSystemAttributes(); - } - - /** - * Not public - only use during deserialization - * @param guid the unique id - * @param typeName the type name - * @param values the entity attribute values - */ - @InterfaceAudience.Private - public Referenceable(String guid, String typeName, Map<String, Object> values, List<String> _traitNames, - Map<String, IStruct> _traits) { - super(typeName, values); - id = new Id(guid, 0, typeName); - traitNames = ImmutableList.copyOf(_traitNames); - traits = ImmutableMap.copyOf(_traits); - this.systemAttributes = new AtlasSystemAttributes(); - } - - /** - * Not public - only use during deserialization - * @param id entity id - * @param typeName the type name - * @param values the entity attribute values - */ - @InterfaceAudience.Private - public Referenceable(Id id, String typeName, Map<String, Object> values, List<String> _traitNames, - Map<String, IStruct> _traits) { - super(typeName, values); - this.id = id; - traitNames = ImmutableList.copyOf(_traitNames); - traits = ImmutableMap.copyOf(_traits); - this.systemAttributes = new AtlasSystemAttributes(); - } - - /** - * Not public - only use during deserialization - * @param id entity id - * @param typeName the type name - * @param values the entity attribute values - */ - @InterfaceAudience.Private - public Referenceable(Id id, String typeName, Map<String, Object> values, List<String> _traitNames, - Map<String, IStruct> _traits, AtlasSystemAttributes systemAttributes) { - super(typeName, values); - this.id = id; - traitNames = ImmutableList.copyOf(_traitNames); - traits = ImmutableMap.copyOf(_traits); - this.systemAttributes = systemAttributes; - } - - /** - * Construct a Referenceable from the given IReferenceableInstance. - * - * @param instance the referenceable instance to copy - * - * @throws AtlasException if the referenceable can not be created - */ - public Referenceable(IReferenceableInstance instance) throws AtlasException { - this(instance.getId(), instance.getTypeName(), instance.getValuesMap(), instance.getTraits(), - getTraits(instance)); - } - - /** - * No-arg constructor for serialization. - */ - @SuppressWarnings("unused") - private Referenceable() { - super(null, null); - id = null; - traitNames = ImmutableList.of(); - traits = ImmutableMap.of(); - } - - @Override - public ImmutableList<String> getTraits() { - return traitNames; - } - - @Override - public Id getId() { - return id; - } - - @Override - public IStruct getTrait(String typeName) { - return traits.get(typeName); - } - - @Override - public AtlasSystemAttributes getSystemAttributes(){ - return systemAttributes; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass() || !super.equalsContents(o)) return false; - Referenceable that = (Referenceable) o; - return Objects.equals(id, that.id) && - Objects.equals(traits, that.traits) && - Objects.equals(traitNames, that.traitNames); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), id, traits, traitNames); - } - - /** - * Matches traits, values associated with this Referenceable and skips the id match - * @param o The Referenceable which needs to be matched with - * @return - */ - public boolean equalsContents(Object o) { - if(this == o) { - return true; - } - if(o == null) { - return false; - } - if (o.getClass() != getClass()) { - return false; - } - - if(!super.equalsContents(o)) { - return false; - } - - Referenceable obj = (Referenceable)o; - if (!traitNames.equals(obj.getTraits())) { - return false; - } - - return true; - } - - public String toString() { - return "{" + - "Id='" + id + '\'' + - ", traits=" + traitNames + - ", values=" + getValuesMap() + - '}'; - } - - @Override - public String toShortString() { - return String.format("entity[type=%s guid=%s]", typeName, id._getId()); - } - - public void replaceWithNewId(Id id) { - this.id = id; - } - - private static Map<String, IStruct> getTraits(IReferenceableInstance instance) throws AtlasException { - Map<String, IStruct> traits = new HashMap<>(); - for (String traitName : instance.getTraits() ) { - traits.put(traitName, new Struct(traitName, instance.getTrait(traitName).getValuesMap())); - } - return traits; - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/Struct.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/Struct.java b/typesystem/src/main/java/org/apache/atlas/typesystem/Struct.java deleted file mode 100755 index f8d2e42..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/Struct.java +++ /dev/null @@ -1,124 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem; - -import org.apache.atlas.AtlasException; -import org.apache.atlas.classification.InterfaceAudience; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -public class Struct implements IStruct { - - public final String typeName; - private final Map<String, Object> values; - - public Struct(String typeName) { - this.typeName = typeName; - values = new HashMap<>(); - } - - @InterfaceAudience.Private - public Struct(String typeName, Map<String, Object> values) { - this(typeName); - if (values != null) { - this.values.putAll(values); - } - } - - /** - * No-arg constructor for serialization. - */ - @SuppressWarnings("unused") - private Struct() { - this("", Collections.<String, Object>emptyMap()); - } - - - @Override - public String getTypeName() { - return typeName; - } - - @Override - public Object get(String attrName) { - return values.get(attrName); - } - - @Override - public void set(String attrName, Object value) { - values.put(attrName, value); - } - - @Override - public void setNull(String attrName) throws AtlasException { - values.put(attrName, null); - } - - @Override - public Map<String, Object> getValuesMap() { - return values; - } - - @Override - public String toShortString() { - return String.format("struct[type=%s]", typeName); - } - - @Override - public int hashCode() { - int result = typeName.hashCode(); - result = 31 * result + values.hashCode(); - return result; - } - - /** - * equalContents instead of equals since values is a mutable attribute and could lead - * to incorrect behaviour when added to collections and mutated after that - * i.e when the attribute is mutated collections.contains(struct) returns false - * due to hashcode having changed for the struct. - * @param o - * @return - */ - public boolean equalsContents(Object o) { - if (this == o) { - return true; - } - - if (o == null) { - return false; - } - - if (o.getClass() != getClass()) { - return false; - } - - Struct obj = (Struct)o; - if(!typeName.equals(obj.getTypeName())) { - return false; - } - - if(!values.equals(obj.getValuesMap())) { - return false; - } - - return true; - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/exception/TypeExistsException.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/exception/TypeExistsException.java b/typesystem/src/main/java/org/apache/atlas/typesystem/exception/TypeExistsException.java deleted file mode 100644 index 8a28e38..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/exception/TypeExistsException.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem.exception; - -import org.apache.atlas.AtlasException; - -public class TypeExistsException extends AtlasException { - public TypeExistsException(String message) { - super(message); - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/exception/TypeNotFoundException.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/exception/TypeNotFoundException.java b/typesystem/src/main/java/org/apache/atlas/typesystem/exception/TypeNotFoundException.java deleted file mode 100644 index 3654a4b..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/exception/TypeNotFoundException.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem.exception; - -import org.apache.atlas.AtlasException; - -/** - * A simple wrapper for 404. - */ -public class TypeNotFoundException extends AtlasException { - public TypeNotFoundException() { - } - - public TypeNotFoundException(String message) { - super(message); - } - - public TypeNotFoundException(String message, Throwable cause) { - super(message, cause); - } - - public TypeNotFoundException(Throwable cause) { - super(cause); - } - - public TypeNotFoundException(String message, Throwable cause, boolean enableSuppression, - boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/AtlasSystemAttributes.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/AtlasSystemAttributes.java b/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/AtlasSystemAttributes.java deleted file mode 100644 index 3c08a02..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/AtlasSystemAttributes.java +++ /dev/null @@ -1,115 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.atlas.typesystem.persistence; - -import org.apache.atlas.typesystem.types.TypeSystem; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -public class AtlasSystemAttributes { - public String createdBy; - public String modifiedBy; - public Date createdTime; - public Date modifiedTime; - public SimpleDateFormat simpleDateFormat = TypeSystem.getInstance().getDateFormat(); - - - public AtlasSystemAttributes(String createdBy, String modifiedBy, Date createdTime, Date modifiedTime){ - this.createdBy = createdBy; - this.modifiedBy = modifiedBy; - this.createdTime = createdTime; - this.modifiedTime = modifiedTime; - } - - public AtlasSystemAttributes(){ - super(); - } - - public AtlasSystemAttributes(String createdBy, String modifiedBy, String createdTime, String modifiedTime){ - this.createdBy = createdBy; - this.modifiedBy = modifiedBy; - - try{ - this.createdTime = simpleDateFormat.parse(createdTime); - }catch (ParseException e){ - //this.createdTime = new Date(0); - } - - try{ - this.modifiedTime = simpleDateFormat.parse(modifiedTime); - }catch (ParseException e){ - //this.modifiedTime = new Date(0); - } - } - - - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - - AtlasSystemAttributes sys_attr = (AtlasSystemAttributes) o; - - if (!createdBy.equals(sys_attr.createdBy)) { - return false; - } - if (!modifiedBy.equals(sys_attr.modifiedBy)) { - return false; - } - if (!createdTime.equals(sys_attr.createdTime)) { - return false; - } - - if(!modifiedTime.equals(sys_attr.modifiedTime)){ - return false; - } - return true; - } - - @Override - public int hashCode() { - int result = createdBy.hashCode(); - result = 31 * result + modifiedBy.hashCode(); - result = 31 * result + createdTime.hashCode(); - result = 31 * result + modifiedTime.hashCode(); - return result; - } - - public String getCreatedBy(){ - return createdBy; - } - - public String getModifiedBy(){ - return modifiedBy; - } - - public Date getCreatedTime(){ - return createdTime; - } - - public Date getModifiedTime(){ - return modifiedTime; - } -} http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/DownCastStructInstance.java ---------------------------------------------------------------------- diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/DownCastStructInstance.java b/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/DownCastStructInstance.java deleted file mode 100755 index e4ebb17..0000000 --- a/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/DownCastStructInstance.java +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.atlas.typesystem.persistence; - -import org.apache.atlas.AtlasException; -import org.apache.atlas.typesystem.IStruct; -import org.apache.atlas.typesystem.types.DownCastFieldMapping; - -import java.util.HashMap; -import java.util.Map; - -public class DownCastStructInstance implements IStruct { - - public final String typeName; - public final DownCastFieldMapping fieldMapping; - public final IStruct backingInstance; - - public DownCastStructInstance(String typeName, DownCastFieldMapping fieldMapping, IStruct backingInstance) { - this.typeName = typeName; - this.fieldMapping = fieldMapping; - this.backingInstance = backingInstance; - } - - @Override - public String getTypeName() { - return typeName; - } - - @Override - public Object get(String attrName) throws AtlasException { - return fieldMapping.get(this, attrName); - } - - @Override - public void set(String attrName, Object val) throws AtlasException { - fieldMapping.set(this, attrName, val); - } - - @Override - public void setNull(String attrName) throws AtlasException { - throw new UnsupportedOperationException("unset on attributes are not allowed"); - } - - /* - * Use only for json serialization - * @nonpublic - */ - @Override - public Map<String, Object> getValuesMap() throws AtlasException { - - Map<String, Object> m = new HashMap<>(); - for (String attr : fieldMapping.fieldNameMap.keySet()) { - m.put(attr, get(attr)); - } - return m; - } - - @Override - public String toShortString() { - return toString(); - } -} - -
