You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by so...@apache.org on 2018/01/21 21:01:11 UTC
[1/2] polygene-java git commit: Simplified inheritance hierarchy for
ModelDescriptor(s) that are also part of a VisitableHierarchy
Repository: polygene-java
Updated Branches:
refs/heads/develop 8d0d8dcc7 -> e1cc8a6e0
Simplified inheritance hierarchy for ModelDescriptor(s) that are also part of a VisitableHierarchy
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/468bd3db
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/468bd3db
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/468bd3db
Branch: refs/heads/develop
Commit: 468bd3dbc31fa0b4047e29dadb303ea0746f638d
Parents: 8d0d8dc
Author: soelvsten <ke...@gmail.com>
Authored: Sun Jan 21 20:20:36 2018 +0100
Committer: soelvsten <ke...@gmail.com>
Committed: Sun Jan 21 20:20:36 2018 +0100
----------------------------------------------------------------------
.../api/composite/CompositeDescriptor.java | 4 ++-
.../polygene/api/object/ObjectDescriptor.java | 3 +-
.../api/service/ImportedServiceDescriptor.java | 3 +-
.../api/util/VisitableModelDescriptor.java | 30 ++++++++++++++++++++
.../runtime/composite/CompositeModel.java | 2 +-
.../polygene/runtime/object/ObjectModel.java | 2 +-
.../runtime/service/ImportedServiceModel.java | 2 +-
.../skeletons/SQLCompatEntityStateWrapper.java | 7 +++++
8 files changed, 47 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/468bd3db/core/api/src/main/java/org/apache/polygene/api/composite/CompositeDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/composite/CompositeDescriptor.java b/core/api/src/main/java/org/apache/polygene/api/composite/CompositeDescriptor.java
index bd5d65e..4f8f39d 100644
--- a/core/api/src/main/java/org/apache/polygene/api/composite/CompositeDescriptor.java
+++ b/core/api/src/main/java/org/apache/polygene/api/composite/CompositeDescriptor.java
@@ -20,13 +20,15 @@
package org.apache.polygene.api.composite;
+import org.apache.polygene.api.util.VisitableModelDescriptor;
+
import java.util.stream.Stream;
/**
* Composite Descriptor.
*/
public interface CompositeDescriptor
- extends ModelDescriptor
+ extends VisitableModelDescriptor
{
Class<?> primaryType();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/468bd3db/core/api/src/main/java/org/apache/polygene/api/object/ObjectDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/object/ObjectDescriptor.java b/core/api/src/main/java/org/apache/polygene/api/object/ObjectDescriptor.java
index 81ee90b..64edfd3 100644
--- a/core/api/src/main/java/org/apache/polygene/api/object/ObjectDescriptor.java
+++ b/core/api/src/main/java/org/apache/polygene/api/object/ObjectDescriptor.java
@@ -21,11 +21,12 @@
package org.apache.polygene.api.object;
import org.apache.polygene.api.composite.ModelDescriptor;
+import org.apache.polygene.api.util.VisitableModelDescriptor;
/**
* Object Descriptor.
*/
public interface ObjectDescriptor
- extends ModelDescriptor
+ extends VisitableModelDescriptor
{
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/468bd3db/core/api/src/main/java/org/apache/polygene/api/service/ImportedServiceDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/service/ImportedServiceDescriptor.java b/core/api/src/main/java/org/apache/polygene/api/service/ImportedServiceDescriptor.java
index 558b7ed..f981e7f 100644
--- a/core/api/src/main/java/org/apache/polygene/api/service/ImportedServiceDescriptor.java
+++ b/core/api/src/main/java/org/apache/polygene/api/service/ImportedServiceDescriptor.java
@@ -22,12 +22,13 @@ package org.apache.polygene.api.service;
import org.apache.polygene.api.composite.ModelDescriptor;
import org.apache.polygene.api.identity.Identifiable;
+import org.apache.polygene.api.util.VisitableModelDescriptor;
/**
* {@code ServiceDescriptor} provides meta information of a service.
*/
public interface ImportedServiceDescriptor
- extends ModelDescriptor, Identifiable
+ extends VisitableModelDescriptor, Identifiable
{
Class<? extends ServiceImporter> serviceImporter();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/468bd3db/core/api/src/main/java/org/apache/polygene/api/util/VisitableModelDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/util/VisitableModelDescriptor.java b/core/api/src/main/java/org/apache/polygene/api/util/VisitableModelDescriptor.java
new file mode 100644
index 0000000..e8d93b1
--- /dev/null
+++ b/core/api/src/main/java/org/apache/polygene/api/util/VisitableModelDescriptor.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.api.util;
+
+import org.apache.polygene.api.composite.ModelDescriptor;
+
+/**
+ * A modeldescriptor, that is also part of a VisitableHierarchy
+ */
+public interface VisitableModelDescriptor
+ extends ModelDescriptor, VisitableHierarchy<Object, Object>
+{
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/468bd3db/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java
index 72ab757..29d49f0 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositeModel.java
@@ -47,7 +47,7 @@ import static org.apache.polygene.api.composite.InvalidCompositeException.handle
* JAVADOC
*/
public abstract class CompositeModel
- implements VisitableHierarchy<Object, Object>, Dependencies, CompositeDescriptor
+ implements Dependencies, CompositeDescriptor
{
protected final ModuleDescriptor module;
protected final MixinsModel mixinsModel;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/468bd3db/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectModel.java
index c1a3dbf..6efdc02 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectModel.java
@@ -39,7 +39,7 @@ import org.apache.polygene.runtime.injection.InjectionContext;
* JAVADOC
*/
public final class ObjectModel
- implements ObjectDescriptor, VisitableHierarchy<Object, Object>
+ implements ObjectDescriptor
{
private final ModuleDescriptor module;
private final Class<?> objectType;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/468bd3db/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServiceModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServiceModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServiceModel.java
index 174735f..50495ef 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServiceModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServiceModel.java
@@ -38,7 +38,7 @@ import org.apache.polygene.runtime.activation.ActivatorsModel;
* JAVADOC
*/
public final class ImportedServiceModel
- implements ImportedServiceDescriptor, VisitableHierarchy<Object, Object>
+ implements ImportedServiceDescriptor
{
private final ModuleDescriptor module;
private final Class<?> type;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/468bd3db/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java
index 4b1d9a2..49bff4f 100644
--- a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java
+++ b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java
@@ -35,6 +35,7 @@ import org.apache.polygene.api.structure.ModuleDescriptor;
import org.apache.polygene.api.type.CollectionType;
import org.apache.polygene.api.type.EntityCompositeType;
import org.apache.polygene.api.type.ValueType;
+import org.apache.polygene.api.util.HierarchicalVisitor;
import org.apache.polygene.api.value.ValueComposite;
import org.apache.polygene.spi.entity.EntityState;
import org.apache.polygene.spi.entity.EntityStatus;
@@ -279,6 +280,12 @@ class SQLCompatEntityStateWrapper
{
return wrappedEntityDescriptor.hashCode();
}
+
+ @Override
+ public <ThrowableType extends Throwable> boolean accept(HierarchicalVisitor<? super Object, ? super Object, ThrowableType> visitor) throws ThrowableType
+ {
+ return wrappedEntityDescriptor.accept(visitor);
+ }
}
private static class CompatAssociationStateDescriptorWrapper
[2/2] polygene-java git commit: consolidated common code for "lists"
of compositemodels
Posted by so...@apache.org.
consolidated common code for "lists" of compositemodels
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/e1cc8a6e
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/e1cc8a6e
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/e1cc8a6e
Branch: refs/heads/develop
Commit: e1cc8a6e0902b19792717b71e9366be37cbda97f
Parents: 468bd3d
Author: soelvsten <ke...@gmail.com>
Authored: Sun Jan 21 22:00:47 2018 +0100
Committer: soelvsten <ke...@gmail.com>
Committed: Sun Jan 21 22:00:47 2018 +0100
----------------------------------------------------------------------
.../runtime/composite/CompositesModel.java | 61 ++++++++++++++++++++
.../runtime/composite/TransientsModel.java | 38 +-----------
.../polygene/runtime/entity/EntitiesModel.java | 40 ++-----------
.../polygene/runtime/object/ObjectsModel.java | 34 ++---------
.../service/ImportedServicesInstance.java | 4 +-
.../runtime/service/ImportedServicesModel.java | 49 ++++------------
.../runtime/service/ServicesInstance.java | 4 +-
.../polygene/runtime/service/ServicesModel.java | 60 ++++---------------
.../polygene/runtime/structure/ModuleModel.java | 18 +++---
.../polygene/runtime/value/ValuesModel.java | 40 ++-----------
.../polygene/library/rdf/model/Model2XML.java | 2 +-
.../ImportedServiceCompositeDescriptor.java | 7 +++
12 files changed, 120 insertions(+), 237 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositesModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositesModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositesModel.java
new file mode 100644
index 0000000..a0c4e65
--- /dev/null
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/CompositesModel.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+package org.apache.polygene.runtime.composite;
+
+import org.apache.polygene.api.util.HierarchicalVisitor;
+import org.apache.polygene.api.util.VisitableHierarchy;
+import org.apache.polygene.api.util.VisitableModelDescriptor;
+
+import java.util.List;
+import java.util.stream.Stream;
+
+public abstract class CompositesModel<MD extends VisitableModelDescriptor>
+ implements VisitableHierarchy<Object, Object>
+{
+ private final List<MD> compositeModels;
+
+ public CompositesModel( List<MD> compositeModels)
+ {
+ this.compositeModels = compositeModels;
+ }
+
+ @Override
+ public final <ThrowableType extends Throwable> boolean accept( HierarchicalVisitor<? super Object, ? super Object, ThrowableType> modelVisitor )
+ throws ThrowableType
+ {
+ if( modelVisitor.visitEnter( this ) )
+ {
+ for( MD compositeModel : compositeModels)
+ {
+ if( !compositeModel.accept( modelVisitor ) )
+ {
+ break;
+ }
+ }
+ }
+ return modelVisitor.visitLeave( this );
+ }
+
+ public final Stream<MD> stream()
+ {
+ return compositeModels.stream();
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/composite/TransientsModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/TransientsModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/TransientsModel.java
index a18ef09..9b92de4 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/composite/TransientsModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/composite/TransientsModel.java
@@ -21,48 +21,14 @@
package org.apache.polygene.runtime.composite;
import java.util.List;
-import java.util.stream.Stream;
-import org.apache.polygene.api.composite.TransientDescriptor;
-import org.apache.polygene.api.util.HierarchicalVisitor;
-import org.apache.polygene.api.util.VisitableHierarchy;
/**
* JAVADOC
*/
-public class TransientsModel
- implements VisitableHierarchy<Object, Object>
+public class TransientsModel extends CompositesModel<TransientModel>
{
- private final List<TransientModel> transientModels;
-
public TransientsModel( List<TransientModel> transientModels )
{
- this.transientModels = transientModels;
- }
-
- public Stream<TransientModel> models()
- {
- return transientModels.stream();
- }
-
- @Override
- public <ThrowableType extends Throwable> boolean accept( HierarchicalVisitor<? super Object, ? super Object, ThrowableType> modelVisitor )
- throws ThrowableType
- {
- if( modelVisitor.visitEnter( this ) )
- {
- for( TransientModel transientModel : transientModels )
- {
- if( !transientModel.accept( modelVisitor ) )
- {
- break;
- }
- }
- }
- return modelVisitor.visitLeave( this );
- }
-
- public Stream<? extends TransientDescriptor> stream()
- {
- return transientModels.stream();
+ super(transientModels);
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/entity/EntitiesModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/entity/EntitiesModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/entity/EntitiesModel.java
index ebb3d78..6f4a482 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/entity/EntitiesModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/entity/EntitiesModel.java
@@ -20,49 +20,19 @@
package org.apache.polygene.runtime.entity;
-import java.util.List;
-import java.util.stream.Stream;
-import org.apache.polygene.api.entity.EntityDescriptor;
-import org.apache.polygene.api.util.HierarchicalVisitor;
import org.apache.polygene.api.util.VisitableHierarchy;
+import org.apache.polygene.runtime.composite.CompositesModel;
+
+import java.util.List;
/**
* Model of entities in a particular Module.
*/
-public class EntitiesModel
+public class EntitiesModel extends CompositesModel<EntityModel>
implements VisitableHierarchy<Object, Object>
{
- private final List<EntityModel> entityModels;
-
public EntitiesModel( List<EntityModel> entityModels )
{
- this.entityModels = entityModels;
- }
-
- public Stream<EntityModel> models()
- {
- return entityModels.stream();
- }
-
- @Override
- public <ThrowableType extends Throwable> boolean accept( HierarchicalVisitor<? super Object, ? super Object, ThrowableType> modelVisitor )
- throws ThrowableType
- {
- if( modelVisitor.visitEnter( this ) )
- {
- for( EntityModel entityModel : entityModels )
- {
- if( !entityModel.accept( modelVisitor ) )
- {
- break;
- }
- }
- }
- return modelVisitor.visitLeave( this );
- }
-
- public Stream<? extends EntityDescriptor> stream()
- {
- return entityModels.stream();
+ super(entityModels);
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectsModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectsModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectsModel.java
index 84d2c11..04b7d0a 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectsModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/object/ObjectsModel.java
@@ -20,43 +20,19 @@
package org.apache.polygene.runtime.object;
-import java.util.List;
-import java.util.stream.Stream;
-import org.apache.polygene.api.util.HierarchicalVisitor;
import org.apache.polygene.api.util.VisitableHierarchy;
+import org.apache.polygene.runtime.composite.CompositesModel;
+
+import java.util.List;
/**
* JAVADOC
*/
-public class ObjectsModel
+public class ObjectsModel extends CompositesModel<ObjectModel>
implements VisitableHierarchy<Object, Object>
{
- private final List<ObjectModel> objectModels;
-
public ObjectsModel( List<ObjectModel> objectModels )
{
- this.objectModels = objectModels;
- }
-
- @Override
- public <ThrowableType extends Throwable> boolean accept( HierarchicalVisitor<? super Object, ? super Object, ThrowableType> visitor )
- throws ThrowableType
- {
- if( visitor.visitEnter( this ) )
- {
- for( ObjectModel objectModel : objectModels )
- {
- if( !objectModel.accept( visitor ) )
- {
- break;
- }
- }
- }
- return visitor.visitLeave( this );
- }
-
- public Stream<ObjectModel> models()
- {
- return objectModels.stream();
+ super(objectModels);
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesInstance.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesInstance.java b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesInstance.java
index 61a15c9..ffd0f95 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesInstance.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesInstance.java
@@ -58,7 +58,7 @@ public class ImportedServicesInstance
public Stream<ImportedServiceModel> models()
{
- return servicesModel.models();
+ return servicesModel.stream();
}
@Override
@@ -117,7 +117,7 @@ public class ImportedServicesInstance
public Stream<? extends ImportedServiceDescriptor> stream()
{
- return servicesModel.models();
+ return servicesModel.stream();
}
public Stream<ServiceReference<?>> references()
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesModel.java
index af34755..91a559f 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ImportedServicesModel.java
@@ -20,58 +20,31 @@
package org.apache.polygene.runtime.service;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Stream;
import org.apache.polygene.api.service.ServiceReference;
import org.apache.polygene.api.structure.ModuleDescriptor;
-import org.apache.polygene.api.util.HierarchicalVisitor;
import org.apache.polygene.api.util.VisitableHierarchy;
+import org.apache.polygene.runtime.composite.CompositesModel;
+
+import java.util.List;
+import java.util.stream.Collectors;
/**
* JAVADOC
*/
-public class ImportedServicesModel
+public class ImportedServicesModel extends CompositesModel<ImportedServiceModel>
implements VisitableHierarchy<Object, Object>
{
- private List<ImportedServiceModel> importedServiceModels;
-
public ImportedServicesModel( List<ImportedServiceModel> importedServiceModels )
{
- this.importedServiceModels = importedServiceModels;
+ super(importedServiceModels);
}
public ImportedServicesInstance newInstance( ModuleDescriptor module )
{
- List<ServiceReference<?>> serviceReferences = new ArrayList<>();
- for( ImportedServiceModel serviceModel : importedServiceModels )
- {
- ImportedServiceReferenceInstance serviceReferenceInstance = new ImportedServiceReferenceInstance( serviceModel, module );
- serviceReferences.add( serviceReferenceInstance );
- }
-
- return new ImportedServicesInstance( this, serviceReferences );
- }
-
- @Override
- public <ThrowableType extends Throwable> boolean accept( HierarchicalVisitor<? super Object, ? super Object, ThrowableType> visitor )
- throws ThrowableType
- {
- if( visitor.visitEnter( this ) )
- {
- for( ImportedServiceModel importedServiceModel : importedServiceModels )
- {
- if( !importedServiceModel.accept( visitor ) )
- {
- break;
- }
- }
- }
- return visitor.visitLeave( this );
- }
-
- public Stream<ImportedServiceModel> models()
- {
- return importedServiceModels.stream();
+ List<ServiceReference<?>> serviceReferences = stream()
+ .map(serviceModel -> new ImportedServiceReferenceInstance(serviceModel, module))
+ .<ServiceReference<?>>map(ServiceReference.class::cast)
+ .collect(Collectors.toList());
+ return new ImportedServicesInstance(this, serviceReferences );
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesInstance.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesInstance.java b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesInstance.java
index c40a74a..e6b1a41 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesInstance.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesInstance.java
@@ -56,7 +56,7 @@ public class ServicesInstance
public Stream<? extends ServiceDescriptor> models()
{
- return servicesModel.models();
+ return servicesModel.stream();
}
@Override
@@ -112,7 +112,7 @@ public class ServicesInstance
public Stream<? extends ServiceDescriptor> descriptors()
{
- return servicesModel.models();
+ return servicesModel.stream();
}
public Stream<ServiceReference<?>> references()
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesModel.java
index ebdf64c..563ff2b 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/service/ServicesModel.java
@@ -20,71 +20,31 @@
package org.apache.polygene.runtime.service;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Stream;
-import org.apache.polygene.api.service.ServiceDescriptor;
import org.apache.polygene.api.service.ServiceReference;
import org.apache.polygene.api.structure.ModuleDescriptor;
-import org.apache.polygene.api.util.HierarchicalVisitor;
import org.apache.polygene.api.util.VisitableHierarchy;
+import org.apache.polygene.runtime.composite.CompositesModel;
+
+import java.util.List;
+import java.util.stream.Collectors;
/**
* JAVADOC
*/
-public class ServicesModel
+public class ServicesModel extends CompositesModel<ServiceModel>
implements VisitableHierarchy<Object, Object>
{
- private final List<ServiceModel> serviceModels;
-
public ServicesModel( List<ServiceModel> serviceModels )
{
- this.serviceModels = serviceModels;
+ super(serviceModels);
}
public ServicesInstance newInstance( ModuleDescriptor module )
{
- List<ServiceReference<?>> serviceReferences = new ArrayList<>();
- for( ServiceModel serviceModel : serviceModels )
- {
- ServiceReferenceInstance serviceReferenceInstance = new ServiceReferenceInstance( serviceModel, module );
- serviceReferences.add( serviceReferenceInstance );
- }
-
+ List<ServiceReference<?>> serviceReferences = stream()
+ .map(serviceModel -> new ServiceReferenceInstance(serviceModel, module))
+ .<ServiceReference<?>>map(ServiceReference.class::cast)
+ .collect(Collectors.toList());
return new ServicesInstance( this, serviceReferences );
}
-
- @Override
- public <ThrowableType extends Throwable> boolean accept( HierarchicalVisitor<? super Object, ? super Object, ThrowableType> visitor )
- throws ThrowableType
- {
- if( visitor.visitEnter( this ) )
- {
- for( ServiceModel serviceModel : serviceModels )
- {
- if( !serviceModel.accept( visitor ) )
- {
- break;
- }
- }
- }
- return visitor.visitLeave( this );
- }
-
- public Stream<? extends ServiceDescriptor> models()
- {
- return serviceModels.stream();
- }
-
- public boolean contains( Class<?> type )
- {
- for( ServiceModel model : serviceModels )
- {
- if( model.hasType( type ) )
- {
- return true;
- }
- }
- return false;
- }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleModel.java
index e873952..0c2abac 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleModel.java
@@ -235,7 +235,7 @@ public class ModuleModel
@Override
public Stream<? extends ServiceDescriptor> serviceComposites()
{
- return servicesModel.models();
+ return servicesModel.stream();
}
@Override
@@ -247,13 +247,13 @@ public class ModuleModel
@Override
public Stream<? extends ImportedServiceDescriptor> importedServices()
{
- return importedServicesModel.models();
+ return importedServicesModel.stream();
}
@Override
public Stream<? extends ObjectDescriptor> objects()
{
- return objectsModel.models();
+ return objectsModel.stream();
}
@Override
@@ -329,34 +329,34 @@ public class ModuleModel
public Stream<? extends ObjectDescriptor> visibleObjects( Visibility visibility )
{
- return objectsModel.models()
+ return objectsModel.stream()
.filter( new VisibilityPredicate( visibility ) );
}
public Stream<? extends TransientDescriptor> visibleTransients( Visibility visibility )
{
- return transientsModel.models()
+ return transientsModel.stream()
.filter( new VisibilityPredicate( visibility ) );
}
public Stream<? extends EntityDescriptor> visibleEntities( Visibility visibility )
{
- return entitiesModel.models()
+ return entitiesModel.stream()
.filter( new VisibilityPredicate( visibility ) );
}
public Stream<? extends ValueDescriptor> visibleValues( Visibility visibility )
{
- return valuesModel.models()
+ return valuesModel.stream()
.filter( new VisibilityPredicate( visibility ) );
}
public Stream<? extends ModelDescriptor> visibleServices( Visibility visibility )
{
return concat(
- servicesModel.models()
+ servicesModel.stream()
.filter( new VisibilityPredicate( visibility ) ),
- importedServicesModel.models()
+ importedServicesModel.stream()
.filter( new VisibilityPredicate( visibility ) )
);
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValuesModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValuesModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValuesModel.java
index caa875b..dbd36e7 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValuesModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValuesModel.java
@@ -20,49 +20,19 @@
package org.apache.polygene.runtime.value;
-import java.util.List;
-import java.util.stream.Stream;
-import org.apache.polygene.api.util.HierarchicalVisitor;
import org.apache.polygene.api.util.VisitableHierarchy;
-import org.apache.polygene.api.value.ValueDescriptor;
+import org.apache.polygene.runtime.composite.CompositesModel;
+
+import java.util.List;
/**
* JAVADOC
*/
-public final class ValuesModel
+public final class ValuesModel extends CompositesModel<ValueModel>
implements VisitableHierarchy<Object, Object>
{
- private final List<ValueModel> valueModels;
-
public ValuesModel( List<ValueModel> valueModels )
{
- this.valueModels = valueModels;
- }
-
- public Stream<ValueModel> models()
- {
- return valueModels.stream();
- }
-
- @Override
- public <ThrowableType extends Throwable> boolean accept( HierarchicalVisitor<? super Object, ? super Object, ThrowableType> visitor )
- throws ThrowableType
- {
- if( visitor.visitEnter( this ) )
- {
- for( ValueModel valueModel : valueModels )
- {
- if( !valueModel.accept( visitor ) )
- {
- break;
- }
- }
- }
- return visitor.visitLeave( this );
- }
-
- public Stream<? extends ValueDescriptor> stream()
- {
- return valueModels.stream();
+ super(valueModels);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/libraries/rdf/src/main/java/org/apache/polygene/library/rdf/model/Model2XML.java
----------------------------------------------------------------------
diff --git a/libraries/rdf/src/main/java/org/apache/polygene/library/rdf/model/Model2XML.java b/libraries/rdf/src/main/java/org/apache/polygene/library/rdf/model/Model2XML.java
index f9cb7ec..ef52fb7 100644
--- a/libraries/rdf/src/main/java/org/apache/polygene/library/rdf/model/Model2XML.java
+++ b/libraries/rdf/src/main/java/org/apache/polygene/library/rdf/model/Model2XML.java
@@ -53,7 +53,7 @@ public class Model2XML
simpleMappings.put( "EntitiesModel", "entities" );
simpleMappings.put( "ServicesModel", "services" );
simpleMappings.put( "ImportedServicesModel", "importedservices" );
- simpleMappings.put( "ObjectsModel", "objects" );
+ simpleMappings.put( "CompositesModel", "objects" );
simpleMappings.put( "ValuesModel", "values" );
simpleMappings.put( "MixinsModel", "mixins" );
simpleMappings.put( "CompositeMethodsModel", "methods" );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/e1cc8a6e/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 a87cd08..83b115c 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
@@ -31,6 +31,7 @@ import org.apache.polygene.api.service.ImportedServiceDescriptor;
import org.apache.polygene.api.service.ServiceImporter;
import org.apache.polygene.api.structure.ModuleDescriptor;
import org.apache.polygene.api.util.Classes;
+import org.apache.polygene.api.util.HierarchicalVisitor;
/**
* XXX Workaround for inconsistency in Polygene core-api/spi
@@ -99,6 +100,12 @@ public class ImportedServiceCompositeDescriptor
return importedService.serviceImporter();
}
+ @Override
+ public <ThrowableType extends Throwable> boolean accept(HierarchicalVisitor<? super Object, ? super Object, ThrowableType> visitor) throws ThrowableType
+ {
+ return importedService.accept(visitor);
+ }
+
public String toURI()
{
return Classes.toURI( primaryType() );