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
45
Issues
45
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
f4a9aed4
Commit
f4a9aed4
authored
Jan 24, 2019
by
Matija Obreza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
BasicModelFilter renamed #buildQuery to #buildPredicate
parent
918eb8ec
Changes
43
Hide whitespace changes
Inline
Side-by-side
Showing
43 changed files
with
238 additions
and
106 deletions
+238
-106
pom.xml
pom.xml
+1
-1
src/main/java/org/genesys/catalog/model/filters/ControlledVocabularyFilter.java
...sys/catalog/model/filters/ControlledVocabularyFilter.java
+2
-2
src/main/java/org/genesys/catalog/model/filters/DatasetFilter.java
...java/org/genesys/catalog/model/filters/DatasetFilter.java
+1
-1
src/main/java/org/genesys/catalog/model/filters/DatasetLocationFilter.java
.../genesys/catalog/model/filters/DatasetLocationFilter.java
+1
-1
src/main/java/org/genesys/catalog/model/filters/DescriptorFilter.java
...a/org/genesys/catalog/model/filters/DescriptorFilter.java
+3
-3
src/main/java/org/genesys/catalog/model/filters/DescriptorListFilter.java
...g/genesys/catalog/model/filters/DescriptorListFilter.java
+1
-1
src/main/java/org/genesys/catalog/model/filters/PartnerFilter.java
...java/org/genesys/catalog/model/filters/PartnerFilter.java
+1
-1
src/main/java/org/genesys/catalog/service/impl/DatasetServiceImpl.java
.../org/genesys/catalog/service/impl/DatasetServiceImpl.java
+4
-4
src/main/java/org/genesys/catalog/service/impl/DescriptorListServiceImpl.java
...nesys/catalog/service/impl/DescriptorListServiceImpl.java
+4
-4
src/main/java/org/genesys/catalog/service/impl/DescriptorServiceImpl.java
...g/genesys/catalog/service/impl/DescriptorServiceImpl.java
+6
-6
src/main/java/org/genesys/catalog/service/impl/PartnerServiceImpl.java
.../org/genesys/catalog/service/impl/PartnerServiceImpl.java
+5
-5
src/main/java/org/genesys/catalog/service/impl/VocabularyServiceImpl.java
...g/genesys/catalog/service/impl/VocabularyServiceImpl.java
+1
-1
src/main/java/org/genesys2/server/persistence/AccessionRepositoryCustom.java
...enesys2/server/persistence/AccessionRepositoryCustom.java
+8
-0
src/main/java/org/genesys2/server/persistence/AccessionRepositoryCustomImpl.java
...ys2/server/persistence/AccessionRepositoryCustomImpl.java
+17
-9
src/main/java/org/genesys2/server/service/GenesysFilterService.java
...ava/org/genesys2/server/service/GenesysFilterService.java
+2
-1
src/main/java/org/genesys2/server/service/MappingService.java
...main/java/org/genesys2/server/service/MappingService.java
+2
-1
src/main/java/org/genesys2/server/service/filter/AccessionCollectFilter.java
...enesys2/server/service/filter/AccessionCollectFilter.java
+2
-2
src/main/java/org/genesys2/server/service/filter/AccessionFilter.java
...a/org/genesys2/server/service/filter/AccessionFilter.java
+115
-1
src/main/java/org/genesys2/server/service/filter/AccessionGeoFilter.java
...rg/genesys2/server/service/filter/AccessionGeoFilter.java
+2
-2
src/main/java/org/genesys2/server/service/filter/ActivityPostFilter.java
...rg/genesys2/server/service/filter/ActivityPostFilter.java
+1
-1
src/main/java/org/genesys2/server/service/filter/ArticleFilter.java
...ava/org/genesys2/server/service/filter/ArticleFilter.java
+2
-2
src/main/java/org/genesys2/server/service/filter/CountryFilter.java
...ava/org/genesys2/server/service/filter/CountryFilter.java
+2
-2
src/main/java/org/genesys2/server/service/filter/GeoRegionFilter.java
...a/org/genesys2/server/service/filter/GeoRegionFilter.java
+2
-2
src/main/java/org/genesys2/server/service/filter/InstituteFilter.java
...a/org/genesys2/server/service/filter/InstituteFilter.java
+2
-2
src/main/java/org/genesys2/server/service/filter/MaterialRequestFilter.java
...genesys2/server/service/filter/MaterialRequestFilter.java
+1
-1
src/main/java/org/genesys2/server/service/filter/MaterialSubRequestFilter.java
...esys2/server/service/filter/MaterialSubRequestFilter.java
+1
-1
src/main/java/org/genesys2/server/service/filter/OAuthClientFilter.java
...org/genesys2/server/service/filter/OAuthClientFilter.java
+1
-1
src/main/java/org/genesys2/server/service/filter/SubsetFilter.java
...java/org/genesys2/server/service/filter/SubsetFilter.java
+1
-1
src/main/java/org/genesys2/server/service/filter/TaxonomyFilter.java
...va/org/genesys2/server/service/filter/TaxonomyFilter.java
+1
-1
src/main/java/org/genesys2/server/service/filter/UserFilter.java
...n/java/org/genesys2/server/service/filter/UserFilter.java
+1
-1
src/main/java/org/genesys2/server/service/impl/AccessionServiceImpl.java
...rg/genesys2/server/service/impl/AccessionServiceImpl.java
+2
-2
src/main/java/org/genesys2/server/service/impl/ContentServiceImpl.java
.../org/genesys2/server/service/impl/ContentServiceImpl.java
+2
-2
src/main/java/org/genesys2/server/service/impl/DownloadServiceImpl.java
...org/genesys2/server/service/impl/DownloadServiceImpl.java
+1
-1
src/main/java/org/genesys2/server/service/impl/ElasticsearchServiceImpl.java
...enesys2/server/service/impl/ElasticsearchServiceImpl.java
+2
-2
src/main/java/org/genesys2/server/service/impl/GenesysFilterServiceImpl.java
...enesys2/server/service/impl/GenesysFilterServiceImpl.java
+1
-1
src/main/java/org/genesys2/server/service/impl/InstituteServiceImpl.java
...rg/genesys2/server/service/impl/InstituteServiceImpl.java
+1
-1
src/main/java/org/genesys2/server/service/impl/MappingServiceImpl.java
.../org/genesys2/server/service/impl/MappingServiceImpl.java
+1
-1
src/main/java/org/genesys2/server/service/impl/RequestServiceImpl.java
.../org/genesys2/server/service/impl/RequestServiceImpl.java
+2
-2
src/main/java/org/genesys2/server/service/impl/SubsetServiceImpl.java
...a/org/genesys2/server/service/impl/SubsetServiceImpl.java
+4
-4
src/main/java/org/genesys2/server/service/impl/UserServiceImpl.java
...ava/org/genesys2/server/service/impl/UserServiceImpl.java
+1
-1
src/main/java/org/genesys2/server/service/worker/AccessionProcessor.java
...rg/genesys2/server/service/worker/AccessionProcessor.java
+3
-3
src/test/java/org/genesys/test/simpletest/AccessionFilterTest.java
...java/org/genesys/test/simpletest/AccessionFilterTest.java
+22
-22
src/test/java/org/genesys/test/simpletest/EsQueryTest.java
src/test/java/org/genesys/test/simpletest/EsQueryTest.java
+3
-3
No files found.
pom.xml
View file @
f4a9aed4
...
...
@@ -58,7 +58,7 @@
<snippetsDirectory>
${project.build.directory}/generated-snippets
</snippetsDirectory>
<junit.version>
4.12
</junit.version>
<application.blocks.version>
1.
5
-SNAPSHOT
</application.blocks.version>
<application.blocks.version>
1.
6
-SNAPSHOT
</application.blocks.version>
<commons.beanutils.version>
1.9.2
</commons.beanutils.version>
<commons.collections.version>
3.2.1
</commons.collections.version>
<commons.io.version>
2.4
</commons.io.version>
...
...
src/main/java/org/genesys/catalog/model/filters/ControlledVocabularyFilter.java
View file @
f4a9aed4
...
...
@@ -46,7 +46,7 @@ public class ControlledVocabularyFilter extends UuidModelFilter<ControlledVocabu
*
* @return the predicate
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
final
BooleanBuilder
and
=
new
BooleanBuilder
();
super
.
buildQuery
(
controlledVocabulary
,
controlledVocabulary
.
_super
,
and
);
...
...
@@ -60,7 +60,7 @@ public class ControlledVocabularyFilter extends UuidModelFilter<ControlledVocabu
and
.
and
(
description
.
buildQuery
(
controlledVocabulary
.
description
));
}
if
(
owner
!=
null
)
{
and
.
and
(
controlledVocabulary
.
owner
.
in
(
JPAExpressions
.
selectFrom
(
QPartner
.
partner
).
where
(
owner
.
build
Query
())));
and
.
and
(
controlledVocabulary
.
owner
.
in
(
JPAExpressions
.
selectFrom
(
QPartner
.
partner
).
where
(
owner
.
build
Predicate
())));
}
return
and
;
}
...
...
src/main/java/org/genesys/catalog/model/filters/DatasetFilter.java
View file @
f4a9aed4
...
...
@@ -76,7 +76,7 @@ public class DatasetFilter extends UuidModelFilter<DatasetFilter, Dataset> {
*
* @return the predicate
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
final
BooleanBuilder
and
=
new
BooleanBuilder
();
super
.
buildQuery
(
dataset
,
dataset
.
_super
,
and
);
...
...
src/main/java/org/genesys/catalog/model/filters/DatasetLocationFilter.java
View file @
f4a9aed4
...
...
@@ -38,7 +38,7 @@ public class DatasetLocationFilter extends UuidModelFilter<DatasetLocationFilter
*
* @return the predicate
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
return
buildQuery
(
datasetLocation
);
}
...
...
src/main/java/org/genesys/catalog/model/filters/DescriptorFilter.java
View file @
f4a9aed4
...
...
@@ -99,7 +99,7 @@ public class DescriptorFilter extends UuidModelFilter<DescriptorFilter, Descript
*
* @return the predicate
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
return
buildQuery
(
descriptor
);
}
...
...
@@ -141,7 +141,7 @@ public class DescriptorFilter extends UuidModelFilter<DescriptorFilter, Descript
and
.
and
(
bibliographicCitation
.
buildQuery
(
descriptorPath
.
bibliographicCitation
));
}
if
(
owner
!=
null
)
{
and
.
and
(
descriptorPath
.
owner
.
in
(
JPAExpressions
.
selectFrom
(
QPartner
.
partner
).
where
(
owner
.
build
Query
())));
and
.
and
(
descriptorPath
.
owner
.
in
(
JPAExpressions
.
selectFrom
(
QPartner
.
partner
).
where
(
owner
.
build
Predicate
())));
}
if
(
minValue
!=
null
)
{
and
.
and
(
minValue
.
buildQuery
(
descriptorPath
.
minValue
));
...
...
@@ -150,7 +150,7 @@ public class DescriptorFilter extends UuidModelFilter<DescriptorFilter, Descript
and
.
and
(
maxValue
.
buildQuery
(
descriptorPath
.
maxValue
));
}
if
(
list
!=
null
)
{
and
.
and
(
descriptorPath
.
descriptorLists
.
any
().
in
(
JPAExpressions
.
selectFrom
(
QDescriptorList
.
descriptorList
).
where
(
list
.
build
Query
())));
and
.
and
(
descriptorPath
.
descriptorLists
.
any
().
in
(
JPAExpressions
.
selectFrom
(
QDescriptorList
.
descriptorList
).
where
(
list
.
build
Predicate
())));
}
if
(
used
!=
null
)
{
if
(
used
.
booleanValue
()==
true
)
{
...
...
src/main/java/org/genesys/catalog/model/filters/DescriptorListFilter.java
View file @
f4a9aed4
...
...
@@ -67,7 +67,7 @@ public class DescriptorListFilter extends UuidModelFilter<DescriptorListFilter,
*
* @return the predicate
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
final
BooleanBuilder
and
=
new
BooleanBuilder
();
super
.
buildQuery
(
descriptorList
,
descriptorList
.
_super
,
and
);
...
...
src/main/java/org/genesys/catalog/model/filters/PartnerFilter.java
View file @
f4a9aed4
...
...
@@ -52,7 +52,7 @@ public class PartnerFilter extends UuidModelFilter<PartnerFilter, Partner> {
*
* @return the predicate
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
return
buildQuery
(
partner
);
}
...
...
src/main/java/org/genesys/catalog/service/impl/DatasetServiceImpl.java
View file @
f4a9aed4
...
...
@@ -390,7 +390,7 @@ public class DatasetServiceImpl implements DatasetService {
@Override
public
Page
<
Dataset
>
listDatasets
(
final
DatasetFilter
filter
,
final
Pageable
page
)
{
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"title"
);
Page
<
Dataset
>
res
=
datasetRepository
.
findAll
(
new
BooleanBuilder
().
and
(
filter
.
build
Query
()).
and
(
QDataset
.
dataset
.
state
.
in
(
PublishState
.
PUBLISHED
)),
Page
<
Dataset
>
res
=
datasetRepository
.
findAll
(
new
BooleanBuilder
().
and
(
filter
.
build
Predicate
()).
and
(
QDataset
.
dataset
.
state
.
in
(
PublishState
.
PUBLISHED
)),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
...
...
@@ -400,7 +400,7 @@ public class DatasetServiceImpl implements DatasetService {
*/
@Override
public
long
countDatasets
(
DatasetFilter
filter
)
{
return
datasetRepository
.
count
(
filter
.
build
Query
());
return
datasetRepository
.
count
(
filter
.
build
Predicate
());
}
/**
...
...
@@ -410,12 +410,12 @@ public class DatasetServiceImpl implements DatasetService {
public
Page
<
Dataset
>
listDatasetsForCurrentUser
(
final
DatasetFilter
filter
,
final
Pageable
page
)
{
if
(
securityUtils
.
hasRole
(
UserRole
.
ADMINISTRATOR
))
{
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"title"
);
Page
<
Dataset
>
res
=
datasetRepository
.
findAll
(
filter
.
build
Query
(),
markdownSortPageRequest
);
Page
<
Dataset
>
res
=
datasetRepository
.
findAll
(
filter
.
build
Predicate
(),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
else
{
final
HashSet
<
Long
>
partners
=
new
HashSet
<>(
securityUtils
.
listObjectIdentityIdsForCurrentUser
(
Partner
.
class
,
BasePermission
.
WRITE
));
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"title"
);
Page
<
Dataset
>
res
=
datasetRepository
.
findAll
(
dataset
.
owner
.
id
.
in
(
partners
).
and
(
filter
.
build
Query
()),
markdownSortPageRequest
);
Page
<
Dataset
>
res
=
datasetRepository
.
findAll
(
dataset
.
owner
.
id
.
in
(
partners
).
and
(
filter
.
build
Predicate
()),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
}
...
...
src/main/java/org/genesys/catalog/service/impl/DescriptorListServiceImpl.java
View file @
f4a9aed4
...
...
@@ -92,7 +92,7 @@ public class DescriptorListServiceImpl implements DescriptorListService {
*/
@Override
public
long
countDescriptorLists
(
DescriptorListFilter
filter
)
{
return
descriptorListRepository
.
count
(
filter
.
build
Query
());
return
descriptorListRepository
.
count
(
filter
.
build
Predicate
());
}
/**
...
...
@@ -321,7 +321,7 @@ public class DescriptorListServiceImpl implements DescriptorListService {
@Override
public
Page
<
DescriptorList
>
listDescriptorLists
(
final
DescriptorListFilter
filters
,
final
Pageable
page
)
{
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"title"
);
Page
<
DescriptorList
>
res
=
descriptorListRepository
.
findAll
(
new
BooleanBuilder
().
and
(
filters
.
build
Query
()).
and
(
descriptorList
.
state
.
in
(
PublishState
.
PUBLISHED
)),
markdownSortPageRequest
);
Page
<
DescriptorList
>
res
=
descriptorListRepository
.
findAll
(
new
BooleanBuilder
().
and
(
filters
.
build
Predicate
()).
and
(
descriptorList
.
state
.
in
(
PublishState
.
PUBLISHED
)),
markdownSortPageRequest
);
return
new
PageImpl
<
DescriptorList
>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
...
...
@@ -329,11 +329,11 @@ public class DescriptorListServiceImpl implements DescriptorListService {
public
Page
<
DescriptorList
>
listDescriptorListsForCurrentUser
(
final
DescriptorListFilter
filter
,
final
Pageable
page
)
{
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"title"
);
if
(
securityUtils
.
hasRole
(
UserRole
.
ADMINISTRATOR
))
{
Page
<
DescriptorList
>
res
=
descriptorListRepository
.
findAll
(
filter
.
build
Query
(),
markdownSortPageRequest
);
Page
<
DescriptorList
>
res
=
descriptorListRepository
.
findAll
(
filter
.
build
Predicate
(),
markdownSortPageRequest
);
return
new
PageImpl
<
DescriptorList
>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
else
{
final
HashSet
<
Long
>
partners
=
new
HashSet
<>(
securityUtils
.
listObjectIdentityIdsForCurrentUser
(
Partner
.
class
,
BasePermission
.
WRITE
));
Page
<
DescriptorList
>
res
=
descriptorListRepository
.
findAll
(
descriptorList
.
owner
.
id
.
in
(
partners
).
and
(
filter
.
build
Query
()),
markdownSortPageRequest
);
Page
<
DescriptorList
>
res
=
descriptorListRepository
.
findAll
(
descriptorList
.
owner
.
id
.
in
(
partners
).
and
(
filter
.
build
Predicate
()),
markdownSortPageRequest
);
return
new
PageImpl
<
DescriptorList
>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
}
...
...
src/main/java/org/genesys/catalog/service/impl/DescriptorServiceImpl.java
View file @
f4a9aed4
...
...
@@ -272,12 +272,12 @@ public class DescriptorServiceImpl implements DescriptorService {
public
Page
<
Descriptor
>
listDescriptorsForCurrentUser
(
final
DescriptorFilter
filter
,
final
Pageable
page
)
{
if
(
securityUtils
.
hasRole
(
UserRole
.
ADMINISTRATOR
))
{
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"title"
);
Page
<
Descriptor
>
res
=
descriptorRepository
.
findAll
(
filter
.
build
Query
(),
markdownSortPageRequest
);
Page
<
Descriptor
>
res
=
descriptorRepository
.
findAll
(
filter
.
build
Predicate
(),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
else
{
final
HashSet
<
Long
>
partners
=
new
HashSet
<>(
securityUtils
.
listObjectIdentityIdsForCurrentUser
(
Partner
.
class
,
BasePermission
.
WRITE
));
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"title"
);
Page
<
Descriptor
>
res
=
descriptorRepository
.
findAll
(
descriptor
.
owner
.
id
.
in
(
partners
).
and
(
filter
.
build
Query
()),
markdownSortPageRequest
);
Page
<
Descriptor
>
res
=
descriptorRepository
.
findAll
(
descriptor
.
owner
.
id
.
in
(
partners
).
and
(
filter
.
build
Predicate
()),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
}
...
...
@@ -290,7 +290,7 @@ public class DescriptorServiceImpl implements DescriptorService {
}
else
{
final
HashSet
<
Long
>
partners
=
new
HashSet
<>(
securityUtils
.
listObjectIdentityIdsForCurrentUser
(
Partner
.
class
,
BasePermission
.
WRITE
));
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"title"
);
Page
<
Descriptor
>
res
=
descriptorRepository
.
findAll
(
QDescriptor
.
descriptor
.
state
.
in
(
PublishState
.
PUBLISHED
).
or
(
descriptor
.
owner
.
id
.
in
(
partners
)).
and
(
descriptorFilter
.
build
Query
()),
markdownSortPageRequest
);
Page
<
Descriptor
>
res
=
descriptorRepository
.
findAll
(
QDescriptor
.
descriptor
.
state
.
in
(
PublishState
.
PUBLISHED
).
or
(
descriptor
.
owner
.
id
.
in
(
partners
)).
and
(
descriptorFilter
.
build
Predicate
()),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
}
...
...
@@ -301,7 +301,7 @@ public class DescriptorServiceImpl implements DescriptorService {
@Override
public
Page
<
Descriptor
>
listDescriptors
(
final
DescriptorFilter
descriptorFilter
,
final
Pageable
page
)
{
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"title"
);
Page
<
Descriptor
>
res
=
descriptorRepository
.
findAll
(
new
BooleanBuilder
().
and
(
descriptorFilter
.
build
Query
()).
and
(
QDescriptor
.
descriptor
.
state
.
in
(
PublishState
.
PUBLISHED
)),
markdownSortPageRequest
);
Page
<
Descriptor
>
res
=
descriptorRepository
.
findAll
(
new
BooleanBuilder
().
and
(
descriptorFilter
.
build
Predicate
()).
and
(
QDescriptor
.
descriptor
.
state
.
in
(
PublishState
.
PUBLISHED
)),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
...
...
@@ -524,14 +524,14 @@ public class DescriptorServiceImpl implements DescriptorService {
@Override
public
void
exportDescriptors
(
DescriptorFilter
filter
,
OutputStream
outputStream
)
throws
IOException
{
List
<
Descriptor
>
descriptors
=
(
List
<
Descriptor
>)
descriptorRepository
.
findAll
(
filter
.
build
Query
());
.
findAll
(
filter
.
build
Predicate
());
downloadService
.
writeXlsxDescriptor
(
descriptors
,
outputStream
);
}
@Override
public
long
countDescriptors
(
DescriptorFilter
filter
)
{
return
descriptorRepository
.
count
(
filter
.
build
Query
());
return
descriptorRepository
.
count
(
filter
.
build
Predicate
());
}
}
src/main/java/org/genesys/catalog/service/impl/PartnerServiceImpl.java
View file @
f4a9aed4
...
...
@@ -162,12 +162,12 @@ public class PartnerServiceImpl implements PartnerService, InitializingBean {
public
Page
<
Partner
>
listPartnersForCurrentUser
(
final
PartnerFilter
filter
,
final
Pageable
page
)
{
if
(
securityUtils
.
hasRole
(
UserRole
.
ADMINISTRATOR
))
{
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"name"
);
Page
<
Partner
>
res
=
partnerRepository
.
findAll
(
filter
.
build
Query
(),
markdownSortPageRequest
);
Page
<
Partner
>
res
=
partnerRepository
.
findAll
(
filter
.
build
Predicate
(),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
else
{
final
HashSet
<
Long
>
ids
=
new
HashSet
<>(
securityUtils
.
listObjectIdentityIdsForCurrentUser
(
Partner
.
class
,
BasePermission
.
WRITE
));
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"name"
);
Page
<
Partner
>
res
=
partnerRepository
.
findAll
(
partner
.
id
.
in
(
ids
).
and
(
filter
.
build
Query
()),
markdownSortPageRequest
);
Page
<
Partner
>
res
=
partnerRepository
.
findAll
(
partner
.
id
.
in
(
ids
).
and
(
filter
.
build
Predicate
()),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
}
...
...
@@ -178,7 +178,7 @@ public class PartnerServiceImpl implements PartnerService, InitializingBean {
@Override
public
Page
<
Partner
>
listPartners
(
final
PartnerFilter
partnerFilter
,
final
Pageable
page
)
{
Pageable
markdownSortPageRequest
=
JPAUtils
.
toMarkdownSort
(
page
,
"name"
);
Page
<
Partner
>
res
=
partnerRepository
.
findAll
(
partnerFilter
.
build
Query
(),
markdownSortPageRequest
);
Page
<
Partner
>
res
=
partnerRepository
.
findAll
(
partnerFilter
.
build
Predicate
(),
markdownSortPageRequest
);
return
new
PageImpl
<>(
res
.
getContent
(),
page
,
res
.
getTotalElements
());
}
...
...
@@ -225,7 +225,7 @@ public class PartnerServiceImpl implements PartnerService, InitializingBean {
@Override
public
Page
<
FaoInstitute
>
loadPartnerInstitutes
(
UUID
uuid
,
InstituteFilter
filter
,
Pageable
page
)
{
return
instituteRepository
.
findAll
(
QFaoInstitute
.
faoInstitute
.
owner
.
uuid
.
eq
(
uuid
).
and
(
filter
.
build
Query
()),
page
);
return
instituteRepository
.
findAll
(
QFaoInstitute
.
faoInstitute
.
owner
.
uuid
.
eq
(
uuid
).
and
(
filter
.
build
Predicate
()),
page
);
}
/**
...
...
@@ -279,7 +279,7 @@ public class PartnerServiceImpl implements PartnerService, InitializingBean {
@Override
public
long
countPartners
(
PartnerFilter
filter
)
{
return
partnerRepository
.
count
(
filter
.
build
Query
());
return
partnerRepository
.
count
(
filter
.
build
Predicate
());
}
/**
...
...
src/main/java/org/genesys/catalog/service/impl/VocabularyServiceImpl.java
View file @
f4a9aed4
...
...
@@ -231,7 +231,7 @@ public class VocabularyServiceImpl implements VocabularyService {
@Override
public
Page
<
ControlledVocabulary
>
listVocabularies
(
final
ControlledVocabularyFilter
filters
,
final
Pageable
page
)
{
return
vocabRepository
.
findAll
(
filters
.
build
Query
(),
page
);
return
vocabRepository
.
findAll
(
filters
.
build
Predicate
(),
page
);
}
@Override
...
...
src/main/java/org/genesys2/server/persistence/AccessionRepositoryCustom.java
View file @
f4a9aed4
...
...
@@ -77,4 +77,12 @@ public interface AccessionRepositoryCustom {
* @return the list
*/
List
<
Accession
>
findAll
(
AccessionFilter
filter
,
Pageable
page
);
/**
* Count accessions matching filter
*
* @param filter the filter
* @return the long
*/
long
count
(
AccessionFilter
filter
);
}
src/main/java/org/genesys2/server/persistence/AccessionRepositoryCustomImpl.java
View file @
f4a9aed4
...
...
@@ -32,7 +32,6 @@ import javax.persistence.criteria.Join;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
javax.persistence.criteria.Selection
;
import
org.apache.commons.lang3.time.StopWatch
;
import
org.genesys2.server.model.genesys.Accession
;
...
...
@@ -50,7 +49,6 @@ import org.springframework.dao.IncorrectResultSizeDataAccessException;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.repository.support.Querydsl
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.querydsl.core.types.dsl.PathBuilder
;
...
...
@@ -210,19 +208,29 @@ public class AccessionRepositoryCustomImpl implements AccessionRepositoryCustom,
JPAQuery
<
Accession
>
query
=
jpaQueryFactory
.
selectFrom
(
QAccession
.
accession
).
distinct
().
where
(
QAccession
.
accession
.
accessionId
.
uuid
.
in
(
accessionUuids
));
return
query
.
fetch
();
}
@Override
public
long
count
(
AccessionFilter
filter
)
{
Querydsl
querydsl
=
new
Querydsl
(
em
,
pathBuilder
);
QAccession
qAccession
=
QAccession
.
accession
;
JPQLQuery
<
Object
>
query
=
querydsl
.
createQuery
(
qAccession
);
filter
.
buildJpaQuery
(
query
,
qAccession
);
return
query
.
fetchCount
();
}
@Override
public
List
<
Accession
>
findAll
(
AccessionFilter
filter
,
Pageable
page
)
{
Querydsl
querydsl
=
new
Querydsl
(
em
,
pathBuilder
);
JPQLQuery
<
Accession
>
query
=
querydsl
.
createQuery
(
QAccession
.
accession
).
select
(
QAccession
.
accession
);
QAccession
qAccession
=
QAccession
.
accession
;
JPQLQuery
<
Object
>
query
=
querydsl
.
createQuery
(
qAccession
);
filter
.
buildJpaQuery
(
query
,
qAccession
);
if
(
filter
!=
null
)
{
// apply filter
query
.
where
(
filter
.
buildQuery
());
}
querydsl
.
applyPagination
(
page
,
query
);
querydsl
.
applySorting
(
page
.
getSort
(),
query
);
return
query
.
fetch
();
return
query
.
select
(
qAccession
).
fetch
();
}
}
src/main/java/org/genesys2/server/service/GenesysFilterService.java
View file @
f4a9aed4
...
...
@@ -16,6 +16,7 @@
package
org.genesys2.server.service
;
import
java.io.IOException
;
import
java.util.List
;
import
org.genesys2.server.model.elastic.AccessionDetails
;
...
...
@@ -43,7 +44,7 @@ public interface GenesysFilterService {
void
listGeoTile
(
boolean
distinct
,
AppliedFilters
filters
,
Integer
limit
,
int
zoom
,
int
xtile
,
int
ytile
,
RowCallbackHandler
rowHandler
);
List
<
Double
[]>
listGeoTile
(
AccessionFilter
filter
,
Integer
limit
,
int
zoom
,
int
xtile
,
int
ytile
);
List
<
Double
[]>
listGeoTile
(
AccessionFilter
filter
,
Integer
limit
,
int
zoom
,
int
xtile
,
int
ytile
)
throws
IOException
;
AppliedFilters
transformFiltersIfNeed
(
AppliedFilters
appliedFilters
);
}
src/main/java/org/genesys2/server/service/MappingService.java
View file @
f4a9aed4
...
...
@@ -66,6 +66,7 @@ public interface MappingService {
* @param ytile
* the ytile
* @return the tile
* @throws IOException
*/
byte
[]
getTile
(
AccessionFilter
filter
,
int
zoom
,
int
xtile
,
int
ytile
);
byte
[]
getTile
(
AccessionFilter
filter
,
int
zoom
,
int
xtile
,
int
ytile
)
throws
IOException
;
}
src/main/java/org/genesys2/server/service/filter/AccessionCollectFilter.java
View file @
f4a9aed4
...
...
@@ -49,7 +49,7 @@ public class AccessionCollectFilter extends BasicModelFilter<AccessionCollectFil
*
* @return the predicate
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
return
buildQuery
(
accessionCollect
);
}
...
...
@@ -61,7 +61,7 @@ public class AccessionCollectFilter extends BasicModelFilter<AccessionCollectFil
*/
public
Predicate
buildQuery
(
QAccessionCollect
collect
)
{
final
BooleanBuilder
and
=
new
BooleanBuilder
();
super
.
build
Query
(
collect
,
collect
.
_super
,
and
);
super
.
build
Predicate
(
collect
,
collect
.
_super
,
and
);
if
(
date
!=
null
)
{
and
.
and
(
date
.
buildQuery
(
collect
.
collDate
));
...
...
src/main/java/org/genesys2/server/service/filter/AccessionFilter.java
View file @
f4a9aed4
...
...
@@ -24,10 +24,19 @@ import org.genesys.blocks.model.filters.StringFilter;
import
org.genesys.blocks.model.filters.UuidModelFilter
;
import
org.genesys2.server.model.genesys.Accession
;
import
org.genesys2.server.model.genesys.QAccession
;
import
org.genesys2.server.model.genesys.QAccessionCollect
;
import
org.genesys2.server.model.genesys.QAccessionGeo
;
import
org.genesys2.server.model.genesys.QAccessionId
;
import
org.genesys2.server.model.genesys.QPDCI
;
import
org.genesys2.server.model.genesys.QTaxonomy2
;
import
org.genesys2.server.model.impl.QCountry
;
import
org.genesys2.server.model.impl.QCrop
;
import
org.genesys2.server.model.impl.QFaoInstitute
;
import
com.hazelcast.util.CollectionUtil
;
import
com.querydsl.core.BooleanBuilder
;
import
com.querydsl.core.types.Predicate
;
import
com.querydsl.jpa.JPQLQuery
;
/**
* Filters for {@link Accession}.
...
...
@@ -103,10 +112,115 @@ public class AccessionFilter extends UuidModelFilter<AccessionFilter, Accession>
/* (non-Javadoc)
* @see org.genesys.blocks.model.filters.BasicModelFilter#buildQuery()
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
return
buildQuery
(
QAccession
.
accession
);
}
public
<
T
>
JPQLQuery
<
T
>
buildJpaQuery
(
JPQLQuery
<
T
>
query
,
QAccession
accession
)
{
QAccessionId
qAccessionId
=
new
QAccessionId
(
"accessionId"
);
query
.
innerJoin
(
accession
.
accessionId
,
qAccessionId
);
final
BooleanBuilder
and
=
new
BooleanBuilder
();
super
.
buildQuery
(
accession
,
accession
.
_super
.
_super
,
and
);
if
(
taxa
!=
null
)
{
QTaxonomy2
qTaxonomy
=
new
QTaxonomy2
(
"taxonomy"
);
query
.
innerJoin
(
accession
.
taxonomy
,
qTaxonomy
);
and
.
and
(
taxa
.
buildQuery
(
qTaxonomy
));
}
if
(
crop
!=
null
&&
!
crop
.
isEmpty
())
{
QCrop
qCrop
=
new
QCrop
(
"crop"
);
query
.
leftJoin
(
accession
.
crop
,
qCrop
);
and
.
and
(
qCrop
.
shortName
.
in
(
crop
));
}
if
(
holder
!=
null
)
{
QFaoInstitute
qInstitute
=
new
QFaoInstitute
(
"institute"
);
query
.
innerJoin
(
accession
.
institute
,
qInstitute
);
and
.
and
(
holder
.
buildQuery
(
qInstitute
));
}
if
(
origin
!=
null
)
{
QCountry
qOrigin
=
new
QCountry
(
"countryOfOrigin"
);
query
.
leftJoin
(
accession
.
countryOfOrigin
,
qOrigin
);
and
.
and
(
origin
.
buildQuery
(
qOrigin
));
}
if
(
geo
!=
null
)
{
QAccessionGeo
qGeo
=
new
QAccessionGeo
(
"geo"
);
query
.
leftJoin
(
qAccessionId
.
geo
,
qGeo
);
and
.
and
(
geo
.
buildQuery
(
qGeo
));
}
if
(
coll
!=
null
)
{
QAccessionCollect
qColl
=
new
QAccessionCollect
(
"coll"
);
query
.
leftJoin
(
qAccessionId
.
coll
,
qColl
);
and
.
and
(
coll
.
buildQuery
(
qColl
));
}
if
(
pdci
!=
null
)
{
QPDCI
qPdci
=
new
QPDCI
(
"pdci"
);
query
.
leftJoin
(
qAccessionId
.
pdci
,
qPdci
);
and
.
and
(
pdci
.
buildQuery
(
qPdci
.
score
));
}
// Fields
if
(
historic
!=
null
)
{
and
.
and
(
accession
.
historic
.
eq
(
historic
));
}
if
(
cropName
!=
null
)
{
and
.
and
(
accession
.
cropName
.
eq
(
cropName
));
}
if
(
CollectionUtil
.
isNotEmpty
(
doi
))
{
and
.
and
(
accession
.
doi
.
in
(
doi
));
}
if
(
acceNumb
!=
null
)
{
and
.
and
(
acceNumb
.
buildQuery
(
accession
.
accessionNumber
));
}
if
(
seqNo
!=
null
)
{
and
.
and
(
seqNo
.
buildQuery
(
accession
.
seqNo
));
}
if
(
CollectionUtil
.
isNotEmpty
(
sampStat
))
{
and
.
and
(
accession
.
sampStat
.
in
(
sampStat
));
}
if
(
CollectionUtil
.
isNotEmpty
(
storage
))
{
and
.
and
(
qAccessionId
.
storage
.
any
().
in
(
storage
));
}
if
(
mlsStatus
!=
null
)
{
and
.
and
(
accession
.
mlsStatus
.
eq
(
mlsStatus
));
}
if
(
available
!=
null
)
{
and
.
and
(
accession
.
available
.
eq
(
available
));
}
if
(
art15
!=
null
)
{
and
.
and
(
accession
.
inTrust
.
eq
(
art15
));
}
if
(
CollectionUtil
.
isNotEmpty
(
list
))
{
and
.
and
(
qAccessionId
.
lists
.
any
().
uuid
.
in
(
list
));
}
if
(
CollectionUtil
.
isNotEmpty
(
uuid
))
{
and
.
and
(
qAccessionId
.
uuid
.
in
(
uuid
));
}
if
(
alias
!=
null
)
{
and
.
and
(
alias
.
buildQuery
(
accession
.
accessionId
.
aliases
.
any
().
name
));
}
// TODO Do we have to change this?
if
(
sgsv
!=
null
)
{
if
(
sgsv
==
Boolean
.
TRUE
)
{
and
.
and
(
qAccessionId
.
duplSite
.
any
().
eq
(
"NOR051"
));
}
else
{
and
.
andNot
(
qAccessionId
.
duplSite
.
any
().
eq
(
"NOR051"
));
}
}
if
(
images
!=
null
)
{
if
(
images
==
Boolean
.
TRUE
)
{
and
.
and
(
qAccessionId
.
imageCount
.
gt
(
0
));
}
else
{
and
.
and
(
qAccessionId
.
imageCount
.
eq
(
0
));
}
}
query
.
where
(
and
);
return
query
;
}
/**
* Builds the query.
*
...
...
src/main/java/org/genesys2/server/service/filter/AccessionGeoFilter.java
View file @
f4a9aed4
...
...
@@ -49,7 +49,7 @@ public class AccessionGeoFilter extends BasicModelFilter<AccessionGeoFilter, Acc
*
* @return the predicate
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
return
buildQuery
(
accessionGeo
);
}
...
...
@@ -61,7 +61,7 @@ public class AccessionGeoFilter extends BasicModelFilter<AccessionGeoFilter, Acc
*/
public
Predicate
buildQuery
(
QAccessionGeo
accessiongeo
)
{
final
BooleanBuilder
and
=
new
BooleanBuilder
();
super
.
build
Query
(
accessiongeo
,
accessiongeo
.
_super
,
and
);
super
.
build
Predicate
(
accessiongeo
,
accessiongeo
.
_super
,
and
);
if
(
referenced
!=
null
)
{
if
(
referenced
.
booleanValue
())
{
...
...
src/main/java/org/genesys2/server/service/filter/ActivityPostFilter.java
View file @
f4a9aed4
...
...
@@ -38,7 +38,7 @@ public class ActivityPostFilter extends AuditedVersionedModelFilter<ActivityPost
public
String
_text
;
@Override
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
return
buildQuery
(
activityPost
);
}
...
...
src/main/java/org/genesys2/server/service/filter/ArticleFilter.java
View file @
f4a9aed4
...
...
@@ -46,7 +46,7 @@ public class ArticleFilter extends AuditedVersionedModelFilter<ArticleFilter, Ar
public
Boolean
template
;
@Override
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
return
buildQuery
(
article
);
}
...
...
@@ -57,7 +57,7 @@ public class ArticleFilter extends AuditedVersionedModelFilter<ArticleFilter, Ar
*/
public
Predicate
buildQuery
(
QArticle
article
)
{
final
BooleanBuilder
and
=
new
BooleanBuilder
();
super
.
build
Query
(
article
,
article
.
_super
.
_super
.
_super
,
and
);
super
.
build
Predicate
(
article
,
article
.
_super
.
_super
.
_super
,
and
);
if
(
CollectionUtil
.
isNotEmpty
(
lang
))
{
and
.
and
(
article
.
lang
.
in
(
lang
));
...
...
src/main/java/org/genesys2/server/service/filter/CountryFilter.java
View file @
f4a9aed4
...
...
@@ -45,7 +45,7 @@ public class CountryFilter extends BasicModelFilter<CountryFilter, Country> {
*
* @return the predicate
*/
public
Predicate
build
Query
()
{
public
Predicate
build
Predicate
()
{
return
buildQuery
(
country
);
}
...
...
@@ -57,7 +57,7 @@ public class CountryFilter extends BasicModelFilter<CountryFilter, Country> {
*/
public
Predicate
buildQuery
(
QCountry
country
)
{
final
BooleanBuilder
and
=
new
BooleanBuilder
();
super
.
build
Query
(
country
,
country
.
_super
,
and
);
super
.
build
Predicate
(
country
,
country
.
_super
,
and
);
if
(
iso3
!=
null
&&
!
iso3
.
isEmpty
())
{
and
.
and
(
country
.
code3
.
in
(
iso3
));
...
...
src/main/java/org/genesys2/server/service/filter/GeoRegionFilter.java
View file @
f4a9aed4
...
...
@@ -37,7 +37,7 @@ public class GeoRegionFilter extends BasicModelFilter<GeoRegionFilter, GeoRegion
*
* @return the predicate
*/
public
Predicate
build
Query
()
{