Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
DARIAH-DE OAI-PMH Services
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
DARIAH-DE
DARIAH-DE OAI-PMH Services
Commits
a7f88d77
Commit
a7f88d77
authored
6 years ago
by
Stefan E. Funk
Browse files
Options
Downloads
Patches
Plain Diff
added logging to setdeliverer.
parent
a31b0986
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
+244
-206
244 additions, 206 deletions
.../src/main/java/info/textgrid/middleware/SetDeliverer.java
with
244 additions
and
206 deletions
oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
+
244
−
206
View file @
a7f88d77
...
@@ -4,8 +4,6 @@ import info.textgrid.middleware.oaipmh.ListSetsType;
...
@@ -4,8 +4,6 @@ import info.textgrid.middleware.oaipmh.ListSetsType;
import
info.textgrid.middleware.oaipmh.SetType
;
import
info.textgrid.middleware.oaipmh.SetType
;
import
info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes
;
import
info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes
;
import
info.textgrid.utils.sesameclient.SesameClient
;
import
info.textgrid.utils.sesameclient.SesameClient
;
import
java.io.UnsupportedEncodingException
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLDecoder
;
import
java.net.URLDecoder
;
import
java.util.Hashtable
;
import
java.util.Hashtable
;
...
@@ -13,7 +11,6 @@ import java.util.Iterator;
...
@@ -13,7 +11,6 @@ import java.util.Iterator;
import
java.util.LinkedHashSet
;
import
java.util.LinkedHashSet
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
import
org.elasticsearch.action.get.GetRequestBuilder
;
import
org.elasticsearch.action.get.GetRequestBuilder
;
import
org.elasticsearch.action.get.GetResponse
;
import
org.elasticsearch.action.get.GetResponse
;
import
org.elasticsearch.action.search.SearchRequestBuilder
;
import
org.elasticsearch.action.search.SearchRequestBuilder
;
...
@@ -22,209 +19,250 @@ import org.elasticsearch.index.query.QueryBuilder;
...
@@ -22,209 +19,250 @@ import org.elasticsearch.index.query.QueryBuilder;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.SearchHit
;
/**
*
*/
public
class
SetDeliverer
{
public
class
SetDeliverer
{
private
OAI_ESClient
oaiEsClient
;
private
static
Map
<
String
,
String
>
setSet
=
new
Hashtable
<
String
,
String
>();
private
SesameClient
sparqlClient
;
private
OAI_ESClient
oaiEsClient
;
public
SetDeliverer
(
OAI_ESClient
oaiEsClient
,
boolean
textgrid
,
boolean
dariah
)
{
private
SesameClient
sparqlClient
;
this
.
oaiEsClient
=
oaiEsClient
;
private
Set
<
String
>
identifier
=
new
LinkedHashSet
<
String
>();
this
.
textgrid
=
textgrid
;
private
String
formatField
;
this
.
dariah
=
dariah
;
private
String
formatToFilter
;
// System.out.println(dariah);
private
String
identifierField
;
}
private
String
repositoryObjectURIPrefix
;
private
String
specField
;
private
Set
<
String
>
identifier
=
new
LinkedHashSet
<
String
>();
private
String
specFieldPrefix
;
private
String
formatField
;
private
Set
<
String
>
project
=
new
LinkedHashSet
<
String
>();
private
String
formatToFilter
;
private
boolean
textgrid
;
private
String
identifierField
;
private
boolean
dariah
;
private
String
repositoryObjectURIPrefix
;
private
String
specField
;
/**
private
String
specFieldPrefix
;
* @param oaiEsClient
private
Set
<
String
>
project
=
new
LinkedHashSet
<
String
>();
* @param textgrid
private
static
Map
<
String
,
String
>
setSet
=
new
Hashtable
<
String
,
String
>();
* @param dariah
private
boolean
textgrid
;
*/
private
boolean
dariah
;
public
SetDeliverer
(
OAI_ESClient
oaiEsClient
,
boolean
textgrid
,
boolean
dariah
)
{
this
.
oaiEsClient
=
oaiEsClient
;
this
.
textgrid
=
textgrid
;
public
ListSetsType
setListBuilder
()
{
this
.
dariah
=
dariah
;
//System.out.println("HALLO !!!!!!!!!!!!!!!!!!!");
}
// System.out.println("DARIAH: " + dariah);
// System.out.println("TEXTGRID: " + textgrid);
/**
ListSetsType
setList
=
new
ListSetsType
();
* @return
QueryBuilder
aggQuery
;
*/
//System.out.println("TEXTGRID: " + textgrid);
public
ListSetsType
setListBuilder
()
{
if
(
textgrid
)
{
aggQuery
=
QueryBuilders
.
matchPhraseQuery
(
"format"
,
TextGridMimetypes
.
DARIAH_COLLECTION
);
String
meth
=
"setListBuilder() > "
;
}
else
{
System
.
out
.
println
(
meth
+
"DARIAH="
+
this
.
dariah
+
", TEXTGRID="
+
this
.
textgrid
);
// System.out.println("JUHU");
aggQuery
=
QueryBuilders
.
matchPhraseQuery
(
"descriptiveMetadata.dc:format"
,
TextGridMimetypes
.
DARIAH_COLLECTION
);
ListSetsType
setList
=
new
ListSetsType
();
}
QueryBuilder
aggQuery
;
if
(
this
.
textgrid
)
{
// System.out.println(aggQuery);
aggQuery
=
QueryBuilders
.
matchPhraseQuery
(
"format"
,
TextGridMimetypes
.
DARIAH_COLLECTION
);
}
else
{
SearchRequestBuilder
request
=
OAI_ESClient
.
getOaiESClient
()
aggQuery
=
QueryBuilders
.
matchPhraseQuery
(
"descriptiveMetadata.dc:format"
,
.
prepareSearch
(
OAI_ESClient
.
getEsIndex
())
TextGridMimetypes
.
DARIAH_COLLECTION
);
.
setTypes
(
OAI_ESClient
.
getEsType
())
}
.
setQuery
(
aggQuery
)
.
addField
(
formatField
)
System
.
out
.
println
(
meth
+
"aggQuery: "
+
aggQuery
);
.
addField
(
identifierField
)
.
addField
(
"project.value"
)
SearchRequestBuilder
request
=
OAI_ESClient
.
getOaiESClient
()
.
addField
(
"project.id"
)
.
prepareSearch
(
OAI_ESClient
.
getEsIndex
()).
setTypes
(
OAI_ESClient
.
getEsType
())
.
setSize
(
100000
);
.
setQuery
(
aggQuery
).
addField
(
this
.
formatField
).
addField
(
this
.
identifierField
)
.
addField
(
"project.value"
).
addField
(
"project.id"
).
setSize
(
100000
);
//System.out.println("QUERY: " + request);
System
.
out
.
println
(
meth
+
"request: "
+
request
);
SearchResponse
getRecordListItems
=
request
.
execute
().
actionGet
();
//System.out.println(getRecordListItems);
SearchResponse
getRecordListItems
=
request
.
execute
().
actionGet
();
for
(
SearchHit
hit
:
getRecordListItems
.
getHits
().
getHits
())
{
//System.out.println("HALLO HALLO");
System
.
out
.
println
(
meth
+
"getRecordListItems:"
+
getRecordListItems
);
//if(hit.getFields().get(formatField) != null && hit.getFields().get(formatField).value().equals(formatToFilter)) {
//System.out.println("IDENTIFIER FIELD: " + identifierField);
for
(
SearchHit
hit
:
getRecordListItems
.
getHits
().
getHits
())
{
// System.out.println("DARIAH SET");
if
(
this
.
dariah
==
true
&&
hit
.
getFields
().
get
(
this
.
identifierField
).
values
().
get
(
0
)
if
(
dariah
==
true
&&
hit
.
getFields
().
get
(
identifierField
).
values
().
get
(
0
).
toString
().
startsWith
(
"hdl:"
)){
.
toString
().
startsWith
(
"hdl:"
))
{
// System.out.println("JUHU");
String
pid
=
hit
.
getFields
().
get
(
this
.
identifierField
).
values
().
get
(
0
).
toString
();
this
.
identifier
.
add
(
hit
.
getFields
().
get
(
identifierField
).
values
().
get
(
0
).
toString
());
this
.
identifier
.
add
(
pid
);
}
System
.
out
.
println
(
meth
+
"PID: "
+
pid
);
}
if
(
textgrid
==
true
){
//System.out.println("HALLO TEXTGRIT");
if
(
this
.
textgrid
==
true
)
{
String
projectName
=
hit
.
getFields
().
get
(
"project.value"
).
values
().
get
(
0
).
toString
();
String
projectName
=
hit
.
getFields
().
get
(
"project.value"
).
values
().
get
(
0
).
toString
();
String
projectID
=
hit
.
getFields
().
get
(
"project.id"
).
values
().
get
(
0
).
toString
();
String
projectID
=
hit
.
getFields
().
get
(
"project.id"
).
values
().
get
(
0
).
toString
();
String
projectSetSpec
=
projectName
.
concat
(
":"
).
concat
(
projectID
);
String
projectSetSpec
=
projectName
.
concat
(
":"
).
concat
(
projectID
);
this
.
setSet
.
put
(
projectID
,
projectName
);
this
.
setSet
.
put
(
projectID
,
projectName
);
System
.
out
.
println
(
meth
+
"projectID: "
+
projectSetSpec
);
}
}
Iterator
it
=
setSet
.
entrySet
().
iterator
();
while
(
it
.
hasNext
())
{
Map
.
Entry
pair
=
(
Map
.
Entry
)
it
.
next
();
//}
SetType
set
=
new
SetType
();
set
.
setSetName
(
pair
.
getValue
().
toString
());
if
(
textgrid
==
true
){
set
.
setSetSpec
(
"project:"
+
pair
.
getKey
().
toString
());
// System.out.println("HALLO GRIT");
setList
.
getSet
().
add
(
set
);
}
Iterator
it
=
setSet
.
entrySet
().
iterator
();
}
}
while
(
it
.
hasNext
()){
Map
.
Entry
pair
=
(
Map
.
Entry
)
it
.
next
();
if
(
this
.
dariah
==
true
)
{
SetType
set
=
new
SetType
();
for
(
String
identifierSetSpec
:
this
.
identifier
)
{
set
.
setSetName
(
pair
.
getValue
().
toString
());
String
id
=
identifierSetSpec
;
set
.
setSetSpec
(
"project:"
+
pair
.
getKey
().
toString
());
try
{
setList
.
getSet
().
add
(
set
);
id
=
URLDecoder
.
decode
(
id
,
"UTF-8"
);
}
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
}
if
(
dariah
==
true
){
id
=
identifierSetSpec
.
substring
(
this
.
repositoryObjectURIPrefix
.
length
());
for
(
String
identifierSetSpec
:
this
.
identifier
)
{
String
id
=
identifierSetSpec
;
GetRequestBuilder
collectionNameById
=
try
{
OAI_ESClient
.
getOaiESClient
().
prepareGet
().
setIndex
(
OAI_ESClient
.
getEsIndex
())
id
=
URLDecoder
.
decode
(
id
,
"UTF-8"
);
.
setType
(
OAI_ESClient
.
getEsType
()).
setFields
(
this
.
specField
).
setId
(
id
);
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
GetResponse
setSpec
=
collectionNameById
.
execute
().
actionGet
();
}
String
setName
=
""
;
if
(
setSpec
!=
null
&&
setSpec
.
isExists
())
{
id
=
identifierSetSpec
.
substring
(
repositoryObjectURIPrefix
.
length
());
if
(
setSpec
.
getField
(
this
.
specField
)
!=
null
)
{
setName
=
setSpec
.
getField
(
this
.
specField
).
getValue
().
toString
();
}
GetRequestBuilder
collectionNameById
=
OAI_ESClient
}
.
getOaiESClient
().
prepareGet
()
.
setIndex
(
OAI_ESClient
.
getEsIndex
())
SetType
set
=
new
SetType
();
.
setType
(
OAI_ESClient
.
getEsType
())
set
.
setSetName
(
setName
);
.
setFields
(
specField
)
set
.
setSetSpec
(
this
.
specFieldPrefix
+
id
);
.
setId
(
id
);
setList
.
getSet
().
add
(
set
);
}
GetResponse
setSpec
=
collectionNameById
.
execute
().
actionGet
();
}
String
setName
=
""
;
if
(
setSpec
!=
null
&&
setSpec
.
isExists
()){
this
.
identifier
.
clear
();
if
(
setSpec
.
getField
(
specField
)
!=
null
)
{
setName
=
setSpec
.
getField
(
specField
).
getValue
().
toString
();
return
setList
;
}
}
}
SetType
set
=
new
SetType
();
/**
* @return
set
.
setSetName
(
setName
);
*/
set
.
setSetSpec
(
specFieldPrefix
+
id
);
public
String
getFormatField
()
{
setList
.
getSet
().
add
(
set
);
return
this
.
formatField
;
}
}
/**
}
* @param formatField
identifier
.
clear
();
*/
return
setList
;
public
void
setFormatField
(
String
formatField
)
{
this
.
formatField
=
formatField
;
}
}
public
String
getFormatField
()
{
public
String
getFormatToFilter
()
{
return
formatField
;
return
this
.
formatToFilter
;
}
}
public
void
setFormatField
(
String
formatField
)
{
this
.
formatField
=
formatField
;
/**
}
* @param formatToFilter
*/
public
String
getFormatToFilter
()
{
public
void
setFormatToFilter
(
String
formatToFilter
)
{
return
formatToFilter
;
this
.
formatToFilter
=
formatToFilter
;
}
}
public
void
setFormatToFilter
(
String
formatToFilter
)
{
/**
this
.
formatToFilter
=
formatToFilter
;
* @return
}
*/
public
String
getIdentifierField
()
{
public
String
getIdentifierField
()
{
return
this
.
identifierField
;
return
identifierField
;
}
}
/**
public
void
setIdentifierField
(
String
identifierField
)
{
* @param identifierField
this
.
identifierField
=
identifierField
;
*/
}
public
void
setIdentifierField
(
String
identifierField
)
{
this
.
identifierField
=
identifierField
;
public
String
getRepositoryObjectURIPrefix
()
{
}
return
repositoryObjectURIPrefix
;
}
/**
* @return
public
void
setRepositoryObjectURIPrefix
(
String
repositoryObjectURIPrefix
)
{
*/
this
.
repositoryObjectURIPrefix
=
repositoryObjectURIPrefix
;
public
String
getRepositoryObjectURIPrefix
()
{
}
return
this
.
repositoryObjectURIPrefix
;
}
public
String
getSpecField
()
{
return
specField
;
/**
}
* @param repositoryObjectURIPrefix
*/
public
void
setSpecField
(
String
titleField
)
{
public
void
setRepositoryObjectURIPrefix
(
String
repositoryObjectURIPrefix
)
{
this
.
specField
=
titleField
;
this
.
repositoryObjectURIPrefix
=
repositoryObjectURIPrefix
;
}
}
public
String
getSpecFieldPrefix
()
{
/**
return
specFieldPrefix
;
* @return
}
*/
public
String
getSpecField
()
{
public
void
setSpecFieldPrefix
(
String
specFieldPrefix
)
{
return
this
.
specField
;
this
.
specFieldPrefix
=
specFieldPrefix
;
}
}
/**
public
boolean
isTextgrid
()
{
* @param titleField
return
textgrid
;
*/
}
public
void
setSpecField
(
String
titleField
)
{
this
.
specField
=
titleField
;
public
void
setTextgrid
(
boolean
textgrid
)
{
}
this
.
textgrid
=
textgrid
;
}
/**
* @return
public
boolean
isDariah
()
{
*/
return
dariah
;
public
String
getSpecFieldPrefix
()
{
}
return
this
.
specFieldPrefix
;
}
public
void
setDariah
(
boolean
dariah
)
{
this
.
dariah
=
dariah
;
/**
}
* @param specFieldPrefix
*/
public
SesameClient
getSparqlClient
()
{
public
void
setSpecFieldPrefix
(
String
specFieldPrefix
)
{
return
sparqlClient
;
this
.
specFieldPrefix
=
specFieldPrefix
;
}
}
public
void
setSparqlClient
(
SesameClient
sparqlClient
)
{
/**
this
.
sparqlClient
=
sparqlClient
;
* @return
}
*/
public
boolean
isTextgrid
()
{
return
this
.
textgrid
;
}
/**
* @param textgrid
*/
public
void
setTextgrid
(
boolean
textgrid
)
{
this
.
textgrid
=
textgrid
;
}
/**
* @return
*/
public
boolean
isDariah
()
{
return
this
.
dariah
;
}
/**
* @param dariah
*/
public
void
setDariah
(
boolean
dariah
)
{
this
.
dariah
=
dariah
;
}
/**
* @return
*/
public
SesameClient
getSparqlClient
()
{
return
this
.
sparqlClient
;
}
/**
* @param sparqlClient
*/
public
void
setSparqlClient
(
SesameClient
sparqlClient
)
{
this
.
sparqlClient
=
sparqlClient
;
}
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment