Skip to content

Commit

Permalink
mint pid on save
Browse files Browse the repository at this point in the history
  • Loading branch information
kosarko committed Jun 14, 2016
1 parent 9eded0f commit a29897c
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public abstract class AbstractStep extends AbstractDSpaceTransformer
message("xmlui.Submission.general.submission.title");
protected static final Message T_submission_trail =
message("xmlui.Submission.general.submission.trail");
protected static final Message T_submission_head =
protected static Message T_submission_head =
message("xmlui.Submission.general.submission.head");
protected static final Message T_previous =
message("xmlui.Submission.general.submission.previous");
Expand Down Expand Up @@ -182,6 +182,9 @@ public void setup(SourceResolver resolver, Map objectModel, String src, Paramete
throw new ProcessingException(e);
}
this.submission = submissionInfo.getSubmissionItem();
if(this.submission != null && this.submission.getItem() != null){
T_submission_head = T_submission_head.parameterize(submission.getItem().getHandle());
}
}

// Check required error conditions
Expand Down Expand Up @@ -228,7 +231,7 @@ public void addPageMeta(PageMeta pageMeta) throws SAXException,
if (submission instanceof WorkspaceItem)
{
pageMeta.addMetadata("title").addContent(T_submission_title);

Collection collection = submission.getCollection();

pageMeta.addTrailLink(contextPath + "/",T_dspace_home);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -320,16 +320,14 @@ public static int getPage(double stepAndPage)
* @param id The unique ID of the current workspace/workflow
* @param request The cocoon request object.
*/
public static void processSaveOrRemove(Context context, String id, Request request) throws SQLException, AuthorizeException, IOException, IdentifierException {
public static void processSaveOrRemove(Context context, String id, Request request) throws SQLException, AuthorizeException, IOException
{
if (request.getParameter("submit_remove") != null)
{
// If they selected to remove the item then delete everything.
WorkspaceItem workspace = findWorkspace(context,id);
workspace.deleteAll();
context.commit();
}else if (ConfigurationManager.getBooleanProperty("lr","lr.handle.register.on.save",false)){
FlowUtils.reservePID(context, id);
context.commit();
}
}

Expand Down Expand Up @@ -455,16 +453,19 @@ public static String shareSubmission(Map objectModel, String workspaceID) throws
}

public static String reservePID(Context context, String workspaceID) throws IdentifierException, SQLException, AuthorizeException {
if(workspaceID.startsWith("S")){
workspaceID = workspaceID.substring(1);
if(ConfigurationManager.getBooleanProperty("lr", "reserve.pid.on.start", false)) {
if (workspaceID.startsWith("S")) {
workspaceID = workspaceID.substring(1);
}
WorkspaceItem wi = WorkspaceItem.find(context, Integer.parseInt(workspaceID));
Item item = wi.getItem();
IdentifierService identifierService = new DSpace().getSingletonService(IdentifierService.class);
context.turnOffAuthorisationSystem();
identifierService.reserve(context, item);
item.update();
context.restoreAuthSystemState();
return item.getHandle();
}
WorkspaceItem wi = WorkspaceItem.find(context, Integer.parseInt(workspaceID));
Item item = wi.getItem();
IdentifierService identifierService = new DSpace().getSingletonService(IdentifierService.class);
context.turnOffAuthorisationSystem();
identifierService.reserve(context, item);
item.update();
context.restoreAuthSystemState();
return item.getHandle();
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,8 @@ function doSubmission()
workspaceID = workspace.getID();

collectionSelected = true;

FlowUtils.reservePID(getDSContext(), workspaceID);

break; // We don't need to ask them for a collection again.
}
Expand Down Expand Up @@ -442,7 +444,6 @@ function submissionControl(collectionHandle, workspaceID, initStepAndPage)
{
FlowUtils.setBackPageReached(getDSContext(),workspaceID, step, page);
}
FlowUtils.processSaveOrRemove(getDSContext(), workspaceID, cocoon.request);
//share and exit
shareSubmission(workspaceID);
}
Expand Down
2 changes: 1 addition & 1 deletion dspace-xmlui/src/main/webapp/i18n/messages.xml
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@
<message key="xmlui.Submission.general.go_mydspace">Go to My Home</message>
<message key="xmlui.Submission.general.submission.title">Item submission</message>
<message key="xmlui.Submission.general.submission.trail">Item submission</message>
<message key="xmlui.Submission.general.submission.head">Item submission</message>
<message key="xmlui.Submission.general.submission.head">Item submission {0}</message>
<message key="xmlui.Submission.general.submission.previous">&lt; Previous</message>
<message key="xmlui.Submission.general.submission.save">Save &amp; Exit</message>
<message key="xmlui.Submission.general.submission.next">Next &gt;</message>
Expand Down
2 changes: 1 addition & 1 deletion dspace/config/modules/lr.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ lr.pid.community.configurations = ${lr.pid.community.configurations}
# if true, PID metadata will be filled with object metadata like title
lr.pid.resolvemetadata = ${lr.pid.resolvemetadata}

lr.handle.register.on.save = ${lr.handle.register.on.save}
reserve.pid.on.start = ${lr.reserve.pid.on.start}

###### EUDAT replication ######
# switched off by default
Expand Down
2 changes: 1 addition & 1 deletion dspace/modules/xmlui/src/main/webapp/i18n/messages_cs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -732,7 +732,7 @@
<message key="xmlui.Submission.general.go_mydspace">Přejít na mou domovskou stránku</message>
<message key="xmlui.Submission.general.submission.title">Zaslání záznamu</message>
<message key="xmlui.Submission.general.submission.trail">Zaslání záznamu</message>
<message key="xmlui.Submission.general.submission.head">Zaslání záznamu</message>
<message key="xmlui.Submission.general.submission.head">Zaslání záznamu {0}</message>
<message key="xmlui.Submission.general.submission.previous">&lt; Předchozí</message>
<message key="xmlui.Submission.general.submission.save">Uložit a ukončit</message>
<message key="xmlui.Submission.general.submission.next">Další &gt;</message>
Expand Down
2 changes: 1 addition & 1 deletion utilities/project_helpers/bits/messages.template
Original file line number Diff line number Diff line change
Expand Up @@ -605,7 +605,7 @@
<message key="xmlui.Submission.general.go_mydspace">Go to My Home</message>
<message key="xmlui.Submission.general.submission.title">Item submission</message>
<message key="xmlui.Submission.general.submission.trail">Item submission</message>
<message key="xmlui.Submission.general.submission.head">Item submission</message>
<message key="xmlui.Submission.general.submission.head">Item submission {0}</message>
<message key="xmlui.Submission.general.submission.previous">&lt; Previous</message>
<message key="xmlui.Submission.general.submission.save">Save &amp; Exit</message>
<message key="xmlui.Submission.general.submission.next">Next &gt;</message>
Expand Down
2 changes: 1 addition & 1 deletion utilities/project_helpers/config/local.conf.dist
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ handle.canonical.prefix = http://hdl.handle.net/
handle.prefix = 123456789
handle.dir=${dspace.dir}/handle-server

lr.handle.register.on.save = false
lr.reserve.pid.on.start = false


# UFAL mounted assetstore for restricted item harvesting. Please mind the trailing slash
Expand Down

0 comments on commit a29897c

Please sign in to comment.