Skip to content

Commit

Permalink
On dataset delete, delete map off worldmap #4093
Browse files Browse the repository at this point in the history
If failure, log and keep going
  • Loading branch information
matthew-a-dunlap committed Nov 6, 2017
1 parent 20c66bc commit bd12a52
Showing 1 changed file with 9 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import edu.harvard.iq.dataverse.Dataset;
import edu.harvard.iq.dataverse.Dataverse;
import edu.harvard.iq.dataverse.IdServiceBean;
import edu.harvard.iq.dataverse.MapLayerMetadataServiceBean;
import edu.harvard.iq.dataverse.authorization.DataverseRole;
import edu.harvard.iq.dataverse.search.IndexServiceBean;
import edu.harvard.iq.dataverse.RoleAssignment;
Expand Down Expand Up @@ -66,13 +67,21 @@ protected void executeImpl(CommandContext ctxt) throws CommandException {
// deleted too!)

Iterator <DataFile> dfIt = doomed.getFiles().iterator();
MapLayerMetadataServiceBean mapBean = new MapLayerMetadataServiceBean();
while (dfIt.hasNext()){
DataFile df = dfIt.next();
// Gather potential Solr IDs of files. As of this writing deaccessioned files are never indexed.
String solrIdOfPublishedFile = IndexServiceBean.solrDocIdentifierFile + df.getId();
datasetAndFileSolrIdsToDelete.add(solrIdOfPublishedFile);
String solrIdOfDraftFile = IndexServiceBean.solrDocIdentifierFile + df.getId() + IndexServiceBean.draftSuffix;
datasetAndFileSolrIdsToDelete.add(solrIdOfDraftFile);
try { //Not run as part of context, if failure code we will keep going
if(mapBean.findMetadataByDatafile(df) != null) {
mapBean.deleteMapLayerFromWorldMap(df, (AuthenticatedUser) getUser());
}
} catch (Exception e) { //If exception deleting from external, keep going
logger.log(Level.SEVERE, "During destruction of dataset: " + e);
}
ctxt.engine().submit(new DeleteDataFileCommand(df, getRequest(), true));
dfIt.remove();
}
Expand Down

0 comments on commit bd12a52

Please sign in to comment.