summaryrefslogtreecommitdiffstats
path: root/model/event-model/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'model/event-model/src/main')
-rw-r--r--model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java51
-rw-r--r--model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEventModel.java31
-rw-r--r--model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvents.java56
-rw-r--r--model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxField.java40
-rw-r--r--model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxInputField.java17
-rw-r--r--model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxOutputField.java17
-rw-r--r--model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/package-info.java9
7 files changed, 21 insertions, 200 deletions
diff --git a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java
index e3663e702..a4c0e9db1 100644
--- a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java
+++ b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2020,2022 Nordix Foundation.
* Modifications Copyright (C) 2022 Bell Canada.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,6 +23,7 @@
package org.onap.policy.apex.model.eventmodel.concepts;
import com.google.common.base.Strings;
+import com.google.gson.annotations.SerializedName;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -31,18 +32,6 @@ import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.TreeSet;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.EnumUtils;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
@@ -75,44 +64,22 @@ import org.onap.policy.common.utils.validation.Assertions;
* is checked to ensure it matches the event parameter key on the event. Finally, the parent key of each parameter is
* checked to ensure it matches the event key.
*/
-@Entity
-@Table(name = "AxEvent")
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlRootElement(name = "apexEvent", namespace = "http://www.onap.org/policy/apex-pdp")
-@XmlType(name = "AxEvent", namespace = "http://www.onap.org/policy/apex-pdp", propOrder =
- { "key", "nameSpace", "source", "target", "parameterMap", "toscaPolicyState"})
-
public class AxEvent extends AxConcept {
private static final long serialVersionUID = -1460388382582984269L;
private static final String WHITESPACE_REGEXP = "\\s+$";
/** The key of the event, unique in the Apex system. */
- @EmbeddedId
- @XmlElement(name = "key", required = true)
// CHECKSTYLE:OFF: checkstyle:VisibilityMonitor
protected AxArtifactKey key;
// CHECKSTYLE:ON: checkstyle:VisibilityMonitor
- @Column(name = "nameSpace")
- @XmlElement(required = true)
private String nameSpace;
-
- @Column(name = "source")
- @XmlElement(required = true)
private String source;
-
- @Column(name = "target")
- @XmlElement(required = true)
private String target;
- @OneToMany(cascade = CascadeType.ALL)
- @XmlElement(name = "parameter", required = true)
+ @SerializedName("parameter")
private Map<String, AxField> parameterMap;
-
- @Column(name = "toscaPolicyState")
- @XmlElement(required = false)
private String toscaPolicyState;
/**
@@ -204,14 +171,10 @@ public class AxEvent extends AxConcept {
}
/**
- * When an event is unmarshalled from disk or from the database, the parent key in the reference keys in its
- * parameter map are not set. This method is called by JAXB after unmarshaling and is used to set the parent key of
- * the {@link AxField} instances in the parameter map to be the key of the event that contains them.
- *
- * @param unmarshaler the unmarshaler that is unmarshaling the model
- * @param parent the parent object of this object in the unmarshaler
+ * {@inheritDoc}.
*/
- public void afterUnmarshal(final Unmarshaller unmarshaler, final Object parent) {
+ @Override
+ public void buildReferences() {
for (final AxField parameter : parameterMap.values()) {
parameter.getKey().setParentArtifactKey(key);
}
@@ -581,4 +544,4 @@ public class AxEvent extends AxConcept {
return 0;
}
-} \ No newline at end of file
+}
diff --git a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEventModel.java b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEventModel.java
index 511d4f3d0..b91712c9d 100644
--- a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEventModel.java
+++ b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEventModel.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019,2022 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,16 +23,6 @@
package org.onap.policy.apex.model.eventmodel.concepts;
import java.util.List;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
@@ -51,30 +41,11 @@ import org.onap.policy.common.utils.validation.Assertions;
* <p>Validation runs {@link AxModel} validation on the model. In addition, the {@link AxContextSchemas} and
* {@link AxEvents} validation is run on the context schemas and events in the model.
*/
-
-@Entity
-@Table(name = "AxEventModel")
-
-@XmlRootElement(name = "apexEventModel", namespace = "http://www.onap.org/policy/apex-pdp")
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AxEventModel", namespace = "http://www.onap.org/policy/apex-pdp", propOrder = { "schemas", "events" })
-
public class AxEventModel extends AxModel {
private static final long serialVersionUID = 8800599637708309945L;
- // @formatter:off
- @OneToOne(cascade = CascadeType.ALL)
- @JoinColumn(name = "schemasName", referencedColumnName = "name")
- @JoinColumn(name = "schemasVersion", referencedColumnName = "version")
- @XmlElement(name = "schemas", required = true)
private AxContextSchemas schemas;
-
- @OneToOne(cascade = CascadeType.ALL)
- @JoinColumn(name = "eventsName", referencedColumnName = "name")
- @JoinColumn(name = "eventsVersion", referencedColumnName = "version")
- @XmlElement(name = "events", required = true)
private AxEvents events;
- // @formatter:on
/**
* The Default Constructor creates a {@link AxEventModel} object with a null artifact key and creates an empty event
diff --git a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvents.java b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvents.java
index ea4ec57a4..aac1562de 100644
--- a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvents.java
+++ b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvents.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2020,2022 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -27,18 +27,6 @@ import java.util.Map.Entry;
import java.util.NavigableMap;
import java.util.Set;
import java.util.TreeMap;
-import javax.persistence.CascadeType;
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.Table;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
import org.onap.policy.apex.model.basicmodel.concepts.AxConceptGetter;
@@ -59,30 +47,11 @@ import org.onap.policy.common.utils.validation.Assertions;
* container. Each event entry is checked to ensure that its key and value are not null and that the key matches the key
* in the map value. Each event entry is then validated individually.
*/
-@Entity
-@Table(name = "AxEvents")
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AxEvents", namespace = "http://www.onap.org/policy/apex-pdp", propOrder =
- { "key", "eventMap" })
-
public class AxEvents extends AxConcept implements AxConceptGetter<AxEvent> {
private static final long serialVersionUID = 4290442590545820316L;
- @EmbeddedId
- @XmlElement(name = "key", required = true)
private AxArtifactKey key;
-
- // @formatter:off
- @ManyToMany(cascade = CascadeType.ALL)
- @JoinTable(
- joinColumns = { @JoinColumn(name = "eventMapName", referencedColumnName = "name"),
- @JoinColumn(name = "eventMapVersion", referencedColumnName = "version") },
- inverseJoinColumns = { @JoinColumn(name = "eventName", referencedColumnName = "name"),
- @JoinColumn(name = "eventVersion", referencedColumnName = "version") })
- @XmlElement(required = true)
private Map<AxArtifactKey, AxEvent> eventMap;
- // @formatter:on
/**
* The Default Constructor creates a {@link AxEvents} object with a null artifact key and creates an empty event
@@ -127,21 +96,6 @@ public class AxEvents extends AxConcept implements AxConceptGetter<AxEvent> {
}
/**
- * When a model is unmarshalled from disk or from the database, the event map is returned as a raw hash map. This
- * method is called by JAXB after unmarshaling and is used to convert the hash map to a {@link NavigableMap} so that
- * it will work with the {@link AxConceptGetter} interface.
- *
- * @param unmarshaler the unmarshaler that is unmarshaling the model
- * @param parent the parent object of this object in the unmarshaler
- */
- public void afterUnmarshal(final Unmarshaller unmarshaler, final Object parent) {
- // The map must be navigable to allow name and version searching, unmarshaling returns a hash map
- final NavigableMap<AxArtifactKey, AxEvent> navigableEventMap = new TreeMap<>();
- navigableEventMap.putAll(eventMap);
- eventMap = navigableEventMap;
- }
-
- /**
* {@inheritDoc}.
*/
@Override
@@ -164,6 +118,14 @@ public class AxEvents extends AxConcept implements AxConceptGetter<AxEvent> {
}
/**
+ * {@inheritDoc}.
+ */
+ @Override
+ public void buildReferences() {
+ eventMap.values().stream().forEach(event -> event.buildReferences());
+ }
+
+ /**
* Sets the key of the event container.
*
* @param key the event container key
diff --git a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxField.java b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxField.java
index 654a83ced..26511c9d1 100644
--- a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxField.java
+++ b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxField.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019,2022 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,20 +23,6 @@
package org.onap.policy.apex.model.eventmodel.concepts;
import java.util.List;
-import javax.persistence.AttributeOverride;
-import javax.persistence.Column;
-import javax.persistence.Embedded;
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.Inheritance;
-import javax.persistence.InheritanceType;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
@@ -45,7 +31,6 @@ import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxValidationMessage;
import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult.ValidationResult;
-import org.onap.policy.apex.model.basicmodel.xml.AxReferenceKeyAdapter;
import org.onap.policy.common.utils.validation.Assertions;
/**
@@ -58,15 +43,6 @@ import org.onap.policy.common.utils.validation.Assertions;
*
* <p>Validation checks that the field key and the field schema reference key are not null.
*/
-@Entity
-@Table(name = "AxField")
-@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlRootElement(name = "apexField", namespace = "http://www.onap.org/policy/apex-pdp")
-@XmlType(name = "AxField", namespace = "http://www.onap.org/policy/apex-pdp", propOrder =
- { "key", "fieldSchemaKey", "optional" })
-
public class AxField extends AxConcept {
private static final String KEY_MAY_NOT_BE_NULL = "key may not be null";
private static final String FIELD_SCHEMA_KEY_MAY_NOT_BE_NULL = "fieldSchemaKey may not be null";
@@ -76,22 +52,8 @@ public class AxField extends AxConcept {
private static final int HASH_PRIME_0 = 1231;
private static final int HASH_PRIME_1 = 1237;
- @EmbeddedId()
- @XmlElement(name = "key", required = true)
- @XmlJavaTypeAdapter(AxReferenceKeyAdapter.class)
private AxReferenceKey key;
-
- // @formatter:off
- @Embedded
- @AttributeOverride(name = "name", column = @Column(name = "fieldSchemaName"))
- @AttributeOverride(name = "version", column = @Column(name = "fieldSchemaVersion"))
- @Column(name = "fieldSchemaKey")
- @XmlElement(required = true)
private AxArtifactKey fieldSchemaKey;
- // @formatter:on
-
- @Column(name = "optional")
- @XmlElement(required = false)
private boolean optional;
/**
diff --git a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxInputField.java b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxInputField.java
index 176699184..6155c7186 100644
--- a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxInputField.java
+++ b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxInputField.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * Modifications Copyright (C) 2022 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,28 +21,12 @@
package org.onap.policy.apex.model.eventmodel.concepts;
-import javax.persistence.Entity;
-import javax.persistence.Inheritance;
-import javax.persistence.InheritanceType;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
/**
* This class specializes the {@link AxField} class for use as input fields on events.
*/
-@Entity
-@Table(name = "AxInputField")
-@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlRootElement(name = "apexInputField", namespace = "http://www.onap.org/policy/apex-pdp")
-@XmlType(name = "AxInputField", namespace = "http://www.onap.org/policy/apex-pdp")
-
public class AxInputField extends AxField {
private static final long serialVersionUID = 2090324845463750391L;
diff --git a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxOutputField.java b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxOutputField.java
index f224739eb..7f3437617 100644
--- a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxOutputField.java
+++ b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxOutputField.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * Modifications Copyright (C) 2022 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,28 +21,12 @@
package org.onap.policy.apex.model.eventmodel.concepts;
-import javax.persistence.Entity;
-import javax.persistence.Inheritance;
-import javax.persistence.InheritanceType;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
/**
* This class specializes the {@link AxField} class for use as output fields on events.
*/
-@Entity
-@Table(name = "AxOutputField")
-@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlRootElement(name = "apexOutputField", namespace = "http://www.onap.org/policy/apex-pdp")
-@XmlType(name = "AxOutputField", namespace = "http://www.onap.org/policy/apex-pdp")
-
public class AxOutputField extends AxField {
private static final long serialVersionUID = 2090324845463750391L;
diff --git a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/package-info.java b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/package-info.java
index 7b20b3939..414d22d0e 100644
--- a/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/package-info.java
+++ b/model/event-model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/package-info.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * Modifications Copyright (C) 2022 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,12 +24,4 @@
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
-
-@XmlSchema(namespace = "http://www.onap.org/policy/apex-pdp", elementFormDefault = XmlNsForm.QUALIFIED,
- xmlns = { @XmlNs(namespaceURI = "http://www.onap.org/policy/apex-pdp", prefix = "") })
-
package org.onap.policy.apex.model.eventmodel.concepts;
-
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlNsForm;
-import javax.xml.bind.annotation.XmlSchema;