mirror of
https://github.com/sismics/docs.git
synced 2024-11-22 05:57:57 +01:00
Nullable document metadata can be emptied
This commit is contained in:
parent
00ee2d3bf6
commit
0fab8ff935
@ -27,7 +27,6 @@ import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.Response.Status;
|
||||
import javax.ws.rs.core.StreamingOutput;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.format.DateTimeFormat;
|
||||
import org.joda.time.format.DateTimeFormatter;
|
||||
@ -547,8 +546,8 @@ public class DocumentResource extends BaseResource {
|
||||
}
|
||||
|
||||
// Validate input data
|
||||
title = ValidationUtil.validateLength(title, "title", 1, 100, true);
|
||||
language = ValidationUtil.validateLength(language, "language", 3, 3, true);
|
||||
title = ValidationUtil.validateLength(title, "title", 1, 100, false);
|
||||
language = ValidationUtil.validateLength(language, "language", 3, 3, false);
|
||||
description = ValidationUtil.validateLength(description, "description", 0, 4000, true);
|
||||
subject = ValidationUtil.validateLength(subject, "subject", 0, 500, true);
|
||||
identifier = ValidationUtil.validateLength(identifier, "identifier", 0, 500, true);
|
||||
@ -577,42 +576,22 @@ public class DocumentResource extends BaseResource {
|
||||
}
|
||||
|
||||
// Update the document
|
||||
if (!StringUtils.isEmpty(title)) {
|
||||
document.setTitle(title);
|
||||
}
|
||||
if (!StringUtils.isEmpty(description)) {
|
||||
document.setDescription(description);
|
||||
}
|
||||
if (!StringUtils.isEmpty(subject)) {
|
||||
document.setSubject(subject);
|
||||
}
|
||||
if (!StringUtils.isEmpty(identifier)) {
|
||||
document.setIdentifier(identifier);
|
||||
}
|
||||
if (!StringUtils.isEmpty(publisher)) {
|
||||
document.setPublisher(publisher);
|
||||
}
|
||||
if (!StringUtils.isEmpty(format)) {
|
||||
document.setFormat(format);
|
||||
}
|
||||
if (!StringUtils.isEmpty(source)) {
|
||||
document.setSource(source);
|
||||
}
|
||||
if (!StringUtils.isEmpty(type)) {
|
||||
document.setType(type);
|
||||
}
|
||||
if (!StringUtils.isEmpty(coverage)) {
|
||||
document.setCoverage(coverage);
|
||||
}
|
||||
if (!StringUtils.isEmpty(rights)) {
|
||||
document.setRights(rights);
|
||||
}
|
||||
if (createDate != null) {
|
||||
document.setTitle(title);
|
||||
document.setDescription(description);
|
||||
document.setSubject(subject);
|
||||
document.setIdentifier(identifier);
|
||||
document.setPublisher(publisher);
|
||||
document.setFormat(format);
|
||||
document.setSource(source);
|
||||
document.setType(type);
|
||||
document.setCoverage(coverage);
|
||||
document.setRights(rights);
|
||||
document.setLanguage(language);
|
||||
if (createDate == null) {
|
||||
document.setCreateDate(new Date());
|
||||
} else {
|
||||
document.setCreateDate(createDate);
|
||||
}
|
||||
if (language != null) {
|
||||
document.setLanguage(language);
|
||||
}
|
||||
|
||||
document = documentDao.update(document, principal.getId());
|
||||
|
||||
|
@ -98,6 +98,7 @@
|
||||
<label class="col-sm-2 control-label" for="inputType">Type</label>
|
||||
<div class="col-sm-10">
|
||||
<select class="form-control" id="inputType" name="type" ng-model="document.type" ng-disabled="fileIsUploading">
|
||||
<option value=""></option>
|
||||
<option ng-repeat="vocabulary in vocabularies['type']">{{ vocabulary.value }}</option>
|
||||
</select>
|
||||
</div>
|
||||
@ -106,6 +107,7 @@
|
||||
<label class="col-sm-2 control-label" for="inputCoverage">Coverage</label>
|
||||
<div class="col-sm-10">
|
||||
<select class="form-control" id="inputCoverage" name="coverage" ng-model="document.coverage" ng-disabled="fileIsUploading">
|
||||
<option value=""></option>
|
||||
<option ng-repeat="vocabulary in vocabularies['coverage']">{{ vocabulary.value }}</option>
|
||||
</select>
|
||||
</div>
|
||||
@ -114,6 +116,7 @@
|
||||
<label class="col-sm-2 control-label" for="inputRights">Rights</label>
|
||||
<div class="col-sm-10">
|
||||
<select class="form-control" id="inputRights" name="rights" ng-model="document.rights" ng-disabled="fileIsUploading">
|
||||
<option value=""></option>
|
||||
<option ng-repeat="vocabulary in vocabularies['rights']">{{ vocabulary.value }}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
@ -26,8 +26,8 @@
|
||||
</span>
|
||||
</span>
|
||||
</dd>
|
||||
<dt>Relations</dt>
|
||||
<dd>
|
||||
<dt ng-if="document.relations.length > 0">Relations</dt>
|
||||
<dd ng-if="document.relations.length > 0">
|
||||
<span ng-repeat="relation in document.relations">
|
||||
<span class="btn btn-link btn-xs">
|
||||
<a href="#/document/view/{{ relation.id }}">
|
||||
|
@ -104,7 +104,8 @@ public class TestAclResource extends BaseJerseyTest {
|
||||
json = target().path("/document/" + document1Id).request()
|
||||
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, acl2Token)
|
||||
.post(Entity.form(new Form()
|
||||
.param("title", "My new super document 1")), JsonObject.class);
|
||||
.param("title", "My new super document 1")
|
||||
.param("language", "eng")), JsonObject.class);
|
||||
Assert.assertEquals(document1Id, json.getString("id"));
|
||||
|
||||
// Get the document as acl2
|
||||
|
@ -280,6 +280,7 @@ public class TestDocumentResource extends BaseJerseyTest {
|
||||
.param("source", "My new source for document 1")
|
||||
.param("type", "Image")
|
||||
.param("coverage", "France")
|
||||
.param("language", "eng")
|
||||
.param("rights", "All Rights Reserved")
|
||||
.param("tags", tag2Id)), JsonObject.class);
|
||||
Assert.assertEquals(document1Id, json.getString("id"));
|
||||
@ -289,7 +290,7 @@ public class TestDocumentResource extends BaseJerseyTest {
|
||||
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, document1Token)
|
||||
.post(Entity.form(new Form()
|
||||
.param("title", "My super title document 2")
|
||||
.param("lang", "eng")), JsonObject.class);
|
||||
.param("language", "eng")), JsonObject.class);
|
||||
Assert.assertEquals(document2Id, json.getString("id"));
|
||||
|
||||
// Search documents by query
|
||||
|
@ -85,6 +85,8 @@ public class TestTagResource extends BaseJerseyTest {
|
||||
response = target().path("/document/" + document2Id).request()
|
||||
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, tag1Token)
|
||||
.post(Entity.form(new Form()
|
||||
.param("title", "My super document 2")
|
||||
.param("language", "eng")
|
||||
.param("tags", tag3Id)
|
||||
.param("tags", tag4Id)));
|
||||
Assert.assertEquals(Status.OK, Status.fromStatusCode(response.getStatus()));
|
||||
@ -102,6 +104,8 @@ public class TestTagResource extends BaseJerseyTest {
|
||||
response = target().path("/document/" + document2Id).request()
|
||||
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, tag1Token)
|
||||
.post(Entity.form(new Form()
|
||||
.param("title", "My super document 2")
|
||||
.param("language", "eng")
|
||||
.param("tags", tag4Id)));
|
||||
Assert.assertEquals(Status.OK, Status.fromStatusCode(response.getStatus()));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user