Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Genesys Backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
15
Issues
15
List
Boards
Labels
Service Desk
Milestones
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Genesys PGR
Genesys Backend
Commits
ac3bd24b
Commit
ac3bd24b
authored
Apr 24, 2015
by
Matija Obreza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Batch update PDCI from accessionDetails
parent
088a805d
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
41 additions
and
25 deletions
+41
-25
src/main/java/org/genesys2/server/persistence/domain/PDCIRepository.java
...rg/genesys2/server/persistence/domain/PDCIRepository.java
+4
-0
src/main/java/org/genesys2/server/service/GenesysService.java
...main/java/org/genesys2/server/service/GenesysService.java
+1
-1
src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java
...2/server/service/impl/ElasticsearchSearchServiceImpl.java
+2
-0
src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java
.../org/genesys2/server/service/impl/GenesysServiceImpl.java
+22
-6
src/main/java/org/genesys2/server/service/impl/PDCICalculator.java
...java/org/genesys2/server/service/impl/PDCICalculator.java
+9
-4
src/main/java/org/genesys2/server/service/impl/StatisticsServiceImpl.java
...g/genesys2/server/service/impl/StatisticsServiceImpl.java
+2
-2
src/main/java/org/genesys2/server/service/worker/ElasticUpdaterProcessor.java
...nesys2/server/service/worker/ElasticUpdaterProcessor.java
+0
-11
src/main/webapp/WEB-INF/jsp/accession/details.jsp
src/main/webapp/WEB-INF/jsp/accession/details.jsp
+1
-1
No files found.
src/main/java/org/genesys2/server/persistence/domain/PDCIRepository.java
View file @
ac3bd24b
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
package
org.genesys2.server.persistence.domain
;
package
org.genesys2.server.persistence.domain
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
org.genesys2.server.model.genesys.PDCI
;
import
org.genesys2.server.model.genesys.PDCI
;
import
org.genesys2.server.model.impl.FaoInstitute
;
import
org.genesys2.server.model.impl.FaoInstitute
;
...
@@ -28,6 +29,9 @@ public interface PDCIRepository extends JpaRepository<PDCI, Long> {
...
@@ -28,6 +29,9 @@ public interface PDCIRepository extends JpaRepository<PDCI, Long> {
@Query
(
"select pdci from PDCI pdci where pdci.accession.id=?1"
)
@Query
(
"select pdci from PDCI pdci where pdci.accession.id=?1"
)
PDCI
findByAccessionId
(
Long
accessionId
);
PDCI
findByAccessionId
(
Long
accessionId
);
@Query
(
"select pdci from PDCI pdci where pdci.accession.id in (?1)"
)
List
<
PDCI
>
findByAccessionId
(
Set
<
Long
>
accessionIds
);
/**
/**
* Gets [ min(pdci.score), max(pdci.score), avg(pdci.score), count(pdci) ]
* Gets [ min(pdci.score), max(pdci.score), avg(pdci.score), count(pdci) ]
* for PDCI of {@link FaoInstitute}
* for PDCI of {@link FaoInstitute}
...
...
src/main/java/org/genesys2/server/service/GenesysService.java
View file @
ac3bd24b
...
@@ -235,6 +235,6 @@ public interface GenesysService {
...
@@ -235,6 +235,6 @@ public interface GenesysService {
PDCIStatistics
statisticsPDCI
(
FaoInstitute
faoInstitute
);
PDCIStatistics
statisticsPDCI
(
FaoInstitute
faoInstitute
);
void
updatePDCI
(
Set
<
Long
>
accessionI
ds
);
void
updatePDCI
(
Set
<
AccessionDetails
>
a
ds
);
}
}
src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java
View file @
ac3bd24b
...
@@ -303,6 +303,8 @@ public class ElasticsearchSearchServiceImpl implements ElasticService, Initializ
...
@@ -303,6 +303,8 @@ public class ElasticsearchSearchServiceImpl implements ElasticService, Initializ
}
}
Set
<
AccessionDetails
>
ads
=
genesysService
.
getAccessionDetails
(
ids
);
Set
<
AccessionDetails
>
ads
=
genesysService
.
getAccessionDetails
(
ids
);
// If Accession, update PDCI
genesysService
.
updatePDCI
(
ads
);
for
(
AccessionDetails
ad
:
ads
)
{
for
(
AccessionDetails
ad
:
ads
)
{
if
(
ad
==
null
)
if
(
ad
==
null
)
...
...
src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java
View file @
ac3bd24b
...
@@ -1574,19 +1574,35 @@ public class GenesysServiceImpl implements GenesysService, DatasetService {
...
@@ -1574,19 +1574,35 @@ public class GenesysServiceImpl implements GenesysService, DatasetService {
@Override
@Override
@Transactional
@Transactional
public
void
updatePDCI
(
Set
<
Long
>
accessionI
ds
)
{
public
void
updatePDCI
(
Set
<
AccessionDetails
>
a
ds
)
{
if
(
pdciCalculator
==
null
)
{
if
(
pdciCalculator
==
null
)
{
return
;
return
;
}
}
Set
<
Long
>
accessionIds
=
new
HashSet
<
Long
>();
for
(
AccessionDetails
accessionDetails
:
ads
)
{
if
(
accessionDetails
!=
null
)
{
accessionIds
.
add
(
accessionDetails
.
getId
());
}
}
List
<
PDCI
>
pdcis
=
repoPdci
.
findByAccessionId
(
accessionIds
);
List
<
PDCI
>
pdcis
=
new
ArrayList
<
PDCI
>();
for
(
AccessionDetails
accessionDetails
:
ads
)
{
for
(
Long
accessionId
:
accessionIds
)
{
if
(
accessionDetails
==
null
)
{
PDCI
pdci
=
repoPdci
.
findByAccessionId
(
accessionId
);
continue
;
}
PDCI
pdci
=
null
;
for
(
PDCI
existing
:
pdcis
)
{
if
(
existing
.
getAccession
().
getId
().
equals
(
accessionDetails
.
getId
()))
{
pdci
=
existing
;
break
;
}
}
if
(
pdci
==
null
)
{
if
(
pdci
==
null
)
{
pdci
=
new
PDCI
();
pdci
=
new
PDCI
();
pdci
.
setAccession
(
accessionIdRepository
.
findOne
(
accession
Id
));
pdci
.
setAccession
(
accessionIdRepository
.
findOne
(
accession
Details
.
getId
()
));
}
}
pdci
s
.
add
(
pdciCalculator
.
updatePdci
(
pdci
,
accessionId
)
);
pdci
Calculator
.
updatePdci
(
pdci
,
accessionDetails
);
}
}
repoPdci
.
save
(
pdcis
);
repoPdci
.
save
(
pdcis
);
}
}
...
...
src/main/java/org/genesys2/server/service/impl/PDCICalculator.java
View file @
ac3bd24b
...
@@ -58,20 +58,24 @@ public class PDCICalculator implements InitializingBean {
...
@@ -58,20 +58,24 @@ public class PDCICalculator implements InitializingBean {
public
PDCI
makePDCI
(
long
accessionId
)
{
public
PDCI
makePDCI
(
long
accessionId
)
{
return
calculatePDCI
(
new
PDCI
(),
accessionId
);
return
calculatePDCI
(
new
PDCI
(),
accessionId
);
}
}
public
PDCI
updatePdci
(
PDCI
pdci
,
long
accessionId
)
{
public
PDCI
updatePdci
(
PDCI
pdci
,
long
accessionId
)
{
return
calculatePDCI
(
pdci
,
accessionId
);
return
calculatePDCI
(
pdci
,
accessionId
);
}
}
private
PDCI
calculatePDCI
(
PDCI
pdci
,
long
accessionId
)
{
private
PDCI
calculatePDCI
(
PDCI
pdci
,
long
accessionId
)
{
pdci
.
reset
();
AccessionDetails
accessionDetails
=
genesysService
.
getAccessionDetails
(
accessionId
);
AccessionDetails
accessionDetails
=
genesysService
.
getAccessionDetails
(
accessionId
);
if
(
accessionDetails
==
null
)
{
if
(
accessionDetails
==
null
)
{
LOG
.
warn
(
"No such accession "
+
accessionId
);
LOG
.
warn
(
"No such accession "
+
accessionId
);
return
null
;
return
null
;
}
}
return
updatePdci
(
pdci
,
accessionDetails
);
}
public
PDCI
updatePdci
(
PDCI
pdci
,
AccessionDetails
accessionDetails
)
{
pdci
.
reset
();
independentDescriptors
(
pdci
,
accessionDetails
);
independentDescriptors
(
pdci
,
accessionDetails
);
switch
(
accessionDetails
.
getSampStat
()
==
null
?
-
1
:
accessionDetails
.
getSampStat
()
/
100
)
{
switch
(
accessionDetails
.
getSampStat
()
==
null
?
-
1
:
accessionDetails
.
getSampStat
()
/
100
)
{
...
@@ -437,4 +441,5 @@ public class PDCICalculator implements InitializingBean {
...
@@ -437,4 +441,5 @@ public class PDCICalculator implements InitializingBean {
}
}
return
false
;
return
false
;
}
}
}
}
src/main/java/org/genesys2/server/service/impl/StatisticsServiceImpl.java
View file @
ac3bd24b
...
@@ -64,8 +64,8 @@ public class StatisticsServiceImpl implements StatisticsService {
...
@@ -64,8 +64,8 @@ public class StatisticsServiceImpl implements StatisticsService {
@Override
@Override
@Cacheable
(
unless
=
"#result == null"
,
value
=
"statistics"
,
key
=
"'stats.' + #root.methodName + '-' + #faoInstitute.id"
)
@Cacheable
(
unless
=
"#result == null"
,
value
=
"statistics"
,
key
=
"'stats.' + #root.methodName + '-' + #faoInstitute.id"
)
public
PDCIStatistics
statisticsPDCI
(
FaoInstitute
faoInstitute
)
{
public
PDCIStatistics
statisticsPDCI
(
FaoInstitute
faoInstitute
)
{
if
(
LOG
.
is
Info
Enabled
())
{
if
(
LOG
.
is
Debug
Enabled
())
{
LOG
.
info
(
"Regenerating PDCI statistics for "
+
faoInstitute
);
LOG
.
debug
(
"Regenerating PDCI statistics for "
+
faoInstitute
);
}
}
return
genesysService
.
statisticsPDCI
(
faoInstitute
);
return
genesysService
.
statisticsPDCI
(
faoInstitute
);
}
}
...
...
src/main/java/org/genesys2/server/service/worker/ElasticUpdaterProcessor.java
View file @
ac3bd24b
...
@@ -8,7 +8,6 @@ import javax.annotation.Resource;
...
@@ -8,7 +8,6 @@ import javax.annotation.Resource;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.commons.logging.LogFactory
;
import
org.genesys2.server.model.genesys.Accession
;
import
org.genesys2.server.service.ElasticService
;
import
org.genesys2.server.service.ElasticService
;
import
org.genesys2.server.service.GenesysService
;
import
org.genesys2.server.service.GenesysService
;
import
org.genesys2.server.service.worker.ElasticUpdater.ElasticNode
;
import
org.genesys2.server.service.worker.ElasticUpdater.ElasticNode
;
...
@@ -111,11 +110,6 @@ class ElasticUpdaterProcessor implements Runnable, InitializingBean, DisposableB
...
@@ -111,11 +110,6 @@ class ElasticUpdaterProcessor implements Runnable, InitializingBean, DisposableB
for
(
String
className
:
buckets
.
keySet
())
{
for
(
String
className
:
buckets
.
keySet
())
{
Set
<
Long
>
bucket
=
buckets
.
get
(
className
);
Set
<
Long
>
bucket
=
buckets
.
get
(
className
);
// If Accession, update PDCI
if
(
Accession
.
class
.
getName
().
equals
(
className
))
{
genesysService
.
updatePDCI
(
bucket
);
}
elasticService
.
updateAll
(
className
,
bucket
);
elasticService
.
updateAll
(
className
,
bucket
);
bucket
.
clear
();
bucket
.
clear
();
}
}
...
@@ -147,11 +141,6 @@ class ElasticUpdaterProcessor implements Runnable, InitializingBean, DisposableB
...
@@ -147,11 +141,6 @@ class ElasticUpdaterProcessor implements Runnable, InitializingBean, DisposableB
}
}
bucket
.
add
(
toUpdate
.
getId
());
bucket
.
add
(
toUpdate
.
getId
());
if
(
bucket
.
size
()
>=
BATCH_SIZE
)
{
if
(
bucket
.
size
()
>=
BATCH_SIZE
)
{
// If Accession, update PDCI
if
(
Accession
.
class
.
getName
().
equals
(
className
))
{
genesysService
.
updatePDCI
(
bucket
);
}
elasticService
.
updateAll
(
className
,
bucket
);
elasticService
.
updateAll
(
className
,
bucket
);
bucket
.
clear
();
bucket
.
clear
();
}
}
...
...
src/main/webapp/WEB-INF/jsp/accession/details.jsp
View file @
ac3bd24b
...
@@ -655,7 +655,7 @@
...
@@ -655,7 +655,7 @@
<h3>
<h3>
<spring:message
code=
"accession.pdci.jumbo"
arguments=
"
${
pdci
.
score
}
"
/>
<spring:message
code=
"accession.pdci.jumbo"
arguments=
"
${
pdci
.
score
}
"
/>
</h3>
</h3>
<small>
<c:if
test=
"
${
institutePDCI
ne
null
}
"
>
<small>
<c:if
test=
"
${
institutePDCI
ne
null
and
institutePDCI
.
count
>
0
}
"
>
<spring:message
code=
"accession.pdci.institute-avg"
arguments=
"
${
institutePDCI
.
avg
}
"
/>
<spring:message
code=
"accession.pdci.institute-avg"
arguments=
"
${
institutePDCI
.
avg
}
"
/>
</c:if>
<a
href=
"
<c:url
value=
"/content/passport-data-completeness-index"
/>
"
><spring:message
</c:if>
<a
href=
"
<c:url
value=
"/content/passport-data-completeness-index"
/>
"
><spring:message
code=
"accession.pdci.about-link"
code=
"accession.pdci.about-link"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment