- private static final String AAI_MODEL_VER_SUB_URL = "/model-vers/model-ver";
-
- private static Logger logger = LoggerFactory.getInstance().getLogger(ModelArtifact.class.getName());
-
- private String modelVerId;
- private String modelInvariantId;
- private Node modelVer;
- private boolean firstVersionOfModel = false;
-
- public ModelArtifact() {
- super(ArtifactType.MODEL);
- }
-
- public String getModelVerId() {
- return modelVerId;
- }
-
- public void setModelVerId(String modelVerId) {
- this.modelVerId = modelVerId;
- }
-
- public String getModelInvariantId() {
- return modelInvariantId;
- }
-
- public void setModelInvariantId(String modelInvariantId) {
- this.modelInvariantId = modelInvariantId;
- }
-
- public Node getModelVer() {
- return modelVer;
- }
-
- public void setModelVer(Node modelVer) {
- this.modelVer = modelVer;
- }
-
- @Override
- public String getUniqueIdentifier() {
- return getModelInvariantId() + "|" + getModelVerId();
- }
-
- @Override
- public boolean push(AaiRestClient aaiClient, ModelLoaderConfig config, String distId, List<AbstractModelArtifact> addedModels) {
- ClientResponse getResponse = aaiClient.getResource(getModelUrl(config), distId, AaiRestClient.MimeType.XML);
- if ( (getResponse == null) || (getResponse.getStatus() != Response.Status.OK.getStatusCode()) ) {
- // Only attempt the PUT if the model doesn't already exist
- ClientResponse putResponse = aaiClient.putResource(getModelUrl(config), getPayload(), distId, AaiRestClient.MimeType.XML);
- if ( (putResponse != null) && (putResponse.getStatus() == Response.Status.CREATED.getStatusCode()) ) {
- addedModels.add(this);
-
- // Flag this as the first version of the model that has been added.
- firstVersionOfModel = true;
-
- logger.info(ModelLoaderMsgs.DISTRIBUTION_EVENT, getType().toString() + " " + getUniqueIdentifier() + " successfully ingested.");
- }
- else {
- logger.error(ModelLoaderMsgs.DISTRIBUTION_EVENT_ERROR, "Ingestion failed for " + getType().toString() + " " + getUniqueIdentifier() +
- ". Rolling back distribution.");
- return false;
- }
- }
- else {
- logger.info(ModelLoaderMsgs.DISTRIBUTION_EVENT, getType().toString() + " " + getModelInvariantId() + " already exists. Skipping ingestion.");
- getResponse = aaiClient.getResource(getModelVerUrl(config), distId, AaiRestClient.MimeType.XML);
- if ( (getResponse == null) || (getResponse.getStatus() != Response.Status.OK.getStatusCode()) ) {
- // Only attempt the PUT if the model-ver doesn't already exist
- ClientResponse putResponse = null;