Skip to content
Snippets Groups Projects
Commit 3073972a authored by Rustam Lotsmanenko (EPAM)'s avatar Rustam Lotsmanenko (EPAM)
Browse files

Batch OSM for GC

parent fb097747
No related branches found
No related tags found
1 merge request!932Batch OSM for GC
......@@ -13,3 +13,7 @@ gc-baremetal-test:
gc-dev2-test:
variables:
DATA_ROOT_TESTER: $GC_DEV2_DATA_ROOT_CLIENT_ID
gc-test:
variables:
OPA_INTEGRATION_ENABLED: "true"
......@@ -65,7 +65,7 @@
<dependency>
<groupId>org.opengroup.osdu</groupId>
<artifactId>osm</artifactId>
<version>0.26.0</version>
<version>0.27.0-rc3</version>
</dependency>
<dependency>
<groupId>org.opengroup.osdu</groupId>
......
......@@ -18,6 +18,7 @@
package org.opengroup.osdu.storage.provider.gcp.web.repository;
import com.github.fge.jsonpatch.JsonPatch;
import java.util.Map.Entry;
import lombok.RequiredArgsConstructor;
import lombok.extern.java.Log;
import org.opengroup.osdu.core.common.model.http.CollaborationContext;
......@@ -29,7 +30,6 @@ import org.opengroup.osdu.core.gcp.osm.model.Kind;
import org.opengroup.osdu.core.gcp.osm.model.Namespace;
import org.opengroup.osdu.core.gcp.osm.model.query.GetQuery;
import org.opengroup.osdu.core.gcp.osm.service.Context;
import org.opengroup.osdu.core.gcp.osm.service.Transaction;
import org.opengroup.osdu.core.gcp.osm.translate.Outcome;
import org.opengroup.osdu.storage.provider.interfaces.IRecordsMetadataRepository;
import org.opengroup.osdu.storage.provider.interfaces.ISchemaRepository;
......@@ -62,21 +62,15 @@ public class OsmRecordsMetadataRepository implements IRecordsMetadataRepository<
public static final String LEGAL_COMPLIANCE = "legal.status";
public static final String STATUS = "status";
@Override
public List<RecordMetadata> createOrUpdate(List<RecordMetadata> recordsMetadata, Optional<CollaborationContext> collaborationContext) {
if (recordsMetadata != null) {
Transaction txn = context.beginTransaction(getDestination());
try {
for (RecordMetadata recordMetadata : recordsMetadata) {
context.upsert(recordMetadata, getDestination());
}
txn.commitIfActive();
} finally {
txn.rollbackIfActive();
}
}
return recordsMetadata;
@Override
public List<RecordMetadata> createOrUpdate(List<RecordMetadata> recordsMetadata,
Optional<CollaborationContext> collaborationContext) {
if (recordsMetadata != null) {
RecordMetadata[] metadata = recordsMetadata.toArray(RecordMetadata[]::new);
context.upsert(getDestination(), metadata);
}
return recordsMetadata;
}
@Override
public void delete(String id, Optional<CollaborationContext> collaborationContext) {
......@@ -130,18 +124,14 @@ public class OsmRecordsMetadataRepository implements IRecordsMetadataRepository<
Map<RecordMetadata, JsonPatch> jsonPatchPerRecord,
Optional<CollaborationContext> collaborationContext) {
if (Objects.nonNull(jsonPatchPerRecord)) {
Transaction txn = context.beginTransaction(getDestination());
try {
for (RecordMetadata recordMetadata : jsonPatchPerRecord.keySet()) {
JsonPatch jsonPatch = jsonPatchPerRecord.get(recordMetadata);
RecordMetadata newRecordMetadata =
JsonPatchUtil.applyPatch(jsonPatch, RecordMetadata.class, recordMetadata);
context.upsert(newRecordMetadata, getDestination());
}
txn.commitIfActive();
} finally {
txn.rollbackIfActive();
RecordMetadata[] newRecordMetadata = new RecordMetadata[jsonPatchPerRecord.size()];
int count = 0;
for (Entry<RecordMetadata, JsonPatch> entry : jsonPatchPerRecord.entrySet()) {
JsonPatch jsonPatch = entry.getValue();
newRecordMetadata[count] = JsonPatchUtil.applyPatch(jsonPatch, RecordMetadata.class, entry.getKey());
count++;
}
context.upsert(getDestination(), newRecordMetadata);
}
return new HashMap<>();
}
......
......@@ -51,7 +51,7 @@ public class OsmSchemaRepository implements ISchemaRepository {
txn.rollbackIfActive();
throw new IllegalArgumentException("A schema for the specified kind has already been registered.");
} else {
context.create(schema, getDestination());
context.create(getDestination(), schema);
txn.commitIfActive();
}
} finally {
......@@ -79,4 +79,4 @@ public class OsmSchemaRepository implements ISchemaRepository {
.kind(OsmRecordsMetadataRepository.SCHEMA_KIND)
.build();
}
}
\ No newline at end of file
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment