Skip to content
Snippets Groups Projects
Commit 2bbc2857 authored by Rustam Lotsmanenko (EPAM)'s avatar Rustam Lotsmanenko (EPAM) Committed by Oleksandr Kosse (EPAM)
Browse files

Fix partition property id

parent 082eddda
No related branches found
No related tags found
1 merge request!212Fix partition property id
...@@ -9,6 +9,7 @@ data: ...@@ -9,6 +9,7 @@ data:
PARTITION_NAME: "{{ .Values.data.partitionName }}" PARTITION_NAME: "{{ .Values.data.partitionName }}"
SERVICE_ACCOUNT: {{ printf "%s@%s.iam.gserviceaccount.com" .Values.data.datafierSa .Values.data.projectId | quote }} SERVICE_ACCOUNT: {{ printf "%s@%s.iam.gserviceaccount.com" .Values.data.datafierSa .Values.data.projectId | quote }}
DATA_PARTITION_ID: "{{ .Values.data.dataPartitionId }}" DATA_PARTITION_ID: "{{ .Values.data.dataPartitionId }}"
PARTITION_CLEAN_UP_ENABLED: "{{ .Values.data.partitionCleanUpEnabled }}"
ENVIRONMENT: "{{ .Values.data.springProfilesActive }}" ENVIRONMENT: "{{ .Values.data.springProfilesActive }}"
{{- if .Values.data.dataProjectId }} {{- if .Values.data.dataProjectId }}
PROJECT_ID: "{{ .Values.data.dataProjectId }}" PROJECT_ID: "{{ .Values.data.dataProjectId }}"
......
...@@ -12,6 +12,7 @@ data: ...@@ -12,6 +12,7 @@ data:
partitionName: "partition" partitionName: "partition"
dataPartitionId: "" dataPartitionId: ""
datafierSa: "datafier" datafierSa: "datafier"
partitionCleanUpEnabled: "false"
# bootstrap variables onprem # bootstrap variables onprem
domain: "" domain: ""
conf: conf:
......
...@@ -144,6 +144,24 @@ EOF ...@@ -144,6 +144,24 @@ EOF
if [ "$ENVIRONMENT" == "anthos" ] if [ "$ENVIRONMENT" == "anthos" ]
then then
if [ "$PARTITION_CLEAN_UP_ENABLED" == "true" ]
then
echo "Partition cleanup enabled, will delete partition ${DATA_PARTITION_ID}"
delete_status_code=$(curl -X DELETE \
--url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \
-H "Content-Type: application/json")
if [ "$delete_status_code" == 204 ] || [ "$delete_status_code" == 404 ]
then
echo "Partition deletion was successful, with status code : ${delete_status_code}"
else
echo "Not able to delete partition, response status code is : ${delete_status_code}"
exit 1
fi
else
echo "Partition cleanup not enabled, skipping deletion"
fi
status_code=$(curl -X POST \ status_code=$(curl -X POST \
--url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \ --url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
...@@ -171,6 +189,24 @@ then ...@@ -171,6 +189,24 @@ then
IDENTITY_TOKEN=$(gcloud auth print-identity-token --audiences="${AUDIENCES}") IDENTITY_TOKEN=$(gcloud auth print-identity-token --audiences="${AUDIENCES}")
if [ "$PARTITION_CLEAN_UP_ENABLED" == "true" ]
then
echo "Partition cleanup enabled, will delete partition ${DATA_PARTITION_ID}"
delete_status_code=$(curl -X DELETE \
--url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \
-H "Authorization: Bearer ${IDENTITY_TOKEN}")
if [ "$delete_status_code" == 204 ] || [ "$delete_status_code" == 404 ]
then
echo "Partition deletion was successful, with status code : ${delete_status_code}"
else
echo "Not able to delete partition, response status code is : ${delete_status_code}"
exit 1
fi
else
echo "Partition cleanup not enabled, skipping deletion"
fi
status_code=$(curl -X POST \ status_code=$(curl -X POST \
--url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \ --url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \
-H "Authorization: Bearer ${IDENTITY_TOKEN}" \ -H "Authorization: Bearer ${IDENTITY_TOKEN}" \
......
...@@ -23,29 +23,26 @@ import lombok.NoArgsConstructor; ...@@ -23,29 +23,26 @@ import lombok.NoArgsConstructor;
import org.opengroup.osdu.partition.model.Property; import org.opengroup.osdu.partition.model.Property;
@Data @Data
@NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
public class PartitionPropertyEntity { public class PartitionPropertyEntity {
private String id; private String id;
private String partitionId;
private String name; private String partitionId;
private Boolean sensitive; private String name;
private Object value; private Boolean sensitive;
private Object value;
public PartitionPropertyEntity(String partitionId, String name, Property property) {
this.partitionId = partitionId;
this.name = name;
this.sensitive = property.isSensitive();
this.value = property.getValue();
}
public boolean isSensitive() { public PartitionPropertyEntity(String partitionId, String name, Property property) {
return this.sensitive; this.id = name + "-" + partitionId;
} this.partitionId = partitionId;
this.name = name;
this.sensitive = property.isSensitive();
this.value = property.getValue();
}
} }
...@@ -21,7 +21,6 @@ package org.opengroup.osdu.partition.provider.gcp.osm.repository; ...@@ -21,7 +21,6 @@ package org.opengroup.osdu.partition.provider.gcp.osm.repository;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.RandomUtils;
import org.opengroup.osdu.core.common.model.http.AppException; import org.opengroup.osdu.core.common.model.http.AppException;
import org.opengroup.osdu.core.gcp.osm.model.Destination; import org.opengroup.osdu.core.gcp.osm.model.Destination;
import org.opengroup.osdu.core.gcp.osm.model.query.GetQuery; import org.opengroup.osdu.core.gcp.osm.model.query.GetQuery;
...@@ -39,7 +38,6 @@ import java.util.List; ...@@ -39,7 +38,6 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static org.opengroup.osdu.core.gcp.osm.model.where.condition.And.and;
import static org.opengroup.osdu.core.gcp.osm.model.where.predicate.Eq.eq; import static org.opengroup.osdu.core.gcp.osm.model.where.predicate.Eq.eq;
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
...@@ -50,7 +48,7 @@ import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; ...@@ -50,7 +48,7 @@ import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
public class OsmPartitionPropertyRepository { public class OsmPartitionPropertyRepository {
public static final String PARTITION_ID_FILED = "partition_id"; public static final String PARTITION_ID_FILED = "partition_id";
private static final String NAME_FILED = "name"; public static final String PROPERTY_ID = "id";
private final OsmPartitionDestinationProvider osmPartitionDestinationProvider; private final OsmPartitionDestinationProvider osmPartitionDestinationProvider;
private final Context context; private final Context context;
...@@ -64,13 +62,7 @@ public class OsmPartitionPropertyRepository { ...@@ -64,13 +62,7 @@ public class OsmPartitionPropertyRepository {
} }
public PartitionPropertyEntity findByPartitionIdAndName(String partitionId, String key) { public PartitionPropertyEntity findByPartitionIdAndName(String partitionId, String key) {
List<PartitionPropertyEntity> propertyEntities = context return context.getOne(buildPartitionEntityQueryBy(eq(PROPERTY_ID, partitionId + "-" + key)));
.getResultsAsList(buildPartitionEntityQueryBy(and(
eq(PARTITION_ID_FILED, partitionId),
eq(NAME_FILED, key))
)
);
return propertyEntities.stream().findFirst().orElse(null);
} }
public List<String> getAllPartitions() { public List<String> getAllPartitions() {
...@@ -114,9 +106,6 @@ public class OsmPartitionPropertyRepository { ...@@ -114,9 +106,6 @@ public class OsmPartitionPropertyRepository {
try{ try{
tx = context.beginTransaction(destination); tx = context.beginTransaction(destination);
for (PartitionPropertyEntity entity : partitionProperties){ for (PartitionPropertyEntity entity : partitionProperties){
if (ObjectUtils.isEmpty(entity.getId())) {
generateAvailableIdFor(entity);
}
context.upsert(entity, destination); context.upsert(entity, destination);
} }
tx.commitIfActive(); tx.commitIfActive();
...@@ -128,16 +117,6 @@ public class OsmPartitionPropertyRepository { ...@@ -128,16 +117,6 @@ public class OsmPartitionPropertyRepository {
} }
} }
private void generateAvailableIdFor(PartitionPropertyEntity entity) {
//TODO Should be removed when GONRG-4077 will be ready
Long id = RandomUtils.nextLong();
if (ObjectUtils.isNotEmpty(context.getOne(buildPartitionEntityQueryBy(eq("id", id))))){
generateAvailableIdFor(entity);
} else {
entity.setId(id.toString());
}
}
private GetQuery<PartitionPropertyEntity> buildPartitionEntityQueryBy(Where where){ private GetQuery<PartitionPropertyEntity> buildPartitionEntityQueryBy(Where where){
return new GetQuery<>(PartitionPropertyEntity.class, osmPartitionDestinationProvider.getDestination(), where); return new GetQuery<>(PartitionPropertyEntity.class, osmPartitionDestinationProvider.getDestination(), where);
} }
......
...@@ -87,11 +87,7 @@ public class PartitionServiceImplTest { ...@@ -87,11 +87,7 @@ public class PartitionServiceImplTest {
expectedPartitionInfo.setProperties(properties); expectedPartitionInfo.setProperties(properties);
partitionPropertyEntity = new PartitionPropertyEntity(); partitionPropertyEntity = new PartitionPropertyEntity(PARTITION_ID, NAME, property);
partitionPropertyEntity.setPartitionId(PARTITION_ID);
partitionPropertyEntity.setName(NAME);
partitionPropertyEntity.setSensitive(SENSITIVE);
partitionPropertyEntity.setValue(VALUE);
List<PartitionPropertyEntity> entities = new ArrayList<>(); List<PartitionPropertyEntity> entities = new ArrayList<>();
entities.add(partitionPropertyEntity); entities.add(partitionPropertyEntity);
......
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