Skip to content

Commit

Permalink
Add select-a-collection to batch upload UI
Browse files Browse the repository at this point in the history
  • Loading branch information
peterdietz committed Oct 20, 2014
1 parent 0cbfdbe commit 44cd6c0
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,15 @@
import org.dspace.app.bulkedit.MetadataImportInvalidHeadingException;
import org.dspace.app.itemimport.ItemImport;
import org.dspace.app.itemimport.ItemImportOptions;
import org.dspace.app.xmlui.utils.HandleUtil;
import org.dspace.app.xmlui.wing.Message;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection;
import org.dspace.core.Context;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.LogManager;
import org.dspace.eperson.EPerson;
import org.dspace.handle.HandleManager;

/**
* Utility methods to processes BatchImport actions. These methods are used
Expand All @@ -53,6 +55,7 @@ public class FlowBatchImportUtils {
private static final Message T_import_failed = new Message("default", "xmlui.administrative.batchimport.flow.import_failed");
private static final Message T_over_limit = new Message("default", "xmlui.administrative.batchimport.flow.over_limit");
private static final Message T_no_changes = new Message("default", "xmlui.administrative.batchimport.general.no_changes");
private static final Message T_failed_no_collection = new Message("default", "xmlui.administrative.batchimport.flow.failed_no_collection");

// Other variables
private static final int limit = ConfigurationManager.getIntProperty("bulkedit", "gui-item-limit", 20);
Expand Down Expand Up @@ -121,12 +124,29 @@ public static FlowResult processUploadZIP(Context context, Request request) thro
name = name.substring(name.indexOf('\\') + 1);
}


log.info(LogManager.getHeader(context, "batchimport", "loading file"));

// Process CSV without import
ItemImport itemImport = new ItemImport();

String collectionHandle = null;
if (request.get("collectionHandle") != null) {
collectionHandle = request.get("collectionHandle").toString();
} else {
//fail
log.info("batch fail");
result.setContinue(false);
result.setOutcome(false);
result.setMessage(T_failed_no_collection);
return result;
}

Collection collection = (Collection) HandleManager.resolveToObject(context, collectionHandle);
Collection[] collections = new Collection[1];
collections[0] = collection;

log.info("Batch to collection: " + collection.getName());

/*
ItemImportOptions itemImportOptions = new ItemImportOptions();
Expand Down Expand Up @@ -169,18 +189,10 @@ public static FlowResult processUploadZIP(Context context, Request request) thro
-R,--resume resume a failed import (add only)
*/


String sourceBatchDir = ItemImport.unzip(file);



Collection col10 = Collection.find(context, 10);
Collection[] collections = new Collection[1];
collections[0] = col10;
itemImport.addItems(context, collections, sourceBatchDir, mapFile.getAbsolutePath(), true);



