39 |
39 |
@Qualifier("cdmRepository")
|
40 |
40 |
private CdmRepository repo;
|
41 |
41 |
|
42 |
|
|
43 |
|
public CdmFilterablePagingProvider<Reference,Reference> referencePagingProvider(){
|
44 |
|
return inReferencePagingProvider(null);
|
|
42 |
public CdmFilterablePagingProvider<Reference, Reference> referencePagingProvider() {
|
|
43 |
return inReferencePagingProvider(null, false);
|
45 |
44 |
}
|
46 |
45 |
|
47 |
|
public CdmFilterablePagingProvider<Reference,Reference> inReferencePagingProvider(ReferenceType subReferenceType){
|
|
46 |
/**
|
|
47 |
*
|
|
48 |
* @param subReferenceType
|
|
49 |
* the type of the reference for which to the paging provider is
|
|
50 |
* to be created
|
|
51 |
* @param includeUnspecificTypes
|
|
52 |
* Whether to include references with the types
|
|
53 |
* {@link ReferenceType.Generic Generic} and {@code null},
|
|
54 |
* @return
|
|
55 |
*/
|
|
56 |
public CdmFilterablePagingProvider<Reference, Reference> inReferencePagingProvider(ReferenceType subReferenceType,
|
|
57 |
boolean includeUnspecificTypes) {
|
48 |
58 |
List<OrderHint> referenceOrderHints = new ArrayList<OrderHint>();
|
49 |
59 |
referenceOrderHints.add(OrderHint.ORDER_BY_TITLE_CACHE);
|
50 |
60 |
referenceOrderHints.add(new OrderHint("issn", SortOrder.ASCENDING));
|
51 |
61 |
referenceOrderHints.add(new OrderHint("isbn", SortOrder.ASCENDING));
|
52 |
|
CdmFilterablePagingProvider<Reference,Reference> pagingProvider = new CdmFilterablePagingProvider<Reference, Reference>(
|
|
62 |
CdmFilterablePagingProvider<Reference, Reference> pagingProvider = new CdmFilterablePagingProvider<Reference, Reference>(
|
53 |
63 |
repo.getReferenceService(), MatchMode.ANYWHERE, referenceOrderHints);
|
54 |
64 |
|
55 |
65 |
Set<ReferenceType> inRefTypes = subReferenceType.inReferenceContraints(subReferenceType);
|
56 |
66 |
|
57 |
|
if(!inRefTypes.isEmpty()){
|
58 |
|
inRefTypes.add(ReferenceType.Generic); // generic references and those with missing type are always valid
|
59 |
|
inRefTypes.add(null);
|
60 |
|
pagingProvider.addRestriction(new Restriction<ReferenceType>("type", null, inRefTypes.toArray(new ReferenceType[inRefTypes.size()])));
|
|
67 |
if (!inRefTypes.isEmpty()) {
|
|
68 |
if (includeUnspecificTypes) {
|
|
69 |
inRefTypes.add(ReferenceType.Generic);
|
|
70 |
inRefTypes.add(null);
|
|
71 |
}
|
|
72 |
pagingProvider.addRestriction(new Restriction<ReferenceType>("type", null,
|
|
73 |
inRefTypes.toArray(new ReferenceType[inRefTypes.size()])));
|
61 |
74 |
}
|
62 |
75 |
|
63 |
76 |
return pagingProvider;
|
64 |
77 |
}
|
65 |
78 |
|
66 |
|
public TypifiedEntityFilterablePagingProvider<Reference> referenceEntityReferencePagingProvider(ReferenceEllypsisFormatter labelProvider, List<String> initStrategy){
|
|
79 |
public TypifiedEntityFilterablePagingProvider<Reference> referenceEntityReferencePagingProvider(
|
|
80 |
ReferenceEllypsisFormatter labelProvider, List<String> initStrategy) {
|
67 |
81 |
List<OrderHint> referenceOrderHints = new ArrayList<OrderHint>();
|
68 |
82 |
referenceOrderHints.add(OrderHint.ORDER_BY_TITLE_CACHE);
|
69 |
83 |
referenceOrderHints.add(new OrderHint("issn", SortOrder.ASCENDING));
|
... | ... | |
75 |
89 |
return pagingProvider;
|
76 |
90 |
}
|
77 |
91 |
|
78 |
|
public CdmFilterablePagingProvider<TaxonName, TaxonName> taxonNamesWithoutOrthophicIncorrect(){
|
|
92 |
public CdmFilterablePagingProvider<TaxonName, TaxonName> taxonNamesWithoutOrthophicIncorrect() {
|
79 |
93 |
|
80 |
94 |
CdmFilterablePagingProvider<TaxonName, TaxonName> pagingProvider = new CdmFilterablePagingProvider<TaxonName, TaxonName>(
|
81 |
95 |
repo.getNameService());
|
82 |
|
pagingProvider.setInitStrategy(Arrays.asList("registrations", "nomenclaturalReference", "nomenclaturalReference.inReference"));
|
83 |
|
//pagingProvider.addRestriction(new Restriction<>("relationsFromThisName.type", Operator.AND_NOT, null, NameRelationshipType.ORTHOGRAPHIC_VARIANT()));
|
|
96 |
pagingProvider.setInitStrategy(
|
|
97 |
Arrays.asList("registrations", "nomenclaturalReference", "nomenclaturalReference.inReference"));
|
|
98 |
// pagingProvider.addRestriction(new
|
|
99 |
// Restriction<>("relationsFromThisName.type", Operator.AND_NOT, null,
|
|
100 |
// NameRelationshipType.ORTHOGRAPHIC_VARIANT()));
|
84 |
101 |
return pagingProvider;
|
85 |
102 |
}
|
86 |
103 |
|
87 |
|
|
88 |
104 |
}
|
fix #8149 inclusion of NULL and Genric ref types optional and fixing bugy refresh