Skip to content

Commit dd82fc7

Browse files
interim commit
1 parent 99df361 commit dd82fc7

17 files changed

+29
-118
lines changed

databind/src/main/java/gov/nist/secauto/metaschema/databind/PostProcessingModuleLoaderStrategy.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626

2727
package gov.nist.secauto.metaschema.databind;
2828

29+
import gov.nist.secauto.metaschema.core.model.IModule;
2930
import gov.nist.secauto.metaschema.core.model.IModuleLoader;
3031
import gov.nist.secauto.metaschema.core.util.CollectionUtil;
3132
import gov.nist.secauto.metaschema.databind.model.IBoundDefinitionModelComplex;
32-
import gov.nist.secauto.metaschema.databind.model.IBoundModule;
3333

3434
import java.util.ArrayList;
3535
import java.util.HashSet;
@@ -42,7 +42,7 @@ class PostProcessingModuleLoaderStrategy
4242
extends SimpleModuleLoaderStrategy {
4343
@NonNull
4444
private final List<IModuleLoader.IModulePostProcessor> modulePostProcessors;
45-
private final Set<IBoundModule> resolvedModules = new HashSet<>();
45+
private final Set<IModule> resolvedModules = new HashSet<>();
4646

4747
protected PostProcessingModuleLoaderStrategy(
4848
@NonNull IBindingContext bindingContext,
@@ -61,7 +61,7 @@ public IBoundDefinitionModelComplex getBoundDefinitionForClass(@NonNull Class<?>
6161
IBoundDefinitionModelComplex retval = super.getBoundDefinitionForClass(clazz);
6262
if (retval != null) {
6363
// force loading of metaschema information to apply constraints
64-
IBoundModule module = retval.getContainingModule();
64+
IModule module = retval.getContainingModule();
6565
synchronized (resolvedModules) {
6666
if (!resolvedModules.contains(module)) {
6767
// add first, to avoid loops
@@ -73,7 +73,7 @@ public IBoundDefinitionModelComplex getBoundDefinitionForClass(@NonNull Class<?>
7373
return retval;
7474
}
7575

76-
private void handleModule(@NonNull IBoundModule module) {
76+
private void handleModule(@NonNull IModule module) {
7777
for (IModuleLoader.IModulePostProcessor postProcessor : getModulePostProcessors()) {
7878
postProcessor.processModule(module);
7979
}

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundDefinition.java

Lines changed: 0 additions & 51 deletions
This file was deleted.

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundDefinitionFlag.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@
3232
* Represents a flag definition/instance bound to Java field.
3333
*/
3434
public interface IBoundDefinitionFlag
35-
extends IFlagDefinition, IBoundDefinition {
35+
extends IFlagDefinition, IBoundModuleElement {
3636
// no additional methods
3737
}

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundDefinitionModel.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,27 @@
2727
package gov.nist.secauto.metaschema.databind.model;
2828

2929
import gov.nist.secauto.metaschema.core.model.IModelDefinition;
30+
import gov.nist.secauto.metaschema.databind.IBindingContext;
3031

3132
import java.util.Collection;
3233

3334
import javax.xml.namespace.QName;
3435

36+
import edu.umd.cs.findbugs.annotations.NonNull;
37+
3538
/**
3639
* Represents a field or assembly instance bound to Java data.
3740
*/
3841
// REFACTOR: rename to IBoundDefinitionModel
3942
public interface IBoundDefinitionModel
40-
extends IBoundDefinition, IModelDefinition {
43+
extends IModelDefinition, IBoundModuleElement {
44+
/**
45+
* Get the binding context used for the definition.
46+
*
47+
* @return the binding context
48+
*/
49+
@NonNull
50+
IBindingContext getBindingContext();
4151

4252
@Override
4353
IBoundInstanceModelNamed getInlineInstance();

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundDefinitionModelAssembly.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ public interface IBoundDefinitionModelAssembly
5151

5252
// Assembly Definition Features
5353
// ============================
54-
5554
@Override
5655
@NonNull
5756
default IBoundDefinitionModelAssembly getOwningDefinition() {
@@ -101,11 +100,6 @@ default void writeItem(Object item, IItemWriteHandler handler) throws IOExceptio
101100
handler.writeItemAssembly(item, this);
102101
}
103102

104-
@Override
105-
default boolean canHandleJsonPropertyName(@NonNull String name) {
106-
return name.equals(getRootJsonName());
107-
}
108-
109103
@Override
110104
default boolean canHandleXmlQName(@NonNull QName qname) {
111105
return qname.equals(getRootXmlQName());

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundDefinitionModelFieldComplex.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -159,12 +159,6 @@ default void writeItem(Object item, IItemWriteHandler handler) throws IOExceptio
159159
handler.writeItemField(item, this);
160160
}
161161

162-
@Override
163-
default boolean canHandleJsonPropertyName(String name) {
164-
// not handled, since not root
165-
return false;
166-
}
167-
168162
@Override
169163
default boolean canHandleXmlQName(QName qname) {
170164
// not handled, since not root

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundFieldValue.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,6 @@ default void deepCopy(@NonNull Object fromInstance, @NonNull Object toInstance)
107107
setValue(toInstance, value);
108108
}
109109

110-
@Override
111-
default boolean canHandleJsonPropertyName(String name) {
112-
// REFACTOR: Is this correct?
113-
return name.equals(getJsonValueKeyName());
114-
}
115-
116110
@Override
117111
default boolean canHandleXmlQName(QName qname) {
118112
// REFACTOR: Is this correct?

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundInstanceFlag.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -155,11 +155,6 @@ default void writeItem(Object item, IItemWriteHandler handler) throws IOExceptio
155155
handler.writeItemFlag(item, this);
156156
}
157157

158-
@Override
159-
default boolean canHandleJsonPropertyName(@NonNull String name) {
160-
return name.equals(getJsonName());
161-
}
162-
163158
@Override
164159
default boolean canHandleXmlQName(@NonNull QName qname) {
165160
return qname.equals(getXmlQName());

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundInstanceModelAssembly.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
*/
4545
public interface IBoundInstanceModelAssembly
4646
extends IBoundInstanceModelNamedComplex, IAssemblyInstanceAbsolute {
47-
4847
/**
4948
* Create a new bound assembly instance.
5049
*

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundInstanceModelChoiceGroup.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -145,11 +145,6 @@ default Object deepCopyItem(Object item, Object parentInstance) throws BindingEx
145145
return itemInstance.deepCopyItem(itemInstance, parentInstance);
146146
}
147147

148-
@Override
149-
default boolean canHandleJsonPropertyName(@NonNull String name) {
150-
return name.equals(getJsonName());
151-
}
152-
153148
@Override
154149
default boolean canHandleXmlQName(@NonNull QName qname) {
155150
return getGroupedModelInstance(qname) != null;

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundInstanceModelFieldScalar.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828

2929
import gov.nist.secauto.metaschema.core.model.IContainerFlagSupport;
3030
import gov.nist.secauto.metaschema.core.util.ObjectUtils;
31-
import gov.nist.secauto.metaschema.databind.IBindingContext;
3231
import gov.nist.secauto.metaschema.databind.model.info.IFeatureScalarItemValueHandler;
3332
import gov.nist.secauto.metaschema.databind.model.info.IItemReadHandler;
3433
import gov.nist.secauto.metaschema.databind.model.info.IItemWriteHandler;
@@ -57,11 +56,6 @@ default IBoundInstanceModelFieldScalar getInlineInstance() {
5756
return IFeatureBoundDefinitionInline.super.getInlineInstance();
5857
}
5958

60-
@Override
61-
default IBindingContext getBindingContext() {
62-
return getContainingDefinition().getBindingContext();
63-
}
64-
6559
@Override
6660
default IContainerFlagSupport<IBoundInstanceFlag> getFlagContainer() {
6761
getJsonName();

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundInstanceModelNamed.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,4 @@ default Collection<? extends Object> getItemValues(Object value) {
8787
default boolean canHandleXmlQName(QName qname) {
8888
return qname.equals(getXmlQName());
8989
}
90-
91-
@Override
92-
default boolean canHandleJsonPropertyName(@NonNull String name) {
93-
return name.equals(getJsonName());
94-
}
9590
}

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IBoundModuleElement.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,6 @@
3737
* definition, instance, field value.
3838
*/
3939
public interface IBoundModuleElement extends IItemValueHandler {
40-
/**
41-
* Determine if the provided JSON property or YAML key name is associated with
42-
* this instance.
43-
*
44-
* @param name
45-
* the name of the property/key being parsed
46-
* @return {@code true} if the instance will handle this name, or {@code false}
47-
* otherwise
48-
*/
49-
boolean canHandleJsonPropertyName(@NonNull String name);
50-
5140
/**
5241
* Determine if the provided XML qualified name is associated with this
5342
* property.

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/IFeatureBoundDefinitionInline.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,17 @@
2626

2727
package gov.nist.secauto.metaschema.databind.model;
2828

29+
import gov.nist.secauto.metaschema.core.model.IDefinition;
2930
import gov.nist.secauto.metaschema.core.model.IFeatureDefinitionInstanceInlined;
31+
import gov.nist.secauto.metaschema.core.model.IModule;
3032

3133
import edu.umd.cs.findbugs.annotations.NonNull;
3234

3335
// REFACTOR: Try to eliminate this interface in favor of IFeatureInlinedDefinitionInstance
3436
public interface IFeatureBoundDefinitionInline<
35-
DEFINITION extends IBoundDefinition,
37+
DEFINITION extends IDefinition & IBoundModuleElement,
3638
INSTANCE extends IBoundInstanceNamed>
37-
extends IBoundDefinition, IBoundInstanceNamed,
39+
extends IBoundInstanceNamed,
3840
IFeatureDefinitionInstanceInlined<DEFINITION, INSTANCE> {
3941
//
4042
// @Override
@@ -50,7 +52,7 @@ public interface IFeatureBoundDefinitionInline<
5052
*/
5153
@Override
5254
@NonNull
53-
default IBoundModule getContainingModule() {
55+
default IModule getContainingModule() {
5456
// this is the same as IBoundInstance, but is needed since IBoundDefinition
5557
// and IBoundInstance both declare it
5658
return getContainingDefinition().getContainingModule();

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/impl/InstanceFlagInline.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import gov.nist.secauto.metaschema.core.model.constraint.IValueConstrained;
3535
import gov.nist.secauto.metaschema.core.model.constraint.ValueConstraintSet;
3636
import gov.nist.secauto.metaschema.core.util.ObjectUtils;
37-
import gov.nist.secauto.metaschema.databind.IBindingContext;
3837
import gov.nist.secauto.metaschema.databind.model.IBoundDefinitionFlag;
3938
import gov.nist.secauto.metaschema.databind.model.IBoundDefinitionModel;
4039
import gov.nist.secauto.metaschema.databind.model.IBoundInstanceFlag;
@@ -184,11 +183,6 @@ public MarkupMultiline getRemarks() {
184183
return ModelUtil.resolveToMarkupMultiline(getAnnotation().remarks());
185184
}
186185

187-
@Override
188-
public IBindingContext getBindingContext() {
189-
return getContainingDefinition().getBindingContext();
190-
}
191-
192186
// ----------------------------------------
193187
// - End annotation driven code - CPD-OFF -
194188
// ----------------------------------------

databind/src/main/java/gov/nist/secauto/metaschema/databind/model/impl/InstanceModelFieldScalar.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import gov.nist.secauto.metaschema.core.model.constraint.IValueConstrained;
3535
import gov.nist.secauto.metaschema.core.model.constraint.ValueConstraintSet;
3636
import gov.nist.secauto.metaschema.core.util.ObjectUtils;
37+
import gov.nist.secauto.metaschema.databind.IBindingContext;
3738
import gov.nist.secauto.metaschema.databind.model.IBoundDefinitionModelAssembly;
3839
import gov.nist.secauto.metaschema.databind.model.IBoundDefinitionModelField;
3940
import gov.nist.secauto.metaschema.databind.model.IBoundInstanceFlag;
@@ -143,6 +144,11 @@ private InstanceModelFieldScalar(
143144
}));
144145
}
145146

147+
@Override
148+
public IBindingContext getBindingContext() {
149+
return getContainingDefinition().getBindingContext();
150+
}
151+
146152
@Override
147153
public Field getField() {
148154
return javaField;

databind/src/test/java/gov/nist/secauto/metaschema/databind/model/DefaultAssemblyClassBindingTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import com.fasterxml.jackson.core.JsonParseException;
3232
import com.fasterxml.jackson.core.JsonParser;
3333

34+
import gov.nist.secauto.metaschema.core.model.IModule;
3435
import gov.nist.secauto.metaschema.databind.io.json.MetaschemaJsonReader;
3536

3637
import org.junit.jupiter.api.Test;
@@ -61,7 +62,7 @@ void testMinimalJsonParse() throws JsonParseException, IOException {
6162
@Test
6263
void testModule() {
6364
IBoundDefinitionModelAssembly definition = getRootAssemblyClassBinding();
64-
IBoundModule module = definition.getContainingModule();
65+
IModule module = definition.getContainingModule();
6566
assertNotNull(module, "metaschema was null");
6667
}
6768

0 commit comments

Comments
 (0)