+
@FormParam("title") String title,
+ @FormParam("description") String description,
+ @FormParam("subject") String subject,
+ @FormParam("identifier") String identifier,
+ @FormParam("publisher") String publisher,
+ @FormParam("format") String format,
+ @FormParam("source") String source,
+ @FormParam("type") String type,
+ @FormParam("coverage") String coverage,
+ @FormParam("rights") String rights,
+ @FormParam("tags") List<String> tagList,
+ @FormParam("relations") List<String> relationList,
+ @FormParam("metadata_id") List<String> metadataIdList,
+ @FormParam("metadata_value") List<String> metadataValueList,
+ @FormParam("language") String language,
+ @FormParam("create_date") String createDateStr) {
+ if (!authenticate()) {
+ throw new ForbiddenClientException();
+ }
+
+ // Validate input data
+ title = ValidationUtil.validateLength(title, "title", 1, 100, false);
+ language = ValidationUtil.validateLength(language, "language", 3, 7, 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);
+ publisher = ValidationUtil.validateLength(publisher, "publisher", 0, 500, true);
+ format = ValidationUtil.validateLength(format, "format", 0, 500, true);
+ source = ValidationUtil.validateLength(source, "source", 0, 500, true);
+ type = ValidationUtil.validateLength(type, "type", 0, 100, true);
+ coverage = ValidationUtil.validateLength(coverage, "coverage", 0, 100, true);
+ rights = ValidationUtil.validateLength(rights, "rights", 0, 100, true);
+ Date createDate = ValidationUtil.validateDate(createDateStr, "create_date", true);
+ if (!Constants.SUPPORTED_LANGUAGES.contains(language)) {