if(true)
{
// Success!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@

import java.sql.SQLException;

import org.dspace.app.util.CollectionDropDown;
import org.dspace.app.xmlui.cocoon.AbstractDSpaceTransformer;
import org.dspace.app.xmlui.wing.Message;
import org.dspace.app.xmlui.wing.WingException;
import org.dspace.app.xmlui.wing.element.Body;
import org.dspace.app.xmlui.wing.element.Button;
import org.dspace.app.xmlui.wing.element.Division;
import org.dspace.app.xmlui.wing.element.PageMeta;
import org.dspace.app.xmlui.wing.element.Para;
import org.dspace.app.xmlui.wing.element.*;
import org.dspace.content.Collection;
import org.dspace.content.Community;
import org.dspace.core.Constants;
import org.xml.sax.SAXException;

/**
Expand All @@ -32,9 +32,14 @@ public class BatchImportMain extends AbstractDSpaceTransformer {

private static final Message T_title = message("xmlui.administrative.batchimport.general.title");
private static final Message T_head1 = message("xmlui.administrative.batchimport.general.head1");
private static final Message T_submit_upload = message("xmlui.administrative.batchimport.MetadataImportMain.submit_upload");
private static final Message T_submit_upload = message("xmlui.administrative.batchimport.BatchmportMain.submit_upload");
private static final Message T_trail = message("xmlui.administrative.batchimport.general.trail");

private static final Message T_select_collection = message("xmlui.administrative.batchimport.general.select_collection");
private static final Message T_collection = message("xmlui.administrative.batchimport.general.collection");
private static final Message T_collection_help = message("xmlui.administrative.batchimport.general.collection_help");
private static final Message T_collection_default = message("xmlui.administrative.batchimport.general.collection_default");

public void addPageMeta(PageMeta pageMeta) throws WingException
{
pageMeta.addMetadata("title").addContent(T_title);
Expand All @@ -51,6 +56,23 @@ public void addBody(Body body) throws SAXException, WingException, SQLException
Division div = body.addInteractiveDivision("batch-import",contextPath + "/admin/batchimport", Division.METHOD_MULTIPART,"primary administrative");
div.setHead(T_head1);

//Choose Destination Collection
Collection[] collections = Collection.findAuthorized(context, null, Constants.ADD);

List list = div.addList("select-collection", List.TYPE_FORM);
list.setHead(T_select_collection);
Select select = list.addItem().addSelect("collectionHandle");
select.setAutofocus("autofocus");
select.setLabel(T_collection);
select.setHelp(T_collection_help);

select.addOption("",T_collection_default);
for (Collection collection : collections)
{
select.addOption(collection.getHandle(), CollectionDropDown.collectionPath(collection));
}

//Zip File Upload
Para file = div.addPara();
file.addFile("file");

Expand Down
8 changes: 7 additions & 1 deletion dspace-xmlui/src/main/webapp/i18n/messages.xml
Original file line number Diff line number Diff line change
Expand Up @@ -709,7 +709,7 @@
<message key="xmlui.Submission.submit.ResumeStep.submit_resume">Resume</message>

<!-- org.dspace.app.xmlui.Submission.submit.SelectCollection -->
<message key="xmlui.Submission.submit.SelectCollection.head">Select a collection</message>
<message key="batch">Select a collection</message>
<message key="xmlui.Submission.submit.SelectCollection.collection">Collection</message>
<message key="xmlui.Submission.submit.SelectCollection.collection_help">Select the collection you wish to submit an item to.</message>
<message key="xmlui.Submission.submit.SelectCollection.collection_default">Select a collection...</message>
Expand Down Expand Up @@ -1442,6 +1442,11 @@

<!-- Batch Import Tool -->
<!-- org.dspace.app.xmlui.administrative.batchimport -->
<message key="xmlui.administrative.batchimport.general.select_collection">Select a collection</message>
<message key="xmlui.administrative.batchimport.general.collection">Collection</message>
<message key="xmlui.administrative.batchimport.general.collection_help">Select the collection you wish to submit an item to.</message>
<message key="xmlui.administrative.batchimport.general.collection_default">Select a collection...</message>

<message key="xmlui.administrative.batchimport.general.title">Import Batch Load (ZIP)</message>
<message key="xmlui.administrative.batchimport.general.head1">Import Batch Load (ZIP)</message>
<message key="xmlui.administrative.batchimport.general.trail">Import Batch Load (ZIP)</message>
Expand All @@ -1454,6 +1459,7 @@
<message key="xmlui.administrative.batchimport.flow.upload_badelement">Unknown metadata element in heading</message>
<message key="xmlui.administrative.batchimport.flow.import_successful">Import successful</message>
<message key="xmlui.administrative.batchimport.flow.import_failed">Import failed</message>
<message key="xmlui.administrative.batchimport.flow.failed_no_collection">No Destination Collection Specified</message>

<!-- org.dspace.app.xmlui.administrative.batchimport.BatchImportConfirm -->
<message key="xmlui.administrative.batchimport.BatchmportMain.submit_upload">Upload SimpleArchiveFormat ZIP</message>
Expand Down

0 comments on commit 44cd6c0

Please sign in to comment.