Package org.dspace.content

Examples of org.dspace.content.MetadataField


        }

        // Find the matching schema object
        MetadataSchema schemaObj = MetadataSchema.find(context, schema);
       
        MetadataField field = new MetadataField();
        field.setSchemaID(schemaObj.getSchemaID());
        field.setElement(element);
        field.setQualifier(qualifier);
        field.setScopeNote(scopeNote);
        field.create(context);
    }
View Full Code Here


            }

            try
            {
                // Update the metadata for a DC type
                MetadataField dc = MetadataField.find(context, UIUtil
                        .getIntParameter(request, "dc_type_id"));
            dc.setElement(request.getParameter("element"));

            String qual = request.getParameter("qualifier");
            if (qual.equals(""))
            {
                qual = null;
            }

            dc.setQualifier(qual);
            dc.setScopeNote(request.getParameter("scope_note"));
                dc.update(context);
                showTypes(context, request, response, schemaID);
            context.complete();
        }
            catch (NonUniqueMetadataException e)
            {
                context.abort();
                log.error(e);
            }
        }
        else if (button.equals("submit_add"))
        {

            // The sanity check will update the request error string if needed
            if (!sanityCheck(request, labels))
            {
                showTypes(context, request, response, schemaID);
                context.abort();
                return;
            }

            // Add a new DC type - simply add to the list, and let the user
            // edit with the main form
            try
            {
                MetadataField dc = new MetadataField();
                dc.setSchemaID(schemaID);
                dc.setElement(request.getParameter("element"));

                String qual = request.getParameter("qualifier");
                if (qual.equals(""))
                {
                    qual = null;
                }

                dc.setQualifier(qual);
                dc.setScopeNote(request.getParameter("scope_note"));
                dc.create(context);
                showTypes(context, request, response, schemaID);
            context.complete();
        }
            catch (NonUniqueMetadataException e)
            {
                // Record the exception as a warning
                log.warn(e);

                // Show the page again but with an error message to inform the
                // user that the metadata field was not created and why
                request.setAttribute("error", labels.getString(clazz
                        + ".createfailed"));
                showTypes(context, request, response, schemaID);
                context.abort();
            }
        }
        else if (button.equals("submit_delete"))
        {
            // Start delete process - go through verification step
            MetadataField dc = MetadataField.find(context, UIUtil
                    .getIntParameter(request, "dc_type_id"));
            request.setAttribute("type", dc);
            JSPManager.showJSP(request, response,
                    "/dspace-admin/confirm-delete-mdfield.jsp");
        }
        else if (button.equals("submit_confirm_delete"))
        {
            // User confirms deletion of type
            MetadataField dc = MetadataField.find(context, UIUtil
                    .getIntParameter(request, "dc_type_id"));
            try
            {
                dc.delete(context);
                request.setAttribute("failed", new Boolean(false));
                showTypes(context, request, response, schemaID);
            } catch (Exception e)
            {
                request.setAttribute("type", dc);
                request.setAttribute("failed", true);
                JSPManager.showJSP(request, response,
                        "/dspace-admin/confirm-delete-mdfield.jsp");
            }
            context.complete();
        }
        else if (button.equals("submit_move"))
        {
            // User requests that one or more metadata elements be moved to a
            // new metadata schema. Note that we change the default schema ID to
            // be the destination schema.
            try
            {
                schemaID = Integer.parseInt(request
                        .getParameter("dc_dest_schema_id"));
                String[] param = request.getParameterValues("dc_field_id");
                if (schemaID == 0 || param == null)
                {
                    request.setAttribute("error", labels.getString(clazz
                            + ".movearguments"));
                    showTypes(context, request, response, schemaID);
                    context.abort();
                }
                else
                {
                    for (int ii = 0; ii < param.length; ii++)
                    {
                        int fieldID = Integer.parseInt(param[ii]);
                        MetadataField field = MetadataField.find(context,
                                fieldID);
                        field.setSchemaID(schemaID);
                        field.update(context);

                    }
            context.complete();
                    
                    // Send the user to the metadata schema in which they just moved
View Full Code Here

    String idsString = parameters.getParameter("fieldIDs", null);
   
    ArrayList<MetadataField> fields = new ArrayList<MetadataField>();
    for (String id : idsString.split(","))
    {
      MetadataField field = MetadataField.find(context,Integer.valueOf(id));
      fields.add(field);
    }
   
    // DIVISION: metadata-field-move
      Division moved = body.addInteractiveDivision("metadata-field-move",contextPath+"/admin/metadata-registry",Division.METHOD_POST,"primary administrative metadata-registry");
      moved.setHead(T_head1);
      moved.addPara(T_para1);
     
      Table table = moved.addTable("metadata-field-move",fields.size() + 1, 3);
        Row header = table.addRow(Row.ROLE_HEADER);
        header.addCell().addContent(T_column1);
        header.addCell().addContent(T_column2);
        header.addCell().addContent(T_column3);
     
      for (MetadataField field : fields)
      {
        String fieldID = String.valueOf(field.getFieldID());
      String fieldEelement = field.getElement();
      String fieldQualifier = field.getQualifier();
     
      MetadataSchema schema = MetadataSchema.find(context, field.getSchemaID());
      String schemaName = schema.getName();
     
      String fieldName = schemaName +"."+ fieldEelement;
      if (fieldQualifier != null && fieldQualifier.length() > 0)
        fieldName += "."+fieldQualifier;
       
      String fieldScopeNote = field.getScopeNote();
       
        Row row = table.addRow();
        row.addCell().addContent(fieldID);
          row.addCell().addContent(fieldName);
          row.addCell().addContent(fieldScopeNote);
View Full Code Here

    String idsString = parameters.getParameter("fieldIDs", null);
   
    ArrayList<MetadataField> fields = new ArrayList<MetadataField>();
    for (String id : idsString.split(","))
    {
      MetadataField field = MetadataField.find(context,Integer.valueOf(id));
      fields.add(field);
    }
    // DIVISION: metadata-field-confirm-delete
      Division deleted = body.addInteractiveDivision("metadata-field-confirm-delete",contextPath+"/admin/metadata-registry",Division.METHOD_POST,"primary administrative metadata-registry");
      deleted.setHead(T_head);
      deleted.addPara(T_para1);
      Para warning = deleted.addPara();
      warning.addHighlight("bold").addContent(T_warning);
      warning.addContent(T_para2);
     
      Table table = deleted.addTable("field-confirm-delete",fields.size() + 1, 3);
        Row header = table.addRow(Row.ROLE_HEADER);
        header.addCell().addContent(T_column1);
        header.addCell().addContent(T_column2);
        header.addCell().addContent(T_column3);
     
      for (MetadataField field : fields)
      {
        if (field == null)
          continue;
       
        String fieldID = String.valueOf(field.getFieldID());
      String fieldEelement = field.getElement();
      String fieldQualifier = field.getQualifier();
     
      MetadataSchema schema = MetadataSchema.find(context, field.getSchemaID());
      String schemaName = schema.getName();
     
      String fieldName = schemaName +"."+ fieldEelement;
      if (fieldQualifier != null && fieldQualifier.length() > 0)
        fieldName += "."+fieldQualifier;
       
      String fieldScopeNote = field.getScopeNote();
       
        Row row = table.addRow();
        row.addCell().addContent(fieldID);
          row.addCell().addContent(fieldName);
          row.addCell().addContent(fieldScopeNote);
View Full Code Here

            throw new HarvestingException("The '" + value.schema + "' schema has not been defined in this DSpace instance. ");
          }
        }
       
        // Verify that the element exists; this part is reachable only if the metadata schema is valid
        MetadataField mdField = MetadataField.findByElement(ourContext, mdSchema.getSchemaID(), value.element, value.qualifier);
        if (mdField == null) {
          if (fieldChoice.equals("add")) {
            mdField = new MetadataField(mdSchema, value.element, value.qualifier, null);
            try {
            mdField.create(ourContext);
            mdField.update(ourContext);
          } catch (NonUniqueMetadataException e) {
            // This case should also not be possible
            e.printStackTrace();
          }
          }
View Full Code Here

        this.isWithdrawn = res.isWithdrawn();
        this.submitter = new UserEntityTrim(res.getSubmitter());

        MetadataValue[] mdValues = ContentHelper.retrieveMetadata(context, res.getID());
        for (MetadataValue mdValue : mdValues) {
            MetadataField mdField = MetadataField.find(context, mdValue.getFieldId());
            MetadataSchema mdSchema = MetadataSchema.find(context, mdField.getSchemaID());
            this.metadata.add(new MetadataEntity(mdValue, mdField, mdSchema));
        }
    }
View Full Code Here

        this.isWithdrawn = item.isWithdrawn();
        this.submitter = new UserEntityTrim(item.getSubmitter());

        MetadataValue[] mdValues = ContentHelper.retrieveMetadata(context,item.getID());
        for (MetadataValue mdValue : mdValues) {
            MetadataField mdField = MetadataField.find(context, mdValue.getFieldId());
            MetadataSchema mdSchema = MetadataSchema.find(context, mdField.getSchemaID());
            this.metadata.add(new MetadataEntity(mdValue, mdField, mdSchema));
        }
    }
View Full Code Here

            if (lang.equals(""))
            {
                lang = null;
            }

            MetadataField field = MetadataField.find(context, dcTypeID);
            MetadataSchema schema = MetadataSchema.find(context, field
                    .getSchemaID());
            item.addMetadata(schema.getName(), field.getElement(), field
                    .getQualifier(), lang, value);
        }

        item.update();
View Full Code Here

    if (result.getErrors() == null)
    {
      try
      {
       
        MetadataField field = new MetadataField();
        field.setSchemaID(schemaID);
        field.setElement(element);
        field.setQualifier(qualifier);
        field.setScopeNote(note);
        field.create(context);
       
        context.commit();
       
        result.setContinue(true);
        result.setOutcome(true);
        result.setMessage(T_add_metadata_field_success_notice);
        result.setParameter("fieldID", field.getFieldID());
      }
      catch (NonUniqueMetadataException nume)
      {
        result.addError("duplicate_field");
      }
View Full Code Here

    // Make sure qualifier is null if blank.
    if ("".equals(qualifier))
      qualifier = null;
   
    // Check to make sure the field is unique, sometimes the NonUniqueMetadataException is not thrown.
    MetadataField possibleDuplicate = MetadataField.findByElement(context, schemaID, element, qualifier);
    if (possibleDuplicate != null && possibleDuplicate.getFieldID() != fieldID)
      result.addError("duplicate_field");
   
    if (result.getErrors() == null)
    { 
      try
      {
        // Update the metadata for a DC type
        MetadataField field = MetadataField.find(context, fieldID);
        field.setElement(element);
        field.setQualifier(qualifier);
        field.setScopeNote(note);
        field.update(context);
       
        context.commit();
       
        result.setContinue(true);
        result.setOutcome(true);
View Full Code Here

TOP

Related Classes of org.dspace.content.MetadataField

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.