Revision 7519
Added by ben leinfelder about 11 years ago
ReplicationService.java | ||
---|---|---|
78 | 78 |
import edu.ucsb.nceas.metacat.accesscontrol.AccessControlException; |
79 | 79 |
import edu.ucsb.nceas.metacat.accesscontrol.AccessControlForSingleFile; |
80 | 80 |
import edu.ucsb.nceas.metacat.accesscontrol.PermOrderException; |
81 |
import edu.ucsb.nceas.metacat.admin.upgrade.RemoveInvalidReplicas; |
|
81 | 82 |
import edu.ucsb.nceas.metacat.admin.upgrade.dataone.GenerateORE; |
82 | 83 |
import edu.ucsb.nceas.metacat.admin.upgrade.dataone.GenerateSystemMetadata; |
83 | 84 |
import edu.ucsb.nceas.metacat.client.InsufficientKarmaException; |
... | ... | |
402 | 403 |
gore.upgrade(); |
403 | 404 |
out.write("Generated ORE maps for server " + serverid); |
404 | 405 |
|
406 |
} else if (subaction.equals("removeinvalidreplicas")) { |
|
407 |
RemoveInvalidReplicas rir = new RemoveInvalidReplicas(); |
|
408 |
int serverLocation = -1; |
|
409 |
String serverid = ((String[]) params.get("serverid"))[0]; |
|
410 |
serverLocation = Integer.parseInt(serverid); |
|
411 |
rir.setServerLocation(serverLocation ); |
|
412 |
rir.upgrade(); |
|
413 |
out.write("Removed invalid replicas for server " + serverid); |
|
414 |
|
|
405 | 415 |
} else { |
406 | 416 |
|
407 | 417 |
out.write("<error>Unkonwn subaction</error>"); |
... | ... | |
425 | 435 |
if (showGenerateSystemMetadata) { |
426 | 436 |
out.write("<td><b>System Metadata</b></td>"); |
427 | 437 |
out.write("<td><b>ORE Maps</b></td>"); |
438 |
out.write("<td><b>Invalid Replicas</b></td>"); |
|
428 | 439 |
} |
429 | 440 |
out.write("</tr>"); |
430 | 441 |
|
... | ... | |
433 | 444 |
ResultSet rs = pstmt.getResultSet(); |
434 | 445 |
boolean tablehasrows = rs.next(); |
435 | 446 |
while (tablehasrows) { |
447 |
String serverId = rs.getString(1); |
|
436 | 448 |
out.write("<tr><td>" + rs.getString(2) + "</td><td>"); |
437 | 449 |
out.write(rs.getString(3) + "</td><td>"); |
438 | 450 |
out.write(rs.getString(4) + "</td><td>"); |
... | ... | |
441 | 453 |
if (showGenerateSystemMetadata) { |
442 | 454 |
// for SM |
443 | 455 |
out.write("<td><form action='" + request.getContextPath() + "/admin'>"); |
444 |
out.write("<input name='serverid' type='hidden' value='" + rs.getString(1) + "'/>");
|
|
456 |
out.write("<input name='serverid' type='hidden' value='" + serverId + "'/>");
|
|
445 | 457 |
out.write("<input name='configureType' type='hidden' value='replication'/>"); |
446 | 458 |
out.write("<input name='action' type='hidden' value='servercontrol'/>"); |
447 | 459 |
out.write("<input name='subaction' type='hidden' value='generatesystemmetadata'/>"); |
... | ... | |
450 | 462 |
|
451 | 463 |
// for ORE maps |
452 | 464 |
out.write("<td><form action='" + request.getContextPath() + "/admin'>"); |
453 |
out.write("<input name='serverid' type='hidden' value='" + rs.getString(1) + "'/>");
|
|
465 |
out.write("<input name='serverid' type='hidden' value='" + serverId + "'/>");
|
|
454 | 466 |
out.write("<input name='configureType' type='hidden' value='replication'/>"); |
455 | 467 |
out.write("<input name='action' type='hidden' value='servercontrol'/>"); |
456 | 468 |
out.write("<input name='subaction' type='hidden' value='generateore'/>"); |
457 | 469 |
out.write("<input type='submit' value='Generate ORE'/>"); |
458 | 470 |
out.write("</form></td>"); |
471 |
|
|
472 |
// for invalid replicas |
|
473 |
out.write("<td><form action='" + request.getContextPath() + "/admin'>"); |
|
474 |
out.write("<input name='serverid' type='hidden' value='" + serverId + "'/>"); |
|
475 |
out.write("<input name='configureType' type='hidden' value='replication'/>"); |
|
476 |
out.write("<input name='action' type='hidden' value='servercontrol'/>"); |
|
477 |
out.write("<input name='subaction' type='hidden' value='removeinvalidreplicas'/>"); |
|
478 |
String disabled = ""; |
|
479 |
if (Integer.valueOf(serverId) == 1) { |
|
480 |
disabled = "disabled='true'"; |
|
481 |
} |
|
482 |
out.write("<input type='submit' value='Remove Invalid Replicas' " + disabled + " />"); |
|
483 |
out.write("</form></td>"); |
|
459 | 484 |
} |
460 | 485 |
out.write("</tr>"); |
461 | 486 |
|
Also available in: Unified diff
include xml_revisions.
do not allow removal of server_location = 1 documents (these are not replicas).
https://redmine.dataone.org/issues/3539