Adding version() and mode() to ApplicationDescriptor Signed-off-by: niclas <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/6fa99a1d Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/6fa99a1d Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/6fa99a1d Branch: refs/heads/develop Commit: 6fa99a1df2b7315f6718daef7e2c31968a1ae7d5 Parents: 5820223 Author: niclas <[email protected]> Authored: Sun May 28 07:38:19 2017 +0800 Committer: niclas <[email protected]> Committed: Sun May 28 07:38:19 2017 +0800 ---------------------------------------------------------------------- .../api/structure/ApplicationDescriptor.java | 10 ++++++ .../library/rest/admin/EntitiesResource.java | 1 - .../polygene/library/scripting/Scripting.java | 2 +- .../DataSourceConfigurationState.java | 3 +- tools/model-detail/dev-status.xml | 2 +- .../descriptor/ActivatorDetailDescriptor.java | 29 ++++++++++++++++ .../descriptor/ApplicationDetailDescriptor.java | 26 ++++++++++++++ .../descriptor/CompositeDetailDescriptor.java | 27 +++++++++++---- .../CompositeMethodDetailDescriptor.java | 36 +++++++++++++++----- .../descriptor/ConstructorDetailDescriptor.java | 8 +++++ .../descriptor/EntityDetailDescriptor.java | 10 ++++-- .../ImportedServiceCompositeDescriptor.java | 17 +++++++++ .../ImportedServiceDetailDescriptor.java | 14 ++++++++ .../InjectedFieldDetailDescriptor.java | 9 +++++ .../InjectedMethodDetailDescriptor.java | 8 +++++ .../InjectedParametersDetailDescriptor.java | 29 ++++++++++++---- .../model/descriptor/LayerDetailDescriptor.java | 29 ++++++++++++++++ .../MethodConcernDetailDescriptor.java | 28 +++++++++++++++ .../MethodConcernsDetailDescriptor.java | 14 ++++++++ .../MethodConstraintDetailDescriptor.java | 9 +++++ .../MethodConstraintsDetailDescriptor.java | 6 ++++ .../MethodSideEffectDetailDescriptor.java | 27 +++++++++++++++ .../MethodSideEffectsDetailDescriptor.java | 9 +++++ .../model/descriptor/MixinDetailDescriptor.java | 28 +++++++++++++++ .../descriptor/ModuleDetailDescriptor.java | 21 ++++++++++++ .../descriptor/ObjectDetailDescriptor.java | 28 +++++++++++++++ .../descriptor/ServiceDetailDescriptor.java | 7 ++++ .../tools/model/descriptor/ServiceUsage.java | 17 +++++++++ .../descriptor/TransientDetailDescriptor.java | 7 ++++ .../model/descriptor/ValueDetailDescriptor.java | 10 +++++- .../tools/model/descriptor/package.html | 2 +- .../polygene/tools/model/util/APIFinder.java | 4 +-- .../polygene/tools/model/util/package.html | 2 +- 33 files changed, 447 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/core/api/src/main/java/org/apache/polygene/api/structure/ApplicationDescriptor.java ---------------------------------------------------------------------- diff --git a/core/api/src/main/java/org/apache/polygene/api/structure/ApplicationDescriptor.java b/core/api/src/main/java/org/apache/polygene/api/structure/ApplicationDescriptor.java index 82d01e0..2defddf 100644 --- a/core/api/src/main/java/org/apache/polygene/api/structure/ApplicationDescriptor.java +++ b/core/api/src/main/java/org/apache/polygene/api/structure/ApplicationDescriptor.java @@ -40,4 +40,14 @@ public interface ApplicationDescriptor * @return the Application's name */ String name(); + + /** + * @return the Application's version + */ + String version(); + + /** + * @return the Application's runtime mode + */ + Application.Mode mode(); } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntitiesResource.java ---------------------------------------------------------------------- diff --git a/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntitiesResource.java b/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntitiesResource.java index 0b07b3e..4bce3cd 100644 --- a/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntitiesResource.java +++ b/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntitiesResource.java @@ -83,7 +83,6 @@ public class EntitiesResource protected Representation get( Variant variant ) throws ResourceException { - System.out.println( "VARIANT: " + variant.getMediaType() ); // Generate the right representation according to its media type. if( MediaType.APPLICATION_JSON.equals( variant.getMediaType() ) ) { http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/libraries/scripting/src/main/java/org/apache/polygene/library/scripting/Scripting.java ---------------------------------------------------------------------- diff --git a/libraries/scripting/src/main/java/org/apache/polygene/library/scripting/Scripting.java b/libraries/scripting/src/main/java/org/apache/polygene/library/scripting/Scripting.java index ad97b42..4b6487b 100644 --- a/libraries/scripting/src/main/java/org/apache/polygene/library/scripting/Scripting.java +++ b/libraries/scripting/src/main/java/org/apache/polygene/library/scripting/Scripting.java @@ -69,6 +69,6 @@ public class Scripting public static void main( String[] args ) { - new ScriptEngineManager().getEngineFactories().forEach( factory -> System.out.println(factory)); + new ScriptEngineManager().getEngineFactories().forEach( System.out::println ); } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/libraries/sql/src/main/java/org/apache/polygene/library/sql/datasource/DataSourceConfigurationState.java ---------------------------------------------------------------------- diff --git a/libraries/sql/src/main/java/org/apache/polygene/library/sql/datasource/DataSourceConfigurationState.java b/libraries/sql/src/main/java/org/apache/polygene/library/sql/datasource/DataSourceConfigurationState.java index 20274c4..9243fa5 100644 --- a/libraries/sql/src/main/java/org/apache/polygene/library/sql/datasource/DataSourceConfigurationState.java +++ b/libraries/sql/src/main/java/org/apache/polygene/library/sql/datasource/DataSourceConfigurationState.java @@ -28,8 +28,7 @@ import org.apache.polygene.api.property.Property; * Describe DataSourceConfiguration properties. */ // START SNIPPET: config -public interface DataSourceConfigurationState - extends Enabled +public interface DataSourceConfigurationState extends Enabled { Property<String> driver(); Property<String> url(); http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/dev-status.xml ---------------------------------------------------------------------- diff --git a/tools/model-detail/dev-status.xml b/tools/model-detail/dev-status.xml index e124151..c65f229 100644 --- a/tools/model-detail/dev-status.xml +++ b/tools/model-detail/dev-status.xml @@ -30,7 +30,7 @@ <documentation>brief</documentation> <!-- none, some, good, complete --> - <unittests>none</unittests> + <unittests>some</unittests> </status> <licenses> http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ActivatorDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ActivatorDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ActivatorDetailDescriptor.java index 0b331e2..552e114 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ActivatorDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ActivatorDetailDescriptor.java @@ -22,6 +22,9 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonObject; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.activation.ActivatorDescriptor; import org.apache.polygene.api.util.Visitable; import org.apache.polygene.api.util.Visitor; @@ -174,4 +177,30 @@ public class ActivatorDetailDescriptor { return descriptor.toString(); } + + public JsonObject toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + if( service() != null ) + { + builder.add( "service", service().toString() ); + } + if( importedService() != null ) + { + builder.add( "importedService", importedService().toString() ); + } + if( module() != null ) + { + builder.add( "module", module().toString() ); + } + if( layer() != null ) + { + builder.add( "layer", layer().toString() ); + } + if( application() != null ) + { + builder.add( "application", application().toString() ); + } + return builder.build(); + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ApplicationDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ApplicationDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ApplicationDetailDescriptor.java index fd3abc3..e23247f 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ApplicationDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ApplicationDetailDescriptor.java @@ -22,6 +22,11 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObject; +import javax.json.JsonObjectBuilder; +import org.apache.polygene.api.structure.Application; import org.apache.polygene.api.structure.ApplicationDescriptor; import org.apache.polygene.api.util.HierarchicalVisitor; import org.apache.polygene.api.util.VisitableHierarchy; @@ -110,4 +115,25 @@ public final class ApplicationDetailDescriptor } return visitor.visitLeave( this ); } + + public JsonObject toJson() + { + JsonObjectBuilder appBuilder = Json.createObjectBuilder(); + String appName = descriptor().name(); + String version = descriptor().version(); + Application.Mode mode = descriptor().mode(); + appBuilder.add( "name", appName ); + appBuilder.add( "version", version ); + appBuilder.add( "mode", mode.toString() ); + + JsonArrayBuilder layersBuilder = Json.createArrayBuilder(); + layers().forEach( layer -> layersBuilder.add( layer.toJson() ) ); + appBuilder.add( "layers", layersBuilder.build() ); + + JsonArrayBuilder activatorsBuilder = Json.createArrayBuilder(); + activators().forEach( activator -> activatorsBuilder.add( activator.toJson() ) ); + appBuilder.add( "activators", activatorsBuilder.build() ); + + return appBuilder.build(); + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeDetailDescriptor.java index 3b5e0e3..f62a4ff 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeDetailDescriptor.java @@ -23,6 +23,9 @@ import java.lang.reflect.Method; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.composite.CompositeDescriptor; import org.apache.polygene.api.composite.MethodDescriptor; @@ -49,7 +52,6 @@ public abstract class CompositeDetailDescriptor<T extends CompositeDescriptor> /** * @return Descriptor of this {@code CompositeDetailDescriptor}. Never return {@code null}. - * * @since 0.5 */ public final T descriptor() @@ -59,7 +61,6 @@ public abstract class CompositeDetailDescriptor<T extends CompositeDescriptor> /** * @return Methods of this {@code CompositeDetailDescriptor}. Never return {@code null}. - * * @since 0.5 */ public final Iterable<CompositeMethodDetailDescriptor> methods() @@ -69,7 +70,6 @@ public abstract class CompositeDetailDescriptor<T extends CompositeDescriptor> /** * @return Mixins of this {@code CompositeDetailDescriptor}. Never return {@code null}. - * * @since 0.5 */ public final Iterable<MixinDetailDescriptor> mixins() @@ -81,9 +81,7 @@ public abstract class CompositeDetailDescriptor<T extends CompositeDescriptor> * Return method detail descriptor of the requested method. Returns {@code null} if not found. * * @param aMethod Method to look up. This argument must not be {@code null}. - * * @return method detail descriptor of the requested method. - * * @since 0.5 */ public final CompositeMethodDetailDescriptor getMethodDescriptor( Method aMethod ) @@ -103,7 +101,6 @@ public abstract class CompositeDetailDescriptor<T extends CompositeDescriptor> /** * @return Module that own this {@code CompositeDetailDescriptor}. - * * @since 0.5 */ public final ModuleDetailDescriptor module() @@ -141,4 +138,22 @@ public abstract class CompositeDetailDescriptor<T extends CompositeDescriptor> { return descriptor.toString(); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "type", descriptor().primaryType().getName() ); + builder.add( "visibility", descriptor().visibility().name() ); + { + JsonArrayBuilder typesBuilder = Json.createArrayBuilder(); + descriptor().types().forEach( type -> typesBuilder.add( type.getName() ) ); + builder.add( "types", typesBuilder ); + } + { + JsonArrayBuilder mixinsBuilder = Json.createArrayBuilder(); + mixins().forEach( mixin -> mixinsBuilder.add( mixin.toJson() ) ); + builder.add( "mixins", mixinsBuilder ); + } + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeMethodDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeMethodDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeMethodDetailDescriptor.java index 7a2bda4..84e3215 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeMethodDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/CompositeMethodDetailDescriptor.java @@ -19,7 +19,12 @@ */ package org.apache.polygene.tools.model.descriptor; +import java.lang.reflect.Parameter; +import java.util.Arrays; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.composite.MethodDescriptor; public final class CompositeMethodDetailDescriptor @@ -44,7 +49,6 @@ public final class CompositeMethodDetailDescriptor /** * @return Descriptor of this {@code CompositeMethodDetailDescriptor}. Never return {@code null}. - * * @since 0.5 */ public final MethodDescriptor descriptor() @@ -54,8 +58,7 @@ public final class CompositeMethodDetailDescriptor /** * @return Constraints of this {@code CompositeMethodDetailDescriptor}. - * Returns {@code null} if this method does not have any constraints. - * + * Returns {@code null} if this method does not have any constraints. * @since 0.5 */ public final MethodConstraintsDetailDescriptor constraints() @@ -65,8 +68,7 @@ public final class CompositeMethodDetailDescriptor /** * @return Concerns of this {@code CompositeMethodDetailDescriptor}. Returns {@code null} if this method does not - * have any concerns. - * + * have any concerns. * @since 0.5 */ public final MethodConcernsDetailDescriptor concerns() @@ -76,8 +78,7 @@ public final class CompositeMethodDetailDescriptor /** * @return Side-effects of this {@code CompositeMethodDetailDescriptor}. Returns {@code null} - * if this method does not have any side effects. - * + * if this method does not have any side effects. * @since 0.5 */ public final MethodSideEffectsDetailDescriptor sideEffects() @@ -87,7 +88,6 @@ public final class CompositeMethodDetailDescriptor /** * @return Composite that owns this {@code CompositeMethodDetailDescriptor}. - * * @since 0.5 */ public final CompositeDetailDescriptor composite() @@ -132,4 +132,24 @@ public final class CompositeMethodDetailDescriptor { return descriptor.method().getName(); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "name", descriptor().method().getName() ); + builder.add( "type", descriptor().method().getReturnType().getName() ); + { + JsonArrayBuilder paramsBuilder = Json.createArrayBuilder(); + Arrays.stream( descriptor().method().getParameters() ) + .map( Parameter::toString ) + .forEach( paramsBuilder::add ); +// .forEach( param -> paramsBuilder.add( param.getName() + " : " + param.getType() ) ); + builder.add( "parameters", paramsBuilder ); + } + builder.add( "constraints", constraints().toJson() ); + builder.add( "concerns", concerns().toJson() ); + builder.add( "sideeffects", sideEffects().toJson() ); + + return builder; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ConstructorDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ConstructorDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ConstructorDetailDescriptor.java index 152fdaa..6700b5b 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ConstructorDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ConstructorDetailDescriptor.java @@ -20,6 +20,8 @@ package org.apache.polygene.tools.model.descriptor; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.composite.ConstructorDescriptor; /** @@ -142,4 +144,10 @@ public final class ConstructorDetailDescriptor return descriptor.constructor().getDeclaringClass().getSimpleName(); } + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "name", descriptor().constructor().getName() ); + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/EntityDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/EntityDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/EntityDetailDescriptor.java index a08f6a2..1db78b7 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/EntityDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/EntityDetailDescriptor.java @@ -19,6 +19,7 @@ */ package org.apache.polygene.tools.model.descriptor; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.entity.EntityDescriptor; import org.apache.polygene.api.util.Visitable; import org.apache.polygene.api.util.Visitor; @@ -26,8 +27,7 @@ import org.apache.polygene.api.util.Visitor; /** * Entity Detail Descriptor. */ -public final class EntityDetailDescriptor - extends CompositeDetailDescriptor<EntityDescriptor> +public final class EntityDetailDescriptor extends CompositeDetailDescriptor<EntityDescriptor> implements Visitable<EntityDetailDescriptor> { EntityDetailDescriptor( EntityDescriptor aDescriptor ) @@ -41,4 +41,10 @@ public final class EntityDetailDescriptor { return visitor.visit( this ); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = super.toJson(); + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceCompositeDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceCompositeDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceCompositeDescriptor.java index 629a6fd..a87cd08 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceCompositeDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceCompositeDescriptor.java @@ -22,6 +22,9 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.stream.Stream; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.api.composite.CompositeDescriptor; import org.apache.polygene.api.service.ImportedServiceDescriptor; @@ -100,4 +103,18 @@ public class ImportedServiceCompositeDescriptor { return Classes.toURI( primaryType() ); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "name", importedService().type().getName() ); + builder.add( "visibility", importedService().visibility().name() ); + builder.add( "importer", importedService().serviceImporter().getName() ); + { + JsonArrayBuilder typesBuilder = Json.createArrayBuilder(); + importedService().types().forEach( type -> typesBuilder.add( type.getName() ) ); + builder.add( "types", typesBuilder ); + } + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceDetailDescriptor.java index 7f64a79..67ae962 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ImportedServiceDetailDescriptor.java @@ -22,6 +22,9 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.util.HierarchicalVisitor; import org.apache.polygene.api.util.VisitableHierarchy; @@ -71,4 +74,15 @@ public class ImportedServiceDetailDescriptor } return visitor.visitLeave( this ); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = super.toJson(); + { + JsonArrayBuilder activatorsBuilder = Json.createArrayBuilder(); + activators().forEach( activator -> activatorsBuilder.add( activator.toJson() ) ); + builder.add( "activators", activatorsBuilder.build() ); + } + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedFieldDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedFieldDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedFieldDetailDescriptor.java index b1a635c..4645e45 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedFieldDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedFieldDetailDescriptor.java @@ -20,6 +20,8 @@ package org.apache.polygene.tools.model.descriptor; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.composite.InjectedFieldDescriptor; public final class InjectedFieldDetailDescriptor @@ -126,4 +128,11 @@ public final class InjectedFieldDetailDescriptor return descriptor.field().getName(); } + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "name", descriptor().field().getName() ); + builder.add( "type", descriptor().field().getType().getName() ); + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedMethodDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedMethodDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedMethodDetailDescriptor.java index a7e6fe7..29ad80e 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedMethodDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedMethodDetailDescriptor.java @@ -20,6 +20,8 @@ package org.apache.polygene.tools.model.descriptor; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.composite.InjectedMethodDescriptor; @@ -140,4 +142,10 @@ public final class InjectedMethodDetailDescriptor methodConcern = descriptor; } + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "name", descriptor().method().getName() ); + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedParametersDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedParametersDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedParametersDetailDescriptor.java index 33d4b45..beef9fb 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedParametersDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/InjectedParametersDetailDescriptor.java @@ -20,6 +20,8 @@ package org.apache.polygene.tools.model.descriptor; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.composite.InjectedParametersDescriptor; public class InjectedParametersDetailDescriptor @@ -69,17 +71,32 @@ public class InjectedParametersDetailDescriptor return method; } - final void setConstructor( ConstructorDetailDescriptor aDescriptor ) + final void setConstructor( ConstructorDetailDescriptor constructorDescriptor ) throws IllegalArgumentException { - Objects.requireNonNull( aDescriptor, "aDescriptor" ); - constructor = aDescriptor; + Objects.requireNonNull( constructorDescriptor, "constructorDescriptor" ); + constructor = constructorDescriptor; } - final void setMethod( InjectedMethodDetailDescriptor aDescriptor ) + final void setMethod( InjectedMethodDetailDescriptor methodDescriptor ) throws IllegalArgumentException { - Objects.requireNonNull( aDescriptor, "aDescriptor" ); - method = aDescriptor; + Objects.requireNonNull( methodDescriptor, "methodDescriptor" ); + method = methodDescriptor; + } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + if( method != null ) + { + builder.add( "method", method().toJson() ); + } + if( constructor != null ) + { + builder.add( "constructor", constructor().toJson() ); + } + return builder; } + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/LayerDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/LayerDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/LayerDetailDescriptor.java index e312701..d96f12d 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/LayerDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/LayerDetailDescriptor.java @@ -22,6 +22,10 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObject; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.structure.LayerDescriptor; import org.apache.polygene.api.util.HierarchicalVisitor; import org.apache.polygene.api.util.VisitableHierarchy; @@ -160,4 +164,29 @@ public final class LayerDetailDescriptor { return descriptor.name(); } + + public JsonObject toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "name", descriptor().name() ); + { + JsonArrayBuilder modulesBuilder = Json.createArrayBuilder(); + modules().forEach( module -> modulesBuilder.add( module.toJson() ) ); + builder.add( "modules", modulesBuilder.build() ); + } + + { + JsonArrayBuilder usedLayersBuilder = Json.createArrayBuilder(); + usedLayers().forEach( layer -> usedLayersBuilder.add( layer.descriptor().name() ) ); + builder.add( "usedLayers", usedLayersBuilder.build() ); + } + + { + JsonArrayBuilder activatorsBuilder = Json.createArrayBuilder(); + activators().forEach( activator -> activatorsBuilder.add( activator.toJson() ) ); + builder.add( "activators", activatorsBuilder.build() ); + } + + return builder.build(); + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernDetailDescriptor.java index 82a6264..62a332d 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernDetailDescriptor.java @@ -22,6 +22,9 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.concern.ConcernDescriptor; public final class MethodConcernDetailDescriptor @@ -138,4 +141,29 @@ public final class MethodConcernDetailDescriptor aDescriptor.setMethodConcern( this ); injectedFields.add( aDescriptor ); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "fragment", descriptor().modifierClass().getName() ); + JsonObjectBuilder injectionBuilder = Json.createObjectBuilder(); + { + JsonArrayBuilder constructorsBuilder = Json.createArrayBuilder(); + constructors().forEach( constructor -> constructorsBuilder.add( constructor.toJson() ) ); + builder.add( "constructors", constructorsBuilder ); + } + builder.add( "injection", injectionBuilder ); + { + JsonArrayBuilder injectedFieldsBuilder = Json.createArrayBuilder(); + injectedFields().forEach( field -> injectedFieldsBuilder.add( field.toJson() ) ); + injectionBuilder.add( "fields", injectedFieldsBuilder ); + } + { + JsonArrayBuilder injectedMethodsBuilder = Json.createArrayBuilder(); + injectedMethods().forEach( method -> injectedMethodsBuilder.add( method.toJson() ) ); + injectionBuilder.add( "methods", injectedMethodsBuilder ); + } + + return builder; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernsDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernsDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernsDetailDescriptor.java index 0d644b5..f10972d 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernsDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConcernsDetailDescriptor.java @@ -22,6 +22,9 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.concern.ConcernsDescriptor; public final class MethodConcernsDetailDescriptor @@ -82,4 +85,15 @@ public final class MethodConcernsDetailDescriptor aDescriptor.setConcerns( this ); concerns.add( aDescriptor ); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + { + JsonArrayBuilder concernsBuilder = Json.createArrayBuilder(); + concerns().forEach( concern -> concernsBuilder.add( concern.toJson() ) ); + builder.add( "concerns", concernsBuilder ); + } + return builder; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintDetailDescriptor.java index 7dc3102..6550b82 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintDetailDescriptor.java @@ -20,6 +20,8 @@ package org.apache.polygene.tools.model.descriptor; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.constraint.ConstraintDescriptor; public final class MethodConstraintDetailDescriptor @@ -67,4 +69,11 @@ public final class MethodConstraintDetailDescriptor Objects.requireNonNull( aDescriptor, "aDescriptor" ); constraints = aDescriptor; } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + + return builder; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintsDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintsDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintsDetailDescriptor.java index 8b0f6cd..d8eadd3 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintsDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodConstraintsDetailDescriptor.java @@ -22,6 +22,7 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.constraint.ConstraintsDescriptor; public final class MethodConstraintsDetailDescriptor @@ -83,4 +84,9 @@ public final class MethodConstraintsDetailDescriptor aDescriptor.setConstraints( this ); constraints.add( aDescriptor ); } + + public JsonObjectBuilder toJson() + { + return null; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectDetailDescriptor.java index 484e031..b727a2e 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectDetailDescriptor.java @@ -22,6 +22,9 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.sideeffect.SideEffectDescriptor; public final class MethodSideEffectDetailDescriptor @@ -135,4 +138,28 @@ public final class MethodSideEffectDetailDescriptor aDescriptor.setMethodSideEffect( this ); injectedFields.add( aDescriptor ); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "fragment", descriptor().modifierClass().getName() ); + JsonObjectBuilder injectionBuilder = Json.createObjectBuilder(); + { + JsonArrayBuilder constructorsBuilder = Json.createArrayBuilder(); + constructors().forEach( constructor -> constructorsBuilder.add( constructor.toJson() ) ); + builder.add( "constructors", constructorsBuilder ); + } + builder.add( "injection", injectionBuilder ); + { + JsonArrayBuilder injectedFieldsBuilder = Json.createArrayBuilder(); + injectedFields().forEach( field -> injectedFieldsBuilder.add( field.toJson() ) ); + injectionBuilder.add( "fields", injectedFieldsBuilder ); + } + { + JsonArrayBuilder injectedMethodsBuilder = Json.createArrayBuilder(); + injectedMethods().forEach( method -> injectedMethodsBuilder.add( method.toJson() ) ); + injectionBuilder.add( "methods", injectedMethodsBuilder ); + } + return builder; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectsDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectsDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectsDetailDescriptor.java index 9be166b..4648f03 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectsDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MethodSideEffectsDetailDescriptor.java @@ -22,6 +22,8 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; import org.apache.polygene.api.sideeffect.SideEffectsDescriptor; public final class MethodSideEffectsDetailDescriptor @@ -84,4 +86,11 @@ public final class MethodSideEffectsDetailDescriptor aDescriptor.setSideEffects( aDescriptor ); sideEffects.add( aDescriptor ); } + + public JsonArrayBuilder toJson() + { + JsonArrayBuilder builder = Json.createArrayBuilder(); + sideEffects().forEach( sideeffect -> sideeffect.toJson() ); + return builder; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MixinDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MixinDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MixinDetailDescriptor.java index 544efdb..7f4e6d5 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MixinDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/MixinDetailDescriptor.java @@ -22,6 +22,9 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.mixin.MixinDescriptor; public final class MixinDetailDescriptor @@ -133,4 +136,29 @@ public final class MixinDetailDescriptor { return descriptor.mixinClass().getSimpleName(); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "mixin", descriptor().mixinClass().getName() ); + JsonObjectBuilder injectionBuilder = Json.createObjectBuilder(); + { + JsonArrayBuilder constructorsBuilder = Json.createArrayBuilder(); + constructors().forEach( constructor -> constructorsBuilder.add( constructor.toJson() ) ); + builder.add( "constructors", constructorsBuilder ); + } + builder.add( "injection", injectionBuilder ); + { + JsonArrayBuilder injectedFieldsBuilder = Json.createArrayBuilder(); + injectedFields().forEach( field -> injectedFieldsBuilder.add( field.toJson() ) ); + injectionBuilder.add( "fields", injectedFieldsBuilder ); + } + { + JsonArrayBuilder injectedMethodsBuilder = Json.createArrayBuilder(); + injectedMethods().forEach( method -> injectedMethodsBuilder.add( method.toJson() ) ); + injectionBuilder.add( "methods", injectedMethodsBuilder ); + } + + return builder; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ModuleDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ModuleDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ModuleDetailDescriptor.java index d956b13..cf6a65d 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ModuleDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ModuleDetailDescriptor.java @@ -22,6 +22,10 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObject; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.structure.ModuleDescriptor; import org.apache.polygene.api.util.HierarchicalVisitor; import org.apache.polygene.api.util.VisitableHierarchy; @@ -241,4 +245,21 @@ public final class ModuleDetailDescriptor { return descriptor.name(); } + + public JsonObject toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "name", descriptor.name() ); + { + JsonArrayBuilder servicesBuilder = Json.createArrayBuilder(); + services().forEach( service -> servicesBuilder.add( service.toJson() ) ); + builder.add( "services", servicesBuilder.build() ); + } + { + JsonArrayBuilder activatorsBuilder = Json.createArrayBuilder(); + activators().forEach( activator -> activatorsBuilder.add( activator.toJson() ) ); + builder.add( "activators", activatorsBuilder.build() ); + } + return builder.build(); + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ObjectDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ObjectDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ObjectDetailDescriptor.java index 7c90e58..cd380ca 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ObjectDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ObjectDetailDescriptor.java @@ -22,6 +22,9 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.object.ObjectDescriptor; import org.apache.polygene.api.util.Visitable; import org.apache.polygene.api.util.Visitor; @@ -126,4 +129,29 @@ public final class ObjectDetailDescriptor { return descriptor.toString(); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "visibility", descriptor().visibility().name() ); + JsonObjectBuilder injectionBuilder = Json.createObjectBuilder(); + { + JsonArrayBuilder constructorsBuilder = Json.createArrayBuilder(); + constructors().forEach( constructor -> constructorsBuilder.add( constructor.toJson() ) ); + builder.add( "constructors", constructorsBuilder ); + } + builder.add( "injection", injectionBuilder ); + { + JsonArrayBuilder injectedFieldsBuilder = Json.createArrayBuilder(); + injectedFields().forEach( field -> injectedFieldsBuilder.add( field.toJson() ) ); + injectionBuilder.add( "fields", injectedFieldsBuilder ); + } + { + JsonArrayBuilder injectedMethodsBuilder = Json.createArrayBuilder(); + injectedMethods().forEach( method -> injectedMethodsBuilder.add( method.toJson() ) ); + injectionBuilder.add( "methods", injectedMethodsBuilder ); + } + + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceDetailDescriptor.java index c2ab9f3..0e3c1da 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceDetailDescriptor.java @@ -22,6 +22,7 @@ package org.apache.polygene.tools.model.descriptor; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.common.Visibility; import org.apache.polygene.api.service.ServiceDescriptor; import org.apache.polygene.api.util.HierarchicalVisitor; @@ -96,4 +97,10 @@ public final class ServiceDetailDescriptor } return visitor.visitLeave( this ); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = super.toJson(); + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceUsage.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceUsage.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceUsage.java index 2504138..69644f5 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceUsage.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ServiceUsage.java @@ -19,6 +19,9 @@ */ package org.apache.polygene.tools.model.descriptor; +import javax.json.Json; +import javax.json.JsonObjectBuilder; + public final class ServiceUsage { @@ -58,4 +61,18 @@ public final class ServiceUsage return layer; } + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = Json.createObjectBuilder(); + builder.add( "layer", layer().toString() ); + if( ownerDescriptor() instanceof CompositeDetailDescriptor ) + { + builder.add( "composite", ( (CompositeDetailDescriptor) ownerDescriptor() ).toJson() ); + } + if( ownerDescriptor() instanceof ObjectDetailDescriptor ) + { + builder.add( "object", ( (ObjectDetailDescriptor) ownerDescriptor() ).toJson() ); + } + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/TransientDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/TransientDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/TransientDetailDescriptor.java index e66087a..bf1c4d2 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/TransientDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/TransientDetailDescriptor.java @@ -19,6 +19,7 @@ */ package org.apache.polygene.tools.model.descriptor; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.composite.TransientDescriptor; import org.apache.polygene.api.util.Visitable; import org.apache.polygene.api.util.Visitor; @@ -41,4 +42,10 @@ public class TransientDetailDescriptor { return visitor.visit( this ); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = super.toJson(); + return builder; + } } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ValueDetailDescriptor.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ValueDetailDescriptor.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ValueDetailDescriptor.java index 3e2dbe5..06919e9 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ValueDetailDescriptor.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/ValueDetailDescriptor.java @@ -19,9 +19,10 @@ */ package org.apache.polygene.tools.model.descriptor; -import org.apache.polygene.api.value.ValueDescriptor; +import javax.json.JsonObjectBuilder; import org.apache.polygene.api.util.Visitable; import org.apache.polygene.api.util.Visitor; +import org.apache.polygene.api.value.ValueDescriptor; /** * Value Detail Descriptor. @@ -41,4 +42,11 @@ public class ValueDetailDescriptor { return visitor.visit( this ); } + + public JsonObjectBuilder toJson() + { + JsonObjectBuilder builder = super.toJson(); + return builder; + } + } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/package.html ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/package.html b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/package.html index 29e572d..3b9d45c 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/package.html +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/descriptor/package.html @@ -19,6 +19,6 @@ --> <html> <body> - <h2>Detailled Application Model Descriptors.</h2> + <h2>Detailed Application Model Descriptors.</h2> </body> </html> http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/APIFinder.java ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/APIFinder.java b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/APIFinder.java index 6035836..75e312f 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/APIFinder.java +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/APIFinder.java @@ -34,7 +34,7 @@ class APIFinder public List<ServiceDetailDescriptor> findModuleAPI( ModuleDetailDescriptor descriptor ) { - ArrayList<ServiceDetailDescriptor> list = new ArrayList<ServiceDetailDescriptor>(); + ArrayList<ServiceDetailDescriptor> list = new ArrayList<>(); for( ServiceDetailDescriptor serviceDetailDescriptor : descriptor.services() ) { @@ -46,7 +46,7 @@ class APIFinder public List<ServiceDetailDescriptor> findLayerAPI( LayerDetailDescriptor descriptor ) { - ArrayList<ServiceDetailDescriptor> list = new ArrayList<ServiceDetailDescriptor>(); + ArrayList<ServiceDetailDescriptor> list = new ArrayList<>(); for( ModuleDetailDescriptor moduleDetailDescriptor : descriptor.modules() ) { http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6fa99a1d/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/package.html ---------------------------------------------------------------------- diff --git a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/package.html b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/package.html index da040d9..1f7164f 100644 --- a/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/package.html +++ b/tools/model-detail/src/main/java/org/apache/polygene/tools/model/util/package.html @@ -19,6 +19,6 @@ --> <html> <body> - <h2>Detailled Application Model Utilities.</h2> + <h2>Detailed Application Model Utilities.</h2> </body> </html>
