Revision 6135
Added by ben leinfelder almost 13 years ago
ReplicationService.java | ||
---|---|---|
291 | 291 |
String replicate = null; |
292 | 292 |
String server = null; |
293 | 293 |
String dataReplicate = null; |
294 |
String systemMetadataReplicate = null; |
|
294 | 295 |
String hub = null; |
295 | 296 |
Writer out = null; |
296 | 297 |
try { |
... | ... | |
309 | 310 |
|
310 | 311 |
//Get data replication value |
311 | 312 |
dataReplicate = ((String[]) params.get("datareplicate"))[0]; |
313 |
//Get system metadata replication value |
|
314 |
systemMetadataReplicate = ((String[]) params.get("systemmetadatareplicate"))[0]; |
|
312 | 315 |
//Get hub value |
313 | 316 |
hub = ((String[]) params.get("hub"))[0]; |
314 | 317 |
|
315 | 318 |
String toDateSql = DatabaseService.getInstance().getDBAdapter().toDate("01/01/1980","MM/DD/YYYY"); |
316 | 319 |
String sql = "INSERT INTO xml_replication " |
317 |
+ "(server, last_checked, replicate, datareplicate, hub) " |
|
318 |
+ "VALUES (?," + toDateSql + ",?,?,?)"; |
|
320 |
+ "(server, last_checked, replicate, datareplicate, systemmetadatareplicate, hub) "
|
|
321 |
+ "VALUES (?," + toDateSql + ",?,?,?,?)";
|
|
319 | 322 |
|
320 | 323 |
pstmt = dbConn.prepareStatement(sql); |
321 | 324 |
|
322 | 325 |
pstmt.setString(1, server); |
323 | 326 |
pstmt.setInt(2, Integer.parseInt(replicate)); |
324 | 327 |
pstmt.setInt(3, Integer.parseInt(dataReplicate)); |
325 |
pstmt.setInt(4, Integer.parseInt(hub)); |
|
328 |
pstmt.setInt(4, Integer.parseInt(systemMetadataReplicate)); |
|
329 |
pstmt.setInt(5, Integer.parseInt(hub)); |
|
326 | 330 |
|
327 | 331 |
String sqlReport = "XMLAccessAccess.getXMLAccessForDoc - SQL: " + sql; |
328 | 332 |
sqlReport += " [" + server + "," + replicate + |
... | ... | |
336 | 340 |
out.write("Server " + server + " added"); |
337 | 341 |
response.setContentType("text/html"); |
338 | 342 |
out.write("<html><body><table border=\"1\">"); |
339 |
out.write("<tr><td><b>server</b></td><td><b>last_checked</b></td><td>"); |
|
340 |
out.write("<b>replicate</b></td>"); |
|
343 |
out.write("<tr><td><b>server</b></td>"); |
|
344 |
out.write("<td><b>last_checked</b></td>"); |
|
345 |
out.write("<td><b>replicate</b></td>"); |
|
341 | 346 |
out.write("<td><b>datareplicate</b></td>"); |
347 |
out.write("<td><b>systemmetadatareplicate</b></td>"); |
|
342 | 348 |
out.write("<td><b>hub</b></td></tr>"); |
343 |
pstmt = dbConn.prepareStatement("SELECT * FROM xml_replication");
|
|
349 |
pstmt = dbConn.prepareStatement("SELECT serverid, server, last_checked, replicate, datareplicate, systemmetadatareplicate, hub FROM xml_replication");
|
|
344 | 350 |
//increase dbconnection usage |
345 | 351 |
dbConn.increaseUsageCount(1); |
346 | 352 |
|
... | ... | |
352 | 358 |
out.write(rs.getString(3) + "</td><td>"); |
353 | 359 |
out.write(rs.getString(4) + "</td><td>"); |
354 | 360 |
out.write(rs.getString(5) + "</td><td>"); |
355 |
out.write(rs.getString(6) + "</td></tr>"); |
|
361 |
out.write(rs.getString(6) + "</td><td>"); |
|
362 |
out.write(rs.getString(7) + "</td></tr>"); |
|
356 | 363 |
|
357 | 364 |
tablehasrows = rs.next(); |
358 | 365 |
} |
... | ... | |
376 | 383 |
out.write("Server " + server + " deleted"); |
377 | 384 |
response.setContentType("text/html"); |
378 | 385 |
out.write("<html><body><table border=\"1\">"); |
379 |
out.write("<tr><td><b>server</b></td><td><b>last_checked</b></td><td>"); |
|
380 |
out.write("<b>replicate</b></td>"); |
|
386 |
out.write("<tr><td><b>server</b></td>"); |
|
387 |
out.write("<td><b>last_checked</b></td>"); |
|
388 |
out.write("<td><b>replicate</b></td>"); |
|
381 | 389 |
out.write("<td><b>datareplicate</b></td>"); |
390 |
out.write("<td><b>systemmetadatareplicate</b></td>"); |
|
382 | 391 |
out.write("<td><b>hub</b></td></tr>"); |
383 | 392 |
|
384 |
pstmt = dbConn.prepareStatement("SELECT * FROM xml_replication");
|
|
393 |
pstmt = dbConn.prepareStatement("SELECT serverid, server, last_checked, replicate, datareplicate, systemmetadatareplicate, hub FROM xml_replication");
|
|
385 | 394 |
//increase dbconnection usage |
386 | 395 |
dbConn.increaseUsageCount(1); |
387 | 396 |
pstmt.execute(); |
... | ... | |
392 | 401 |
out.write(rs.getString(3) + "</td><td>"); |
393 | 402 |
out.write(rs.getString(4) + "</td><td>"); |
394 | 403 |
out.write(rs.getString(5) + "</td><td>"); |
395 |
out.write(rs.getString(6) + "</td></tr>"); |
|
404 |
out.write(rs.getString(6) + "</td><td>"); |
|
405 |
out.write(rs.getString(7) + "</td></tr>"); |
|
396 | 406 |
tablehasrows = rs.next(); |
397 | 407 |
} |
398 | 408 |
out.write("</table></body></html>"); |
... | ... | |
401 | 411 |
} else if (subaction.equals("list")) { |
402 | 412 |
response.setContentType("text/html"); |
403 | 413 |
out.write("<html><body><table border=\"1\">"); |
404 |
out.write("<tr><td><b>server</b></td><td><b>last_checked</b></td><td>"); |
|
405 |
out.write("<b>replicate</b></td>"); |
|
414 |
out.write("<tr><td><b>server</b></td>"); |
|
415 |
out.write("<td><b>last_checked</b></td>"); |
|
416 |
out.write("<td><b>replicate</b></td>"); |
|
406 | 417 |
out.write("<td><b>datareplicate</b></td>"); |
418 |
out.write("<td><b>systemmetadatareplicate</b></td>"); |
|
407 | 419 |
out.write("<td><b>hub</b></td></tr>"); |
408 |
pstmt = dbConn.prepareStatement("SELECT * FROM xml_replication");
|
|
420 |
pstmt = dbConn.prepareStatement("SELECT serverid, server, last_checked, replicate, datareplicate, systemmetadatareplicate, hub FROM xml_replication");
|
|
409 | 421 |
pstmt.execute(); |
410 | 422 |
ResultSet rs = pstmt.getResultSet(); |
411 | 423 |
boolean tablehasrows = rs.next(); |
... | ... | |
414 | 426 |
out.write(rs.getString(3) + "</td><td>"); |
415 | 427 |
out.write(rs.getString(4) + "</td><td>"); |
416 | 428 |
out.write(rs.getString(5) + "</td><td>"); |
417 |
out.write(rs.getString(6) + "</td></tr>"); |
|
429 |
out.write(rs.getString(6) + "</td><td>"); |
|
430 |
out.write(rs.getString(7) + "</td></tr>"); |
|
431 |
|
|
418 | 432 |
tablehasrows = rs.next(); |
419 | 433 |
} |
420 | 434 |
out.write("</table></body></html>"); |
... | ... | |
1505 | 1519 |
doclist.append(prepareRevisionDoc(dbConn, revisionSql.toString(), |
1506 | 1520 |
replicateData)); |
1507 | 1521 |
|
1508 |
// add the system metadata entries |
|
1509 |
Date since = new Date(System.currentTimeMillis()); |
|
1510 |
since = serverList.getLastCheckedDate(server); |
|
1511 |
List<String> systemMetadataEntries = |
|
1512 |
IdentifierManager.getInstance().getUpdatedSystemMetadataIds(since); |
|
1513 |
for (int i = 0; i < systemMetadataEntries.size(); i++) { |
|
1514 |
String guid = systemMetadataEntries.get(i); |
|
1515 |
doclist.append("<updatedSystemMetadata>"); |
|
1516 |
doclist.append("<guid>"); |
|
1517 |
doclist.append(guid); |
|
1518 |
doclist.append("</guid>"); |
|
1519 |
doclist.append("</updatedSystemMetadata>"); |
|
1522 |
// add the system metadata entries if configured to replicate them |
|
1523 |
boolean replicateSystemMetadata = serverList.getSystemMetadataReplicationValue(server); |
|
1524 |
if (replicateSystemMetadata) { |
|
1525 |
Date since = new Date(System.currentTimeMillis()); |
|
1526 |
since = serverList.getLastCheckedDate(server); |
|
1527 |
List<String> systemMetadataEntries = |
|
1528 |
IdentifierManager.getInstance().getUpdatedSystemMetadataIds(since); |
|
1529 |
for (int i = 0; i < systemMetadataEntries.size(); i++) { |
|
1530 |
String guid = systemMetadataEntries.get(i); |
|
1531 |
doclist.append("<updatedSystemMetadata>"); |
|
1532 |
doclist.append("<guid>"); |
|
1533 |
doclist.append(guid); |
|
1534 |
doclist.append("</guid>"); |
|
1535 |
doclist.append("</updatedSystemMetadata>"); |
|
1536 |
} |
|
1520 | 1537 |
} |
1521 | 1538 |
|
1522 | 1539 |
doclist.append("</updates></replication>"); |
Also available in: Unified diff
add option for replicating system metadata (dataone)
https://redmine.dataone.org/issues/1626