Skip to content

Commit bac8fb8

Browse files
authored
Merge pull request #7093 from ORCID/revert-7091-9339-delete-orgaffiliationrelation-rows-in-panoply-for-affiliations-deleted-in-the-registry
Revert "Added the code to store deleted items in panoply dw_deleted_items table"
2 parents 9a97169 + 6fdf65e commit bac8fb8

6 files changed

Lines changed: 3 additions & 202 deletions

File tree

orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/OrgAffiliationRelationDaoImpl.java

Lines changed: 2 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,19 @@
33
import java.math.BigInteger;
44
import java.util.ArrayList;
55
import java.util.List;
6-
import java.util.concurrent.CompletableFuture;
76

8-
import javax.annotation.Resource;
97
import javax.persistence.Query;
108
import javax.persistence.TypedQuery;
119

12-
import org.orcid.utils.panoply.PanoplyDeletedItem;
13-
import org.orcid.utils.panoply.PanoplyRedshiftClient;
14-
import org.slf4j.Logger;
15-
import org.slf4j.LoggerFactory;
16-
import org.apache.commons.logging.Log;
1710
import org.orcid.persistence.aop.UpdateProfileLastModified;
1811
import org.orcid.persistence.aop.UpdateProfileLastModifiedAndIndexingStatus;
1912
import org.orcid.persistence.dao.OrgAffiliationRelationDao;
2013
import org.orcid.persistence.jpa.entities.OrgAffiliationRelationEntity;
21-
import org.springframework.beans.factory.annotation.Value;
2214
import org.springframework.cache.annotation.Cacheable;
2315
import org.springframework.transaction.annotation.Transactional;
2416

