http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/TypeSystem.html ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/TypeSystem.html b/0.7.1-incubating/TypeSystem.html new file mode 100644 index 0000000..31d4cf0 --- /dev/null +++ b/0.7.1-incubating/TypeSystem.html @@ -0,0 +1,400 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2017-01-29 + | Rendered using Apache Maven Fluido Skin 1.3.0 +--> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="Date-Revision-yyyymmdd" content="20170129" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Apache Atlas – Type System</title> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> + <link rel="stylesheet" href="./css/site.css" /> + <link rel="stylesheet" href="./css/print.css" media="print" /> + + + <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script> + + + +<script type="text/javascript">$( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } );</script> + + </head> + <body class="topBarEnabled"> + + + + + + <div id="topbar" class="navbar navbar-fixed-top "> + <div class="navbar-inner"> + <div class="container" style="width: 68%;"><div class="nav-collapse"> + + + <ul class="nav"> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Atlas <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="index.html" title="About">About</a> +</li> + + <li> <a href="https://cwiki.apache.org/confluence/display/ATLAS" title="Wiki">Wiki</a> +</li> + + <li> <a href="https://cwiki.apache.org/confluence/display/ATLAS" title="News">News</a> +</li> + + <li> <a href="https://git-wip-us.apache.org/repos/asf/incubator-atlas.git" title="Git">Git</a> +</li> + + <li> <a href="https://issues.apache.org/jira/browse/ATLAS" title="Jira">Jira</a> +</li> + + <li> <a href="https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy" title="Powered by">Powered by</a> +</li> + + <li> <a href="http://blogs.apache.org/atlas/" title="Blog">Blog</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="project-info.html" title="Summary">Summary</a> +</li> + + <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> +</li> + + <li> <a href="http://webchat.freenode.net?channels=apacheatlas&uio=d4" title="IRC">IRC</a> +</li> + + <li> <a href="team-list.html" title="Team">Team</a> +</li> + + <li> <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> +</li> + + <li> <a href="source-repository.html" title="Source Repository">Source Repository</a> +</li> + + <li> <a href="license.html" title="License">License</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="http://www.apache.org/dyn/closer.cgi/incubator/atlas/0.7.1-incubating/" title="0.7.1-incubating">0.7.1-incubating</a> +</li> + + <li> <a href="http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/" title="0.7-incubating">0.7-incubating</a> +</li> + + <li> <a href="http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/" title="0.6-incubating">0.6-incubating</a> +</li> + + <li> <a href="http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/" title="0.5-incubating">0.5-incubating</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="0.7.1-incubating/index.html" title="0.7.1-incubating">0.7.1-incubating</a> +</li> + + <li> <a href="0.7.0-incubating/index.html" title="0.7-incubating">0.7-incubating</a> +</li> + + <li> <a href="0.6.0-incubating/index.html" title="0.6-incubating">0.6-incubating</a> +</li> + + <li> <a href="0.5.0-incubating/index.html" title="0.5-incubating">0.5-incubating</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a> +</li> + + <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a> +</li> + + <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a> +</li> + + <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a> +</li> + </ul> + </li> + </ul> + + <form id="search-form" action="http://www.google.com/search" method="get" class="navbar-search pull-right" > + + <input value="http://atlas.incubator.apache.org" name="sitesearch" type="hidden"/> + <input class="search-query" name="q" id="query" type="text" /> +</form> +<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script> + + + + + + <iframe src="http://www.facebook.com/plugins/like.php?href=http://atlas.incubator.apache.org/atlas-docs&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" + scrolling="no" frameborder="0" + style="border:none; width:80px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> + + <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> + + <ul class="nav pull-right"><li style="margin-top: 10px;"> + + <div class="g-plusone" data-href="http://atlas.incubator.apache.org/atlas-docs" data-size="medium" width="60px" align="right" ></div> + + </li></ul> + + + </div> + + </div> + </div> + </div> + + <div class="container"> + <div id="banner"> + <div class="pull-left"> + <a href=".." id="bannerLeft"> + <img src="images/atlas-logo.png" alt="Apache Atlas" width="200px" height="45px"/> + </a> + </div> + <div class="pull-right"> <a href="http://incubator.apache.org" id="bannerRight"> + <img src="images/apache-incubator-logo.png" alt="Apache Incubator"/> + </a> + </div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + <li class=""> + <a href="http://www.apache.org" class="externalLink" title="Apache"> + Apache</a> + </li> + <li class="divider ">/</li> + <li class=""> + <a href="index.html" title="Atlas"> + Atlas</a> + </li> + <li class="divider ">/</li> + <li class="">Type System</li> + + + + <li id="publishDate" class="pull-right">Last Published: 2017-01-29</li> <li class="divider pull-right">|</li> + <li id="projectVersion" class="pull-right">Version: 0.7.1-incubating</li> + + </ul> + </div> + + + + <div id="bodyColumn" > + + <div class="section"> +<h2><a name="Type_System"></a>Type System</h2></div> +<div class="section"> +<h3><a name="Overview"></a>Overview</h3> +<p>Atlas allows users to define a model for the metadata objects they want to manage. The model is composed of definitions called ‘types’. Instances of ‘types’ called ‘entities’ represent the actual metadata objects that are managed. The Type System is a component that allows users to define and manage the types and entities. All metadata objects managed by Atlas out of the box (like Hive tables, for e.g.) are modelled using types and represented as entities. To store new types of metadata in Atlas, one needs to understand the concepts of the type system component.</p></div> +<div class="section"> +<h3><a name="Types"></a>Types</h3> +<p>A ‘Type’ in Atlas is a definition of how a particular type of metadata objects are stored and accessed. A type represents one or a collection of attributes that define the properties for the metadata object. Users with a development background will recognize the similarity of a type to a ‘Class’ definition of object oriented programming languages, or a ‘table schema’ of relational databases.</p> +<p>An example of a type that comes natively defined with Atlas is a Hive table. A Hive table is defined with these attributes:</p> +<div class="source"> +<pre> +Name: hive_table +MetaType: Class +SuperTypes: DataSet +Attributes: + name: String (name of the table) + db: Database object of type hive_db + owner: String + createTime: Date + lastAccessTime: Date + comment: String + retention: int + sd: Storage Description object of type hive_storagedesc + partitionKeys: Array of objects of type hive_column + aliases: Array of strings + columns: Array of objects of type hive_column + parameters: Map of String keys to String values + viewOriginalText: String + viewExpandedText: String + tableType: String + temporary: Boolean + +</pre></div> +<p>The following points can be noted from the above example:</p> +<p></p> +<ul> +<li>A type in Atlas is identified uniquely by a ‘name’</li> +<li>A type has a metatype. A metatype represents the type of this model in Atlas. Atlas has the following metatypes: +<ul> +<li>Basic metatypes: E.g. Int, String, Boolean etc.</li> +<li>Enum metatypes</li> +<li>Collection metatypes: E.g. Array, Map</li> +<li>Composite metatypes: E.g. Class, Struct, Trait</li></ul></li> +<li>A type can ‘extend’ from a parent type called ‘supertype’ - by virtue of this, it will get to include the attributes that are defined in the supertype as well. This allows modellers to define common attributes across a set of related types etc. This is again similar to the concept of how Object Oriented languages define super classes for a class. It is also possible for a type in Atlas to extend from multiple super types. +<ul> +<li>In this example, every hive table extends from a pre-defined supertype called a ‘DataSet’. More details about this pre-defined types will be provided later.</li></ul></li> +<li>Types which have a metatype of ‘Class’, ‘Struct’ or ‘Trait’ can have a collection of attributes. Each attribute has a name (e.g. ‘name’) and some other associated properties. A property can be referred to using an expression type_name.attribute_name. It is also good to note that attributes themselves are defined using Atlas metatypes. +<ul> +<li>In this example, hive_table.name is a String, hive_table.aliases is an array of Strings, hive_table.db refers to an instance of a type called hive_db and so on.</li></ul></li> +<li>Type references in attributes, (like hive_table.db) are particularly interesting. Note that using such an attribute, we can define arbitrary relationships between two types defined in Atlas and thus build rich models. Note that one can also collect a list of references as an attribute type (e.g. hive_table.cols which represents a list of references from hive_table to the hive_column type)</li></ul></div> +<div class="section"> +<h3><a name="Entities"></a>Entities</h3> +<p>An ‘entity’ in Atlas is a specific value or instance of a Class ‘type’ and thus represents a specific metadata object in the real world. Referring back to our analogy of Object Oriented Programming languages, an ‘instance’ is an ‘Object’ of a certain ‘Class’.</p> +<p>An example of an entity will be a specific Hive Table. Say Hive has a table called ‘customers’ in the ‘default’ database. This table will be an ‘entity’ in Atlas of type hive_table. By virtue of being an instance of a class type, it will have values for every attribute that are a part of the Hive table ‘type’, such as:</p> +<div class="source"> +<pre> +id: "9ba387dd-fa76-429c-b791-ffc338d3c91f" +typeName: “hive_table” +values: + name: “customers” + db: "b42c6cfc-c1e7-42fd-a9e6-890e0adf33bc" + owner: “admin” + createTime: "2016-06-20T06:13:28.000Z" + lastAccessTime: "2016-06-20T06:13:28.000Z" + comment: null + retention: 0 + sd: "ff58025f-6854-4195-9f75-3a3058dd8dcf" + partitionKeys: null + aliases: null + columns: ["65e2204f-6a23-4130-934a-9679af6a211f", "d726de70-faca-46fb-9c99-cf04f6b579a6", ...] + parameters: {"transient_lastDdlTime": "1466403208"} + viewOriginalText: null + viewExpandedText: null + tableType: “MANAGED_TABLE” + temporary: false + +</pre></div> +<p>The following points can be noted from the example above:</p> +<p></p> +<ul> +<li>Every entity that is an instance of a Class type is identified by a unique identifier, a GUID. This GUID is generated by the Atlas server when the object is defined, and remains constant for the entire lifetime of the entity. At any point in time, this particular entity can be accessed using its GUID. +<ul> +<li>In this example, the ‘customers’ table in the default database is uniquely identified by the GUID "9ba387dd-fa76-429c-b791-ffc338d3c91f"</li></ul></li> +<li>An entity is of a given type, and the name of the type is provided with the entity definition. +<ul> +<li>In this example, the ‘customers’ table is a ‘hive_table.</li></ul></li> +<li>The values of this entity are a map of all the attribute names and their values for attributes that are defined in the hive_table type definition.</li> +<li>Attribute values will be according to the metatype of the attribute. +<ul> +<li>Basic metatypes: integer, String, boolean values. E.g. ‘name’ = ‘customers’, ‘Temporary’ = ‘false’</li> +<li>Collection metatypes: An array or map of values of the contained metatype. E.g. parameters = { “transient_lastDdlTime”: “1466403208”}</li> +<li>Composite metatypes: For classes, the value will be an entity with which this particular entity will have a relationship. E.g. The hive table “customers” is present in a database called “default”. The relationship between the table and database are captured via the “db” attribute. Hence, the value of the “db” attribute will be a GUID that uniquely identifies the hive_db entity called “default”</li></ul></li></ul> +<p>With this idea on entities, we can now see the difference between Class and Struct metatypes. Classes and Structs both compose attributes of other types. However, entities of Class types have the Id attribute (with a GUID value) a nd can be referenced from other entities (like a hive_db entity is referenced from a hive_table entity). Instances of Struct types do not have an identity of their own. The value of a Struct type is a collection of attributes that are ‘embedded’ inside the entity itself.</p></div> +<div class="section"> +<h3><a name="Attributes"></a>Attributes</h3> +<p>We already saw that attributes are defined inside composite metatypes like Class and Struct. But we simplistically referred to attributes as having a name and a metatype value. However, attributes in Atlas have some more properties that define more concepts related to the type system.</p> +<p>An attribute has the following properties:</p> +<div class="source"> +<pre> + name: string, + dataTypeName: string, + isComposite: boolean, + isIndexable: boolean, + isUnique: boolean, + multiplicity: enum, + reverseAttributeName: string + +</pre></div> +<p>The properties above have the following meanings:</p> +<p></p> +<ul> +<li>name - the name of the attribute</li> +<li>dataTypeName - the metatype name of the attribute (native, collection or composite)</li> +<li>isComposite - +<ul> +<li>This flag indicates an aspect of modelling. If an attribute is defined as composite, it means that it cannot have a lifecycle independent of the entity it is contained in. A good example of this concept is the set of columns that make a part of a hive table. Since the columns do not have meaning outside of the hive table, they are defined as composite attributes.</li> +<li>A composite attribute must be created in Atlas along with the entity it is contained in. i.e. A hive column must be created along with the hive table.</li></ul></li> +<li>isIndexable - +<ul> +<li>This flag indicates whether this property should be indexed on, so that look ups can be performed using the attribute value as a predicate and can be performed efficiently.</li></ul></li> +<li>isUnique - +<ul> +<li>This flag is again related to indexing. If specified to be unique, it means that a special index is created for this attribute in Titan that allows for equality based look ups.</li> +<li>Any attribute with a true value for this flag is treated like a primary key to distinguish this entity from other entities. Hence care should be taken ensure that this attribute does model a unique property in real world. +<ul> +<li>For e.g. consider the name attribute of a hive_table. In isolation, a name is not a unique attribute for a hive_table, because tables with the same name can exist in multiple databases. Even a pair of (database name, table name) is not unique if Atlas is storing metadata of hive tables amongst multiple clusters. Only a cluster location, database name and table name can be deemed unique in the physical world.</li></ul></li></ul></li> +<li>multiplicity - indicates whether this attribute is required, optional, or could be multi-valued. If an entity’s definition of the attribute value does not match the multiplicity declaration in the type definition, this would be a constraint violation and the entity addition will fail. This field can therefore be used to define some constraints on the metadata information.</li></ul> +<p>Using the above, let us expand on the attribute definition of one of the attributes of the hive table below. Let us look at the attribute called ‘db’ which represents the database to which the hive table belongs:</p> +<div class="source"> +<pre> +db: + "dataTypeName": "hive_db", + "isComposite": false, + "isIndexable": true, + "isUnique": false, + "multiplicity": "required", + "name": "db", + "reverseAttributeName": null + +</pre></div> +<p>Note the “required” constraint on multiplicity. A table entity cannot be sent without a db reference.</p> +<div class="source"> +<pre> +columns: + "dataTypeName": "array<hive_column>", + "isComposite": true, + "isIndexable": true, + “isUnique": false, + "multiplicity": "optional", + "name": "columns", + "reverseAttributeName": null + +</pre></div> +<p>Note the “isComposite” true value for columns. By doing this, we are indicating that the defined column entities should always be bound to the table entity they are defined with.</p> +<p>From this description and examples, you will be able to realize that attribute definitions can be used to influence specific modelling behavior (constraints, indexing, etc) to be enforced by the Atlas system.</p></div> +<div class="section"> +<h3><a name="System_specific_types_and_their_significance"></a>System specific types and their significance</h3> +<p>Atlas comes with a few pre-defined system types. We saw one example (DataSet) in the preceding sections. In this section we will see all these types and understand their significance.</p> +<p><b>Referenceable</b>: This type represents all entities that can be searched for using a unique attribute called qualifiedName.</p> +<p><b>Asset</b>: This type contains attributes like name, description and owner. Name is a required attribute (multiplicity = required), the others are optional. The purpose of Referenceable and Asset is to provide modellers with way to enforce consistency when defining and querying entities of their own types. Having these fixed set of attributes allows applications and User interfaces to make convention based assumptions about what attributes they can expect of types by default.</p> +<p><b>Infrastructure</b>: This type extends Referenceable and Asset and typically can be used to be a common super type for infrastructural metadata objects like clusters, hosts etc.</p> +<p><b>DataSet</b>: This type extends Referenceable and Asset. Conceptually, it can be used to represent an type that stores data. In Atlas, hive tables, Sqoop RDBMS tables etc are all types that extend from DataSet. Types that extend DataSet can be expected to have a Schema in the sense that they would have an attribute that defines attributes of that dataset. For e.g. the columns attribute in a hive_table. Also entities of types that extend DataSet participate in data transformation and this transformation can be captured by Atlas via lineage (or provenance) graphs.</p> +<p><b>Process</b>: This type extends Referenceable and Asset. Conceptually, it can be used to represent any data transformation operation. For example, an ETL process that transforms a hive table with raw data to another hive table that stores some aggregate can be a specific type that extends the Process type. A Process type has two specific attributes, inputs and outputs. Both inputs and outputs are arrays of DataSet entities. Thus an instance of a Process type can use these inputs and outputs to capture how the lineage of a DataSet evolves.</p></div> + </div> + </div> + + <hr/> + + <footer> + <div class="container"> + <div class="row span12">Copyright © 2015-2017 + <a href="http://www.apache.org">Apache Software Foundation</a>. + All Rights Reserved. + + </div> + + + <p id="poweredBy" class="pull-right"> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + </p> + + </div> + </footer> + </body> +</html>
http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/api/apple-touch-icon.png ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/api/apple-touch-icon.png b/0.7.1-incubating/api/apple-touch-icon.png new file mode 100644 index 0000000..6d2fc39 Binary files /dev/null and b/0.7.1-incubating/api/apple-touch-icon.png differ http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/api/application.wadl ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/api/application.wadl b/0.7.1-incubating/api/application.wadl new file mode 100644 index 0000000..fbace48 --- /dev/null +++ b/0.7.1-incubating/api/application.wadl @@ -0,0 +1,756 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wadl:application xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <wadl:doc xmlns:enunciate="http://enunciate.codehaus.org/" enunciate:generatedBy="Enunciate-1.29"/> + <wadl:grammars> + <wadl:include href="ns0.xsd"/> + </wadl:grammars> + <wadl:resources base="http://localhost:8080/atlas-webapp"> + <wadl:resource path="/api/atlas/entities"> + <wadl:method name="POST"> + <wadl:doc> + <![CDATA[Submits the entity definitions (instances). +The body contains the JSONArray of entity json. The service takes care of de-duping the entities based on any +unique attribute for the give type.]]> + </wadl:doc> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="PUT"> + <wadl:doc> + <![CDATA[Complete update of a set of entities - the values not specified will be replaced with null/removed +Adds/Updates given entities identified by its GUID or unique attribute]]> + </wadl:doc> + <wadl:response> + <wadl:doc> + <![CDATA[response payload as json]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="DELETE"> + <wadl:doc> + <![CDATA[Delete entities from the repository identified by their guids (including their composite references) +or +Deletes a single entity identified by its type and unique attribute value from the repository (including their composite references)]]> + </wadl:doc> + <wadl:request> + <wadl:param name="guid" style="query"> + <wadl:doc> + <![CDATA[list of deletion candidate guids +or]]> + </wadl:doc> + </wadl:param> + <wadl:param name="type" style="query"> + <wadl:doc> + <![CDATA[the entity type]]> + </wadl:doc> + </wadl:param> + <wadl:param name="property" style="query"> + <wadl:doc> + <![CDATA[the unique attribute used to identify the entity]]> + </wadl:doc> + </wadl:param> + <wadl:param name="value" style="query"> + <wadl:doc> + <![CDATA[the unique attribute value used to identify the entity]]> + </wadl:doc> + </wadl:param> + </wadl:request> + <wadl:response> + <wadl:doc> + <![CDATA[response payload as json - including guids of entities(including composite references from that entity) that were deleted]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="GET"> + <wadl:request> + <wadl:param name="type" style="query"/> + <wadl:param name="property" style="query"/> + <wadl:param name="value" style="query"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/types"> + <wadl:method name="POST"> + <wadl:doc> + <![CDATA[Submits a type definition corresponding to a given type representing a meta model of a +domain. Could represent things like Hive Database, Hive Table, etc.]]> + </wadl:doc> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="PUT"> + <wadl:doc> + <![CDATA[Update of existing types - if the given type doesn't exist, creates new type +Allowed updates are: +1. Add optional attribute +2. Change required to optional attribute +3. Add super types - super types shouldn't contain any required attributes]]> + </wadl:doc> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Return the list of type names in the type system which match the specified filter.]]> + </wadl:doc> + <wadl:request> + <wadl:param name="type" style="query"> + <wadl:doc> + <![CDATA[returns types whose category is the given typeCategory]]> + </wadl:doc> + </wadl:param> + <wadl:param name="supertype" style="query"> + <wadl:doc> + <![CDATA[returns types which contain the given supertype]]> + </wadl:doc> + </wadl:param> + <wadl:param name="notsupertype" style="query"> + <wadl:doc> + <![CDATA[returns types which do not contain the given supertype + +Its possible to specify combination of these filters in one request and the conditions are combined with AND +For example, typeCategory = TRAIT && supertype contains 'X' && supertype !contains 'Y' +If there is no filter, all the types are returned]]> + </wadl:doc> + </wadl:param> + </wadl:request> + <wadl:response> + <wadl:doc> + <![CDATA[list of type names]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/admin/session"> + <wadl:method name="GET"> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/admin/stack"> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Fetches the thread stack dump for this application.]]> + </wadl:doc> + <wadl:response> + <wadl:doc> + <![CDATA[json representing the thread stack dump.]]> + </wadl:doc> + <wadl:representation mediaType="text/plain"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/admin/status"> + <wadl:method name="GET"> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/admin/version"> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Fetches the version for this application.]]> + </wadl:doc> + <wadl:response> + <wadl:doc> + <![CDATA[json representing the version.]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/discovery/search"> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Search using a given query.]]> + </wadl:doc> + <wadl:request> + <wadl:param name="query" style="query"> + <wadl:doc> + <![CDATA[search query in DSL format falling back to full text.]]> + </wadl:doc> + </wadl:param> + <wadl:param name="limit" style="query"> + <wadl:doc> + <![CDATA[number of rows to be returned in the result, used for pagination. maxlimit > limit > 0. -1 maps to atlas.search.defaultlimit property value]]> + </wadl:doc> + </wadl:param> + <wadl:param name="offset" style="query"> + <wadl:doc> + <![CDATA[offset to the results returned, used for pagination. offset >= 0. -1 maps to offset 0]]> + </wadl:doc> + </wadl:param> + </wadl:request> + <wadl:response> + <wadl:doc> + <![CDATA[JSON representing the type and results.]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/entities/qualifiedName"> + <wadl:method name="POST"> + <wadl:doc> + <![CDATA[Adds/Updates given entity identified by its unique attribute( entityType, attributeName and value) +Updates support only partial update of an entity - Adds/updates any new values specified +Updates do not support removal of attribute values]]> + </wadl:doc> + <wadl:request> + <wadl:param name="type" style="query"> + <wadl:doc> + <![CDATA[the entity type]]> + </wadl:doc> + </wadl:param> + <wadl:param name="property" style="query"> + <wadl:doc> + <![CDATA[the unique attribute used to identify the entity]]> + </wadl:doc> + </wadl:param> + <wadl:param name="value" style="query"> + <wadl:doc> + <![CDATA[the unique attributes value]]> + </wadl:doc> + </wadl:param> + </wadl:request> + <wadl:response> + <wadl:doc> + <![CDATA[response payload as json +The body contains the JSONArray of entity json. The service takes care of de-duping the entities based on any +unique attribute for the give type.]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/entities/{guid}"> + <wadl:param name="guid" style="template"/> + <wadl:method name="POST"> + <wadl:doc> + <![CDATA[Updates entity identified by its GUID +Support Partial update of an entity - Adds/updates any new values specified +Does not support removal of attribute values]]> + </wadl:doc> + <wadl:request> + <wadl:param name="property" style="query"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Fetch the complete definition of an entity given its GUID.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/types/{typeName}"> + <wadl:param name="typeName" style="template"> + <wadl:doc> + <![CDATA[name of a type which is unique.]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Fetch the complete definition of a given type name which is unique.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/entities"> + <wadl:method name="GET"> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="POST"> + <wadl:request> + <wadl:representation mediaType="*/*"/> + <wadl:representation mediaType="application/xml"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/taxonomies"> + <wadl:method name="GET"> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/discovery/search/dsl"> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Search using query DSL format.]]> + </wadl:doc> + <wadl:request> + <wadl:param name="query" style="query"> + <wadl:doc> + <![CDATA[search query in DSL format.]]> + </wadl:doc> + </wadl:param> + <wadl:param name="limit" style="query"> + <wadl:doc> + <![CDATA[number of rows to be returned in the result, used for pagination. maxlimit > limit > 0. -1 maps to atlas.search.defaultlimit property value]]> + </wadl:doc> + </wadl:param> + <wadl:param name="offset" style="query"> + <wadl:doc> + <![CDATA[offset to the results returned, used for pagination. offset >= 0. -1 maps to offset 0 +Limit and offset in API are used in conjunction with limit and offset in DSL query +Final limit = min(API limit, max(query limit - API offset, 0)) +Final offset = API offset + query offset]]> + </wadl:doc> + </wadl:param> + </wadl:request> + <wadl:response> + <wadl:doc> + <![CDATA[JSON representing the type and results.]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/discovery/search/fulltext"> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Search using full text search.]]> + </wadl:doc> + <wadl:request> + <wadl:param name="query" style="query"> + <wadl:doc> + <![CDATA[search query.]]> + </wadl:doc> + </wadl:param> + <wadl:param name="limit" style="query"> + <wadl:doc> + <![CDATA[number of rows to be returned in the result, used for pagination. maxlimit > limit > 0. -1 maps to atlas.search.defaultlimit property value]]> + </wadl:doc> + </wadl:param> + <wadl:param name="offset" style="query"> + <wadl:doc> + <![CDATA[offset to the results returned, used for pagination. offset >= 0. -1 maps to offset 0]]> + </wadl:doc> + </wadl:param> + </wadl:request> + <wadl:response> + <wadl:doc> + <![CDATA[JSON representing the type and results.]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/discovery/search/gremlin"> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Search using raw gremlin query format.]]> + </wadl:doc> + <wadl:request> + <wadl:param name="query" style="query"> + <wadl:doc> + <![CDATA[search query in raw gremlin format.]]> + </wadl:doc> + </wadl:param> + </wadl:request> + <wadl:response> + <wadl:doc> + <![CDATA[JSON representing the type and results.]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/entities/{guid}/audit"> + <wadl:param name="guid" style="template"> + <wadl:doc> + <![CDATA[entity id]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Returns the entity audit events for a given entity id. The events are returned in the decreasing order of timestamp.]]> + </wadl:doc> + <wadl:request> + <wadl:param name="startKey" style="query"> + <wadl:doc> + <![CDATA[used for pagination. Startkey is inclusive, the returned results contain the event with the given startkey. +First time getAuditEvents() is called for an entity, startKey should be null, +with count = (number of events required + 1). Next time getAuditEvents() is called for the same entity, +startKey should be equal to the entityKey of the last event returned in the previous call.]]> + </wadl:doc> + </wadl:param> + <wadl:param name="count" style="query"> + <wadl:doc> + <![CDATA[number of events required]]> + </wadl:doc> + </wadl:param> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/entities/{guid}/traitDefinitions"> + <wadl:param name="guid" style="template"> + <wadl:doc> + <![CDATA[globally unique identifier for the entity]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Fetches the trait definitions of all the traits associated to the given entity]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/entities/{guid}/traits"> + <wadl:param name="guid" style="template"> + <wadl:doc> + <![CDATA[globally unique identifier for the entity]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Gets the list of trait names for a given entity represented by a guid.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:doc> + <![CDATA[a list of trait names for the given entity guid]]> + </wadl:doc> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="POST"> + <wadl:doc> + <![CDATA[Adds a new trait to an existing entity represented by a guid.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/lineage/{guid}/schema"> + <wadl:param name="guid" style="template"> + <wadl:doc> + <![CDATA[dataset entity id]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Returns the schema for the given dataset id.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/entities/{entityId}"> + <wadl:param name="entityId" style="template"/> + <wadl:method name="GET"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/taxonomies/{taxonomyName}"> + <wadl:param name="taxonomyName" style="template"/> + <wadl:method name="GET"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="POST"> + <wadl:request> + <wadl:representation mediaType="*/*"/> + <wadl:representation mediaType="application/xml"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="PUT"> + <wadl:request> + <wadl:representation mediaType="*/*"/> + <wadl:representation mediaType="application/xml"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="DELETE"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/entities/{guid}/traitDefinitions/{traitName}"> + <wadl:param name="guid" style="template"> + <wadl:doc> + <![CDATA[globally unique identifier for the entity]]> + </wadl:doc> + </wadl:param> + <wadl:param name="traitName" style="template"> + <wadl:doc> + <![CDATA[name of the trait]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Fetches the trait definition for an entity given its guid and trait name]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/entities/{guid}/traits/{traitName}"> + <wadl:param name="guid" style="template"> + <wadl:doc> + <![CDATA[globally unique identifier for the entity]]> + </wadl:doc> + </wadl:param> + <wadl:param name="traitName" style="template"> + <wadl:doc> + <![CDATA[name of the trait]]> + </wadl:doc> + </wadl:param> + <wadl:method name="DELETE"> + <wadl:doc> + <![CDATA[Deletes a given trait from an existing entity represented by a guid.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/lineage/{guid}/inputs/graph"> + <wadl:param name="guid" style="template"> + <wadl:doc> + <![CDATA[dataset entity id]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Returns input lineage graph for the given entity id.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/lineage/{guid}/outputs/graph"> + <wadl:param name="guid" style="template"> + <wadl:doc> + <![CDATA[dataset entity id]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Returns the outputs graph for a given entity id.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/entities/{entityId}/tags"> + <wadl:param name="entityId" style="template"/> + <wadl:method name="GET"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/taxonomies/{taxonomyName}/terms"> + <wadl:param name="taxonomyName" style="template"/> + <wadl:method name="GET"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/lineage/hive/table/{tableName}/schema"> + <wadl:param name="tableName" style="template"> + <wadl:doc> + <![CDATA[table name]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Return the schema for the given tableName.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/entities/{entityId}/tags/{tag}"> + <wadl:param name="entityId" style="template"/> + <wadl:param name="tag" style="template"/> + <wadl:method name="GET"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="POST"> + <wadl:request> + <wadl:representation mediaType="*/*"/> + <wadl:representation mediaType="application/xml"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="DELETE"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/taxonomies/{taxonomyName}/terms/{termName}"> + <wadl:param name="taxonomyName" style="template"/> + <wadl:param name="termName" style="template"/> + <wadl:method name="GET"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="POST"> + <wadl:request> + <wadl:representation mediaType="*/*"/> + <wadl:representation mediaType="application/xml"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="PUT"> + <wadl:request> + <wadl:representation mediaType="*/*"/> + <wadl:representation mediaType="application/xml"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="DELETE"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/lineage/hive/table/{tableName}/inputs/graph"> + <wadl:param name="tableName" style="template"> + <wadl:doc> + <![CDATA[table name]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Returns the inputs graph for a given entity.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/lineage/hive/table/{tableName}/outputs/graph"> + <wadl:param name="tableName" style="template"> + <wadl:doc> + <![CDATA[table name]]> + </wadl:doc> + </wadl:param> + <wadl:method name="GET"> + <wadl:doc> + <![CDATA[Returns the outputs graph for a given entity.]]> + </wadl:doc> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/taxonomies/{taxonomyName}/terms/{rootTerm}/{remainder}"> + <wadl:param name="taxonomyName" style="template"/> + <wadl:param name="rootTerm" style="template"/> + <wadl:param name="remainder" style="template"/> + <wadl:method name="GET"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + <wadl:resource path="/api/atlas/v1/taxonomies/{taxonomyName}/terms/{termName}/{remainder}"> + <wadl:param name="taxonomyName" style="template"/> + <wadl:param name="termName" style="template"/> + <wadl:param name="remainder" style="template"/> + <wadl:method name="POST"> + <wadl:request> + <wadl:representation mediaType="*/*"/> + <wadl:representation mediaType="application/xml"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="PUT"> + <wadl:request> + <wadl:representation mediaType="*/*"/> + <wadl:representation mediaType="application/xml"/> + </wadl:request> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + <wadl:method name="DELETE"> + <wadl:request/> + <wadl:response> + <wadl:representation mediaType="application/json"/> + </wadl:response> + </wadl:method> + </wadl:resource> + </wadl:resources> +</wadl:application> http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/api/atlas-webapp-php.zip ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/api/atlas-webapp-php.zip b/0.7.1-incubating/api/atlas-webapp-php.zip new file mode 100644 index 0000000..5b803a6 Binary files /dev/null and b/0.7.1-incubating/api/atlas-webapp-php.zip differ http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/api/atlas-webapp.rb ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/api/atlas-webapp.rb b/0.7.1-incubating/api/atlas-webapp.rb new file mode 100644 index 0000000..fd0a201 --- /dev/null +++ b/0.7.1-incubating/api/atlas-webapp.rb @@ -0,0 +1,246 @@ +# +# +# +# Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>. +# +require 'json' + +# adding necessary json serialization methods to standard classes. +class Object + def to_jaxb_json_hash + return self + end + def self.from_json o + return o + end +end + +class String + def self.from_json o + return o + end +end + +class Boolean + def self.from_json o + return o + end +end + +class Numeric + def self.from_json o + return o + end +end + +class Time + #json time is represented as number of milliseconds since epoch + def to_jaxb_json_hash + return (to_i * 1000) + (usec / 1000) + end + def self.from_json o + if o.nil? + return nil + else + return Time.at(o / 1000, (o % 1000) * 1000) + end + end +end + +class Array + def to_jaxb_json_hash + a = Array.new + each { | _item | a.push _item.to_jaxb_json_hash } + return a + end +end + +class Hash + def to_jaxb_json_hash + h = Hash.new + each { | _key, _value | h[_key.to_jaxb_json_hash] = _value.to_jaxb_json_hash } + return h + end +end + + +module Org + +module Apache + +module Atlas + +module Web + +module Resources + + # + class ErrorBean + + # (no documentation provided) + attr_accessor :status + # (no documentation provided) + attr_accessor :message + # (no documentation provided) + attr_accessor :stackTrace + + # the json hash for this ErrorBean + def to_jaxb_json_hash + _h = {} + _h['status'] = status.to_jaxb_json_hash unless status.nil? + _h['message'] = message.to_jaxb_json_hash unless message.nil? + _h['stackTrace'] = stackTrace.to_jaxb_json_hash unless stackTrace.nil? + return _h + end + + # the json (string form) for this ErrorBean + def to_json + to_jaxb_json_hash.to_json + end + + #initializes this ErrorBean with a json hash + def init_jaxb_json_hash(_o) + @status = Fixnum.from_json(_o['status']) unless _o['status'].nil? + @message = String.from_json(_o['message']) unless _o['message'].nil? + @stackTrace = String.from_json(_o['stackTrace']) unless _o['stackTrace'].nil? + end + + # constructs a ErrorBean from a (parsed) JSON hash + def self.from_json(o) + if o.nil? + return nil + else + inst = new + inst.init_jaxb_json_hash o + return inst + end + end + end + +end + +end + +end + +end + +end + +module Org + +module Apache + +module Atlas + +module Web + +module Resources + + # + class ErrorBean + + # (no documentation provided) + attr_accessor :status + # (no documentation provided) + attr_accessor :message + + # the json hash for this ErrorBean + def to_jaxb_json_hash + _h = {} + _h['status'] = status.to_jaxb_json_hash unless status.nil? + _h['message'] = message.to_jaxb_json_hash unless message.nil? + return _h + end + + # the json (string form) for this ErrorBean + def to_json + to_jaxb_json_hash.to_json + end + + #initializes this ErrorBean with a json hash + def init_jaxb_json_hash(_o) + @status = Fixnum.from_json(_o['status']) unless _o['status'].nil? + @message = String.from_json(_o['message']) unless _o['message'].nil? + end + + # constructs a ErrorBean from a (parsed) JSON hash + def self.from_json(o) + if o.nil? + return nil + else + inst = new + inst.init_jaxb_json_hash o + return inst + end + end + end + +end + +end + +end + +end + +end + +module Org + +module Apache + +module Atlas + +module Web + +module Resources + + # + class Results + + # (no documentation provided) + attr_accessor :href + # (no documentation provided) + attr_accessor :status + + # the json hash for this Results + def to_jaxb_json_hash + _h = {} + _h['href'] = href.to_jaxb_json_hash unless href.nil? + _h['status'] = status.to_jaxb_json_hash unless status.nil? + return _h + end + + # the json (string form) for this Results + def to_json + to_jaxb_json_hash.to_json + end + + #initializes this Results with a json hash + def init_jaxb_json_hash(_o) + @href = String.from_json(_o['href']) unless _o['href'].nil? + @status = Fixnum.from_json(_o['status']) unless _o['status'].nil? + end + + # constructs a Results from a (parsed) JSON hash + def self.from_json(o) + if o.nil? + return nil + else + inst = new + inst.init_jaxb_json_hash o + return inst + end + end + end + +end + +end + +end + +end + +end http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/api/crossdomain.xml ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/api/crossdomain.xml b/0.7.1-incubating/api/crossdomain.xml new file mode 100644 index 0000000..0d42929 --- /dev/null +++ b/0.7.1-incubating/api/crossdomain.xml @@ -0,0 +1,25 @@ +<?xml version="1.0"?> +<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> +<cross-domain-policy> + + +<!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html --> + +<!-- Most restrictive policy: --> + <site-control permitted-cross-domain-policies="none"/> + + + +<!-- Least restrictive policy: --> +<!-- + <site-control permitted-cross-domain-policies="all"/> + <allow-access-from domain="*" to-ports="*" secure="false"/> + <allow-http-request-headers-from domain="*" headers="*" secure="false"/> +--> +<!-- + If you host a crossdomain.xml file with allow-access-from domain=â*â + and donât understand all of the points described here, you probably + have a nasty security vulnerability. ~ simon willison +--> + +</cross-domain-policy> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/api/css/home.gif ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/api/css/home.gif b/0.7.1-incubating/api/css/home.gif new file mode 100644 index 0000000..49aa306 Binary files /dev/null and b/0.7.1-incubating/api/css/home.gif differ http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/api/css/prettify.css ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/api/css/prettify.css b/0.7.1-incubating/api/css/prettify.css new file mode 100644 index 0000000..d44b3a2 --- /dev/null +++ b/0.7.1-incubating/api/css/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/api/css/style.css ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/api/css/style.css b/0.7.1-incubating/api/css/style.css new file mode 100644 index 0000000..3de29cc --- /dev/null +++ b/0.7.1-incubating/api/css/style.css @@ -0,0 +1,759 @@ +/** + * HTML5 â° Boilerplate + * + * style.css contains a reset, font normalization and some base styles. + * + * Credit is left where credit is due. + * Much inspiration was taken from these projects: + * - yui.yahooapis.com/2.8.1/build/base/base.css + * - camendesign.com/design/ + * - praegnanz.de/weblog/htmlcssjs-kickstart + */ + + +/** + * html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline) + * v1.6.1 2010-09-17 | Authors: Eric Meyer & Richard Clark + * html5doctor.com/html-5-reset-stylesheet/ + */ + +html, body, div, span, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, +small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, figcaption, figure, +footer, header, hgroup, menu, nav, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} + +blockquote, q { quotes: none; } + +blockquote:before, blockquote:after, +q:before, q:after { content: ""; content: none; } + +ins { background-color: #ff9; color: #000; text-decoration: none; } + +mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; } + +del { text-decoration: line-through; } + +abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; } + +table { border-collapse: collapse; border-spacing: 0; } + +hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } + +input, select { vertical-align: middle; } + + +/** + * Font normalization inspired by YUI Library's fonts.css: developer.yahoo.com/yui/ + */ + +body { font:13px/1.231 sans-serif; *font-size:small; } /* Hack retained to preserve specificity */ +select, input, textarea, button { font:99% sans-serif; } + +/* Normalize monospace sizing: + en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, code, kbd, samp { font-family: monospace, sans-serif; } + + +/** + * Minimal base styles. + */ + +/* Always force a scrollbar in non-IE */ +html { overflow-y: scroll; } + +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, a:active { outline: none; } + +ul, ol { margin-left: 2em; } +ol { list-style-type: decimal; } + +/* Remove margins for navigation lists */ +nav ul, nav li { margin: 0; list-style:none; list-style-image: none; } + +small { font-size: 85%; } +strong, th { font-weight: bold; } + +td { vertical-align: top; } + +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, sup { font-size: 75%; line-height: 0; position: relative; } +sup { top: -0.5em; } +sub { bottom: -0.25em; } + +pre { + /* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ + padding: 15px; +} + +textarea { overflow: auto; } /* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ + +.ie6 legend, .ie7 legend { margin-left: -7px; } + +/* Align checkboxes, radios, text inputs with their label by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css */ +input[type="radio"] { vertical-align: text-bottom; } +input[type="checkbox"] { vertical-align: bottom; } +.ie7 input[type="checkbox"] { vertical-align: baseline; } +.ie6 input { vertical-align: text-bottom; } + +/* Hand cursor on clickable input elements */ +label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; } + +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, input, select, textarea { margin: 0; } + +/* Colors for form validity */ +input:valid, textarea:valid { } +input:invalid, textarea:invalid { + border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; +} +.no-boxshadow input:invalid, .no-boxshadow textarea:invalid { background-color: #f0dddd; } + + +/* These selection declarations have to be separate + No text-shadow: twitter.com/miketaylr/status/12228805301 + Also: hot pink! */ +::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; } +::selection { background:#FF5E99; color:#fff; text-shadow: none; } + +/* j.mp/webkit-tap-highlight-color */ +a:link { -webkit-tap-highlight-color: #FF5E99; } + +/* Make buttons play nice in IE: + www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */ +button { width: auto; overflow: visible; } + +/* Bicubic resizing for non-native sized IMG: + code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { -ms-interpolation-mode: bicubic; } + +/** + * You might tweak these.. + */ + +body, select, input, textarea { + /* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */ + color: #444; + /* Set your base font here, to apply evenly */ + /* font-family: Georgia, serif; */ +} + +/* Headers (h1, h2, etc) have no default font-size or margin; define those yourself */ +h1, h2, h3, h4, h5, h6 { font-weight: bold; } + +a, a:active, a:visited { color: #607890; } +a:hover { color: #036; } + + +/** + * Primary styles + * + * Author: + */ + + +body{text-align:center;margin:0} +.container{text-align:left;position:relative;padding:0;margin:0 auto;width:800px} +.column{float:left;margin:0 5px 0 0;padding:0} +* html .column{overflow-x:hidden} +.border{padding-right:2px;margin-right:2px;border-right:1px solid #ddd} +.span-1{width:35px} +.span-2{width:75px} +.span-3{width:115px} +.span-4{width:155px} +.span-5{width:195px} +.span-6{width:235px} +.span-7{width:275px} +.span-8{width:315px} +.span-9{width:355px} +.span-10{width:395px} +.span-11{width:435px} +.span-12{width:475px} +.span-13{width:515px} +.span-14{width:555px} +.span-15{width:595px} +.span-16{width:635px} +.span-17{width:675px} +.span-18{width:715px} +.span-19{width:755px} +.span-20{width:795px} +.span-21{width:835px} +.span-22{width:875px} +.span-23{width:915px} +.span-24{width:955px;margin:0} +.last{margin-right:0} +.append-1{padding-right:40px} +.append-2{padding-right:80px} +.append-3{padding-right:120px} +.append-4{padding-right:160px} +.append-5{padding-right:200px} +.prepend-1{padding-left:40px} +.prepend-2{padding-left:80px} +.prepend-3{padding-left:120px} +.prepend-4{padding-left:160px} +.prepend-5{padding-left:200px} +.clear{display:inline-block} +.clear:after,.container:after{content:".";display:block;height:0;clear:both;visibility:hidden} +* html .clear{height:1%} +.clear{display:block} +h1,h2,h3,h4,h5,h6, p,ul,ol,dl,pre,form{padding-left:5px;padding-right:5px} +table{margin-left:5px;margin-right:5px} +img{margin:0 0 18px 0} +.pull-1{margin-left:-70px} +.pull-2{margin-left:-140px} +.pull-3{margin-left:-210px} +.push-0{margin:0 0 0 18px;float:right} +.push-1{margin:0 -70px 0 18px;float:right} +.push-2{margin:0 -140px 0 18px;float:right} +.push-3{margin:0 -210px 0 18px;float:right} +.deprecated{text-decoration: line-through} + +/* @end */ + +/* @group typography.css */ + +body { + font-size: 12px; + line-height: 18px; /* Do a complete find/replace on "18px" to change this */ +} + + +/* Default fonts */ +h1,h2,h3, +h4,h5,h6 { font-family: "Helvetica Neue", Helvetica, sans-serif; } +body { font-family: "Lucida Grande", Calibri, Arial, sans-serif; } +pre { font-family: Monaco, "Courier New", monospace; } +code { font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Monaco, Courier, monospace; } + + +/* Headings +-------------------------------------------------------------- */ + +h1,h2,h3,h4,h5,h6 { + color:#111; + clear:both; +} + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: #111; + text-decoration: none; +} + +h1 { font-size: 30px; line-height:36px; padding:10px 0 18px 0; } +h2 { font-size: 20px; line-height:36px; } +h3 { font-size: 12px; line-height:24px; } +h4 { font-size: 12px; font-weight:bold; } +h5 { font-size: 12px; font-weight:bold; } +h6 { font-size: 12px; } + + +/* Text elements +-------------------------------------------------------------- */ + +p { margin: 0 0 18px 0; text-align:justify; } +p.last { margin-bottom:0; } +p img { float: left; margin:18px 18px 18px 0; padding:0; } +p img.top { margin-top:0; } /* Use this if the image is at the top of the <p>. */ + +ul, ol { margin: 0 0 18px 0; } +ul { list-style-type:circle; } +ol { list-style-type: decimal; } +dl { margin: 0 0 18px 0; } +dl dt { font-weight: bold; } + +a { color: #A68000; text-decoration: underline; outline: none; } +a:hover { color: #000; } + +blockquote { margin: 0 0 18px 18px; color: #666; font-style: italic; } +strong { font-weight: bold; } +em { font-style: italic; } +pre { margin-bottom: 18px; background: #eee; border:1px solid #ddd; padding:16px; } +code { + background: #eee; + border: 1px solid #ddd; + color: #555; + display: block; + font: normal 1.1em "Lucida Sans Unicode",serif; + margin-bottom: 12px; + padding: 8px 10px; + white-space: pre; + overflow: auto; + max-height: 300px; +} + +/* Use this to create a horizontal ruler across a column. */ +hr { + background: #FFDF73; + color: #FFDF73; + clear: both; + float: none; + width: 100%; + height: 2px; + margin: 0 0 16px 0; + border: none; +} + + +/* Tables +-------------------------------------------------------------- */ + +table { margin-bottom: 16px; border-top:1px solid #ddd; border-left:1px solid #ddd; } +th,td { height: 13px; padding:2px 4px; border-bottom:1px solid #ddd; border-right:1px solid #ddd; } +th { font-weight:bold; } + + +/* Some default classes +-------------------------------------------------------------- */ + +p.small { font-size: 10px; margin-bottom: 18px; } +p.large { font-size: 14px; line-height:36px; } +p.quiet { color: #666; } +.hide { display: none; } + + +.caps { + font-variant: small-caps; + letter-spacing: 1px; + text-transform: lowercase; +} + +/* @end */ + +/* @group styles */ + +/* @group Header */ + +#header { + padding-top: 1.8em; + margin-bottom: 1.8em; +} +#site-name { + line-height: 36px; +} +#site-name a { + font-variant: small-caps; + font-size: 3em; + letter-spacing: 3px; + text-decoration: none; + color: #444; +} +#site-name a:visited { + color: #444; + text-decoration: none; +} +#site-name a strong { + color: black; +} +#site-description { + padding-top: 1.4em; + padding-bottom: 1.4em; +} +#site-description h3 { + font-size: 2em; + margin: 0; + font-weight: normal; +} +#site-description p#read-more { + text-align: right; + margin: 6px 0 0; +} +#site-description p#read-more a, #site-description p#read-more a:visited { + font-size: 1.4em; + color: #515151; +} +#site-description p#read-more a:hover { + color: #919191; +} +#site-description { + background-color: #4188D2; + border-top: 2px solid #fff; + color: #444; +} +/* @end */ + +/* @group Navigation */ + +ul.navigation, ul.navigation li { + list-style: none; +} +ul.navigation li { + display: inline; + margin-right: 1.3em; +} + +#primary { + line-height: 72px; + margin-bottom: -24px; + text-align: right; +} +#primary li { + padding-bottom: 5px; +} +#primary a { + color: #444; + text-decoration: none; + font-size: 1.2em; +} +#primary li:hover { + border-bottom: 6px solid #FFDF73; +} +#secondary { + padding-top: 7px; + background-color: #FFDF73; +} +#secondary ul { + list-style: none; + margin-bottom: 7px; +} +#secondary ul li { + display: inline; + list-style: none; + margin-right: 0; +} +#secondary ul li a { + color: #515151; + text-decoration: none; + padding: 8px 24px 8px 24px; + margin-left: -4px; +} +#secondary ul li a.selected { + background-color: #515151; + color: #fff; +} +#secondary ul a:hover { + background: #fff4d0; +} +/* + xBreadcrumbs (Extended Breadcrumbs) jQuery Plugin + � 2009 ajaxBlender.com + For any questions please visit www.ajaxblender.com + or email us at [email protected] +*/ +.xbreadcrumbs { + position: relative; + z-index: 1000; +} +.xbreadcrumbs LI UL { + position: absolute; + float: left; +} +.xbreadcrumbs, .xbreadcrumbs LI, .xbreadcrumbs UL, .xbreadcrumbs UL LI { + list-style: none; + margin: 0; + padding: 0; +} +.xbreadcrumbs { clear: both; } +.xbreadcrumbs, .xbreadcrumbs LI { + float: left; +} +.xbreadcrumbs UL { + display: none; +} + +/* Base style of xBreadcrumbs */ +/* Top Level */ +.xbreadcrumbs { + background: #FFDF73; + width: 100%; +} +.xbreadcrumbs LI { + border-right: none; + padding: 5px 15px 5px 10px; + height: 16px; +} +.xbreadcrumbs LI.current { + background: none; +} +.xbreadcrumbs LI UL LI { + background: none; +} +.xbreadcrumbs LI A { + font-size: 11px; + color: #515151; + text-decoration: none; + padding-right: 2em; +} +.xbreadcrumbs LI A.home { + background: url( home.gif ) no-repeat left center; + padding-left: 20px; +} +.xbreadcrumbs LI A:HOVER, .xbreadcrumbs LI.hover A { + color: #000; +} +/* Top Level - Current Page */ +.xbreadcrumbs LI.current A { + color: #333333; + font-weight: bold; +} +/* Sub-level */ +.xbreadcrumbs LI UL { + padding: 3px; + background: #fff4d0; + font-size: 11px; + min-width: 180px; + max-height: 500px; + overflow: auto; + top: 25px; +} +.xbreadcrumbs LI UL LI { + float: left; + width: 100%; + border-right: none; + height: auto; +} +.xbreadcrumbs LI UL LI A { + text-decoration: none; + color: #666666 !important; + display: block; + padding: 4px; + border-bottom: 1px dotted #666666; +} +.xbreadcrumbs LI UL LI:last-child A { + border-bottom: none; +} +.xbreadcrumbs LI UL LI A:HOVER { + background: #fffbee; +} +body.advisories #nav-advisories,body.community #nav-community,body.blog #nav-blog,body.code #nav-code,body.about #nav-about,body.documentation #nav-documentation{border-bottom: 6px solid #FFDF73;} +/* @end */ + +/* @group Main */ + +#main { + font-size: 1.2em; + line-height: 1.5em; + color: #1E250D; +} +#main h2 { + font-size: 1.8em; + font-weight: normal; + border-bottom: 3px solid #c2b2d4; + padding-top: 10px; + padding-left: 0; + padding-right: 0; + margin-bottom: 6px; +} +#main h3 { + font-size: 1.4em; + font-weight: normal; + border-bottom: 4px solid #f7f7f7; + padding: 0 0 5px; + margin-bottom: 0.4em; +} +#main h3 .caps { + font-size: 1.3em; +} +#main .hfeed .hentry { + list-style: none; + list-style-type: none; + margin-bottom: 2em; + border-bottom: 4px solid #eee; + padding-bottom: 1em; + clear: both; +} +#main .hfeed .hentry:last-child { + border-bottom: none; +}#main .hfeed .hentry .entry-title { + border-bottom: none; +} +#main hr { + color: #FFDF73; + background-color: #FFDF73; + border-color: #FFDF73; +} +#main p { + text-align: left; + padding-left: 0; + padding-right: 0; +} +#main img { + max-width: 740px; +} +#main ol { + margin-left: 1.5em; +} +#main ul { + margin-left: 1.2em; + list-style: disc; +} +#main .intro { + font-size: 1.2em; + color: #515151; + border-bottom: 3px solid #f8fbfd; +} +#main .get-started a { + text-align: center; + background-color: #8942D6; + color: #fff; + display: block; + border-radius: 12px; + -webkit-border-radius: 12px; + -moz-border-radius: 12px; + padding: 8px 6px; + width: 10em; + font-size: 1.4em; + margin-left: auto; + margin-right: auto; + text-decoration: none; +} +#main .get-started a:hover { + background-color: #9D69D6; +} +#main pre { + max-height: 600px; + overflow: auto; +} + +/* @end */ +/* @group Footer */ + +#footer { + color: #666; + font-size: 11px; + border-top: 4px double #e7e7e7; + margin-top: 2em; + padding-top: 1.2em; + text-align: center; +} +/*#footer a { + color: #787878; + text-decoration: none; + border-bottom: 1px dotted #787878; +} +#footer a:hover { + border-bottom: 1px solid #787878; +}*/ + +/* @end */ + +.update, .note, .notice, .alert { +margin: 10px 0 20px; +padding: 5px 20px 5px 20px; +clear: both; +} +.note { + background: #e6ecf2; + border-top: 2px solid #8996ad; + border-bottom: 2px solid #8996ad; +} +.update, .notice { + background: #92ED6B; + border-top: 2px solid #2B8E00; + border-bottom: 2px solid #2B8E00; +} +.alert { + background: #ffbfbf; + border-top: 2px solid #f33; + border-bottom: 2px solid #f33; +} +.alert a { + color:#f00; +} +.alert a:visited { + color: #f33; +} + +/* JavaDoc-Specific Styles */ +.TableHeadingColor { text-align: left; border-width: 0 } +.TableSubHeadingColor { text-align: left; border-width: 0 } +.TableRowColor { text-align: left; border-width: 0 } +.NavBarCell1 { text-align: left; border-width: 0 } +.NavBarCell1Rev { text-align: left; border-width: 0 } +.FrameItemFont { text-align: left; } + +/* @end */ + + + +/** + * Non-semantic helper classes: please define your styles before this section. + */ + +/* For image replacement */ +.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; } + +/* Hide for both screenreaders and browsers: + css-discuss.incutio.com/wiki/Screenreader_Visibility */ +.hidden { display: none; visibility: hidden; } + +/* Hide only visually, but have it available for screenreaders: by Jon Neal. + www.webaim.org/techniques/css/invisiblecontent/ & j.mp/visuallyhidden */ +.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } +/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: drupal.org/node/897638 */ +.visuallyhidden.focusable:active, +.visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } + +/* Hide visually and from screenreaders, but maintain layout */ +.invisible { visibility: hidden; } + +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; } +.clearfix:after { clear: both; } +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.clearfix { zoom: 1; } + + + +/** + * Media queries for responsive design. + * + * These follow after primary styles so they will successfully override. + */ + +@media all and (orientation:portrait) { + /* Style adjustments for portrait mode goes here */ + +} + +@media all and (orientation:landscape) { + /* Style adjustments for landscape mode goes here */ + +} + +/* Grade-A Mobile Browsers (Opera Mobile, Mobile Safari, Android Chrome) + consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */ +@media screen and (max-device-width: 480px) { + + + /* Uncomment if you don't want iOS and WinMobile to mobile-optimize the text for you: j.mp/textsizeadjust */ + /* html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */ +} + + +/** + * Print styles. + * + * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ + */ +@media print { + * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; + -ms-filter: none !important; } /* Black prints faster: sanbeiji.com/archives/953 */ + a, a:visited { color: #444 !important; text-decoration: underline; } + a[href]:after { content: " (" attr(href) ")"; } + abbr[title]:after { content: " (" attr(title) ")"; } + .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */ + pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } + thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */ + tr, img { page-break-inside: avoid; } + @page { margin: 0.5cm; } + p, h2, h3 { orphans: 3; widows: 3; } + h2, h3{ page-break-after: avoid; } +} + http://git-wip-us.apache.org/repos/asf/incubator-atlas-website/blob/1d167f2c/0.7.1-incubating/api/downloads.html ---------------------------------------------------------------------- diff --git a/0.7.1-incubating/api/downloads.html b/0.7.1-incubating/api/downloads.html new file mode 100644 index 0000000..0002d7d --- /dev/null +++ b/0.7.1-incubating/api/downloads.html @@ -0,0 +1,163 @@ +<!doctype html> +<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> +<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]--> +<!--[if IE 7 ]> <html class="no-js ie7" lang="en"> <![endif]--> +<!--[if IE 8 ]> <html class="no-js ie8" lang="en"> <![endif]--> +<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]--> +<head> + <meta charset="utf-8"> + + <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame + Remove this if you use the .htaccess --> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + + <title>Files and Libraries</title> + + <!-- Mobile viewport optimized: j.mp/bplateviewport --> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- CSS: implied media="all" --> + <link rel="stylesheet" href="css/style.css?v=2"> + <link rel="stylesheet" href="css/prettify.css"> + + <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects --> + <script src="js/libs/modernizr-1.7.min.js"></script> + +</head> + +<body class="home"> + + <div class="container"> + <header> + <div id="header" class="column first last span-20"> + <div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">Files and Libraries</a></div> + <div id="primary" class="column span-18 append-1 prepend-1 first last"> + <ul class="navigation"> + <li id="nav-rest"><a href="rest.html">REST</a></li> + <li id="nav-data"><a href="model.html">Data Model</a></li> + <li id="nav-downloads"><a href="downloads.html">Files and Libraries</a></li> + </ul> + </div> + <div> + <ul class="xbreadcrumbs" id="breadcrumbs"> + <li> + <a href="index.html" class="home">Home</a> > + </li> + <li class="current"> + <a href="downloads.html">Files and Libraries</a> + <ul> + <li><a href="model.html">Data Model</a></li> + <li><a href="rest.html">REST</a></li> + <li><a href="downloads.html">Files and Libraries</a></li> + </ul> + </li> + </ul> + </div> + </div> + </header> + <div id="main" class="column first last span-20"> + <h1>Files and Libraries</h1> + + <p>The following files and libraries are available:</p> + + <ul> + <li><a href="#PHP Client Library">PHP Client Library</a></li> + <li><a href="#Ruby Client Library">Ruby Client Library</a></li> + </ul> + <a name="PHP Client Library"></a> + <h2>PHP Client Library</h2> + <p class="note">Created Jan 29, 2017 12:51:58 PM</p> + <p><h1> + Introduction +</h1> + +<p> + The PHP client-side library defines the PHP classes that can be (de)serialized to/from JSON. + This is useful for accessing the REST endpoints that are published by this application, but only + those that produce a JSON representation of their resources (content type "application/json"). +</p> + +<p> + This library requires the <a href="http://php.net/manual/en/function.json-encode.php">json_encode</a> function which was included in PHP versions 5.2.0+. +</p></p> + <h3>Files</h3> + <table> + <tr> + <th>name</th> + <th>size</th> + </tr> + <tr> + <td><a href="atlas-webapp-php.zip">atlas-webapp-php.zip</a></td> + <td>2.02K</td> + </tr> + </table> + <a name="Ruby Client Library"></a> + <h2>Ruby Client Library</h2> + <p class="note">Created Jan 29, 2017 12:51:58 PM</p> + <p><h1> + Introduction +</h1> + +<p> + The Ruby client-side library defines the Ruby classes that can be (de)serialized to/from JSON. + This is useful for accessing the REST endpoints that are published by this application, but only + those that produce a JSON representation of their resources (content type "application/json"). +</p> + +<p> + This library leverages the <a href="http://json.rubyforge.org/">Ruby JSON Implementation</a>, which is + required in order to use this library. +</p> + +</p> + <h3>Files</h3> + <table> + <tr> + <th>name</th> + <th>size</th> + </tr> + <tr> + <td><a href="atlas-webapp.rb">atlas-webapp.rb</a></td> + <td>4.26K</td> + </tr> + </table> + + <div class="clear" /> + </div> + <footer> + <div id="footer"> + Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>. + </div> + </footer> + </div> <!--! end of #container --> + + <!-- JavaScript at the bottom for fast page loading --> + + <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary --> + <script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script> + <script>window.jQuery || document.write("<script src='js/libs/jquery-1.5.1.min.js'>\x3C/script>")</script> + + <!--manage the navigation menu--> + <script src="js/libs/xbreadcrumbs.js"></script> + <script> + $(function() { + $('#breadcrumbs').xBreadcrumbs(); + }); + </script> + + + <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ --> + <script src="js/libs/prettify/prettify.js"></script> + <script> + $(function() { + prettyPrint(); + }); + </script> + + <!--[if lt IE 7 ]> + <script src="js/libs/dd_belatedpng.js"></script> + <script>DD_belatedPNG.fix("img, .png_bg"); // Fix any <img> or .png_bg bg-images. Also, please read goo.gl/mZiyb </script> + <![endif]--> + +</body> +</html>
