105 |
/*Configuration node names*/ |
/*Configuration node names*/ |
106 |
protected final String ATTRIBUTE_NAME_ADMIN_EMAIL = OAIObject.Node.Name.ADMIN_EMAIL; |
protected final String ATTRIBUTE_NAME_ADMIN_EMAIL = OAIObject.Node.Name.ADMIN_EMAIL; |
107 |
protected final String ATTRIBUTE_NAME_NAME = "name"; |
protected final String ATTRIBUTE_NAME_NAME = "name"; |
108 |
|
protected final String ATTRIBUTE_NAME_BASE_URL = OAIObject.Node.Name.BASE_URL; |
109 |
protected final String ATTRIBUTE_NAME_QUERY = "query"; |
protected final String ATTRIBUTE_NAME_QUERY = "query"; |
110 |
protected final String ATTRIBUTE_NAME_NO_PER_RESPONSE = "noPerResponse"; |
protected final String ATTRIBUTE_NAME_NO_PER_RESPONSE = "noPerResponse"; |
111 |
protected final String ELEMENT_NAME_OAI_SETS = "oai-sets"; |
protected final String ELEMENT_NAME_OAI_SETS = "oai-sets"; |
154 |
super.adminEmail = configuration.getAttribute(ATTRIBUTE_NAME_ADMIN_EMAIL); |
super.adminEmail = configuration.getAttribute(ATTRIBUTE_NAME_ADMIN_EMAIL); |
155 |
//repository human readable name |
//repository human readable name |
156 |
super.repositoryName = configuration.getAttribute(ATTRIBUTE_NAME_NAME); |
super.repositoryName = configuration.getAttribute(ATTRIBUTE_NAME_NAME); |
157 |
|
//the base url of the repo |
158 |
|
super.baseURL = configuration.getAttribute(ATTRIBUTE_NAME_BASE_URL); |
159 |
|
configureEarliestDatestamp(); |
160 |
this.numberPerResponse = configuration.getAttributeAsInteger(ATTRIBUTE_NAME_NO_PER_RESPONSE, 1000); |
this.numberPerResponse = configuration.getAttributeAsInteger(ATTRIBUTE_NAME_NO_PER_RESPONSE, 1000); |
161 |
configureSets(configuration); |
configureSets(configuration); |
162 |
configureFormats(configuration); |
configureFormats(configuration); |
166 |
|
|
167 |
} |
} |
168 |
|
|
169 |
|
protected void configureEarliestDatestamp() { |
170 |
|
//run a sdxall:1 query sort ascending and take the first result |
171 |
|
Date tempEarliestDate = fr.gouv.culture.sdx.utils.Date.getUtcIso8601Date();//defaulted |
172 |
|
try { |
173 |
|
ResultDocuments rdocs = executeQueryForRequestParams(null); |
174 |
|
if (rdocs != null){ |
175 |
|
Document hitDoc = rdocs.getDocument(0).getDocument(); |
176 |
|
//getting the date of the first result in the ascending sort order |
177 |
|
String moddate = hitDoc.get(LuceneDocumentBase.INTERNAL_FIELD_NAME_SDXMODDATE); |
178 |
|
if (Utilities.checkString(moddate)) |
179 |
|
tempEarliestDate = DateField.stringToDate(moddate); |
180 |
|
} |
181 |
|
} catch (SDXException e) { |
182 |
|
Utilities.logWarn(logger, null, e); |
183 |
|
} finally { |
184 |
|
super.earliestDatestamp = fr.gouv.culture.sdx.utils.Date.formatUtcISO8601Date(tempEarliestDate); |
185 |
|
} |
186 |
|
|
187 |
|
} |
188 |
|
|
189 |
private void configureDatabase(Configuration configuration) throws ConfigurationException { |
private void configureDatabase(Configuration configuration) throws ConfigurationException { |
190 |
DatabaseBacked internalDb = new DatabaseBacked(); |
DatabaseBacked internalDb = new DatabaseBacked(); |
191 |
try { |
try { |