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

Merge branch 'gc-osm-batch' into 'master'

Batch OSM for GC

See merge request !932
parents fb097747 3073972a
No related branches found
No related tags found
1 merge request!932Batch OSM for GC
Pipeline #284917 failed
......@@ -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