2517
public class OrgAffiliationRelationDaoImpl extends GenericDaoImpl<OrgAffiliationRelationEntity, Long> implements OrgAffiliationRelationDao {
26-
27-
private static final Logger LOG = LoggerFactory.getLogger(OrgAffiliationRelationDaoImpl.class);
28-
29-
@Value("${org.orcid.persistence.panoply.cleanup.production:false}")
30-
private boolean enablePanoplyCleanupInProduction;
31-
18+
3219
private static final String AFFILIATION_TYPE_DISTINCTION = "DISTINCTION";
3320

3421
private static final String AFFILIATION_TYPE_EDUCATION = "EDUCATION";
@@ -42,11 +29,6 @@ public class OrgAffiliationRelationDaoImpl extends GenericDaoImpl<OrgAffiliation
4229
private static final String AFFILIATION_TYPE_QUALIFICATION = "QUALIFICATION";
4330

4431
private static final String AFFILIATION_TYPE_SERVICE = "SERVICE";
45-
46-
private static final String DW_PANOPLY_AFFILIATION_TABLE = "dw_org_affiliation_relation";
47-
48-
@Resource
49-
private PanoplyRedshiftClient panoplyClient;
5032

5133
public OrgAffiliationRelationDaoImpl() {
5234
super(OrgAffiliationRelationEntity.class);
@@ -69,34 +51,7 @@ public boolean removeOrgAffiliationRelation(String userOrcid, Long orgAffiliatio
6951
Query query = entityManager.createQuery("delete from OrgAffiliationRelationEntity where orcid=:userOrcid and id=:orgAffiliationRelationId");
7052
query.setParameter("userOrcid", userOrcid);
7153
query.setParameter("orgAffiliationRelationId", orgAffiliationRelationId);
72-
if(query.executeUpdate() > 0) {
73-
if(enablePanoplyCleanupInProduction) {
74-
PanoplyDeletedItem item = new PanoplyDeletedItem();
75-
item.setItemId(orgAffiliationRelationId);
76-
item.setDwTable(DW_PANOPLY_AFFILIATION_TABLE);
77-
storeDeletedItemInPanoply(item);
78-
}
79-
return true;
80-
}
81-
return false;
82-
}
83-
84-
private void storeDeletedItemInPanoply(PanoplyDeletedItem item) {
85-
//Store the deleted item in panoply Db without blocking
86-
CompletableFuture.supplyAsync(() -> {
87-
try {
88-
panoplyClient.addPanoplyDeletedItem(item);
89-
return true;
90-
} catch (Exception e) {
91-
LOG.error("Cannot store deleted affiliation in panoply ", e);
92-
return false;
93-
}
94-
}).thenAccept(result -> {
95-
if(! result) {
96-
LOG.error("Async call to panoply for : " + item.toString() + " Stored: "+ result);
97-
}
98-
99-
});
54+
return query.executeUpdate() > 0 ? true : false;
10055
}
10156

10257
/**
@@ -241,14 +196,6 @@ public void removeOrgAffiliationByClientSourceId(String clientSourceId) {
241196
Query query = entityManager.createNativeQuery("DELETE FROM org_affiliation_relation WHERE client_source_id=:clientSourceId");
242197
query.setParameter("clientSourceId", clientSourceId);
243198
query.executeUpdate();
244-
if(query.executeUpdate() > 0) {
245-
if(enablePanoplyCleanupInProduction) {
246-
PanoplyDeletedItem item = new PanoplyDeletedItem();
247-
item.setClientSourceId(clientSourceId);
248-
item.setDwTable(DW_PANOPLY_AFFILIATION_TABLE);
249-
storeDeletedItemInPanoply(item);
250-
}
251-
}
252199
}
253200

254201
@Override
@@ -334,15 +281,6 @@ public void removeAllAffiliations(String orcid) {
334281
Query query = entityManager.createQuery("delete from OrgAffiliationRelationEntity where orcid = :orcid");
335282
query.setParameter("orcid", orcid);
336283
query.executeUpdate();
337-
if(query.executeUpdate() > 0) {
338-
if(enablePanoplyCleanupInProduction) {
339-
PanoplyDeletedItem item = new PanoplyDeletedItem();
340-
item.setOrcid(orcid);
341-
item.setDwTable(DW_PANOPLY_AFFILIATION_TABLE);
342-
storeDeletedItemInPanoply(item);
343-
}
344-
}
345-
346284
}
347285

348286
@Override

orcid-persistence/src/main/resources/orcid-persistence-context.xml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -457,22 +457,6 @@
457457
<property name="entityManager" ref="entityManagerReadOnly" />
458458
</bean>
459459

460-
461-
<!-- Panoply Redshift -->
462-
<bean id="panoplyRedshiftDataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
463-
<property name="driverClassName" value="\${org.orcid.core.utils.panoply.driver}" />
464-
<property name="jdbcUrl" value="\${org.orcid.core.utils.panoply.jdbcUrl}" />
465-
<property name="username" value="\${org.orcid.core.utils.panoply.username}" />
466-
<property name="password" value="\${org.orcid.core.utils.panoply.password}" />
467-
<property name="maximumPoolSize" value="\${org.orcid.core.utils.panoply.maxPoolSize}" />
468-
<property name="idleTimeout" value="\${org.orcid.core.utils.panoply.idleConnectionTimeout}" />
469-
<property name="connectionTimeout" value="\${org.orcid.core.utils.panoply.connectionTimeout}" />
470-
</bean>
471-
472-
<!-- Panoply JdbcTemplate Bean Definition -->
473-
<bean id="panoplyJdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
474-
<property name="dataSource" ref="panoplyRedshiftDataSource" />
475-
</bean>
476460

477461
<!-- Statistics -->
478462
<bean id="statisticsDao" class="org.orcid.persistence.dao.impl.StatisticsDaoImpl">

orcid-utils/pom.xml

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,6 @@
4343
<groupId>org.springframework</groupId>
4444
<artifactId>spring-context</artifactId>
4545
</dependency>
46-
<dependency>
47-
<groupId>org.springframework</groupId>
48-
<artifactId>spring-jdbc</artifactId>
49-
</dependency>
5046
<dependency>
5147
<groupId>org.apache.commons</groupId>
5248
<artifactId>commons-lang3</artifactId>
@@ -117,22 +113,6 @@
117113
<artifactId>jsoup</artifactId>
118114
<version>1.15.4</version>
119115
</dependency>
120-
121-
<!-- https://mvnrepository.com/artifact/com.amazon.redshift/redshift-jdbc42 -->
122-
<dependency>
123-
<groupId>com.amazon.redshift</groupId>
124-
<artifactId>redshift-jdbc42</artifactId>
125-
<version>2.1.0.30</version>
126-
</dependency>
127-
128-
129-
<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
130-
<dependency>
131-
<groupId>com.zaxxer</groupId>
132-
<artifactId>HikariCP</artifactId>
133-
<version>5.0.1</version>
134-
</dependency>
135-
136116

137117
<!-- Test dependencies -->
138118

orcid-utils/src/main/java/org/orcid/utils/panoply/PanoplyDeletedItem.java

Lines changed: 0 additions & 55 deletions
This file was deleted.

orcid-utils/src/main/java/org/orcid/utils/panoply/PanoplyRedshiftClient.java

Lines changed: 0 additions & 36 deletions
This file was deleted.

properties/development.properties

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -258,15 +258,5 @@ org.orcid.scheduler.autospam.enabled=true
258258
org.orcid.core.autospam.slackChannel=collab-spam-reports
259259
org.orcid.core.autospam.webhookUrl=
260260

261-
org.orcid.persistence.liquibase.enabled=false
261+
#org.orcid.persistence.liquibase.enabled=false
262262
org.orcid.persistence.solr.read.only.url=http://localhost:8983/solr
263-
264-
org.orcid.persistence.panoply.cleanup.production=false
265-
# Panoply redshift database
266-
org.orcid.core.utils.panoply.driver=com.amazon.redshift.jdbc.Driver
267-
org.orcid.core.utils.panoply.maxPoolSize=20
268-
org.orcid.core.utils.panoply.password=xxx
269-
org.orcid.core.utils.panoply.idleConnectionTimeout=3600
270-
org.orcid.core.utils.panoply.connectionTimeout=36000
271-
org.orcid.core.utils.panoply.jdbcUrl=xxx
272-
org.orcid.core.utils.panoply.username=xxx

0 commit comments

Comments
 (0)