Package org.fcrepo.server.storage.types

Examples of org.fcrepo.server.storage.types.DatastreamXMLMetadata


                    (DatastreamManagedContent) reader
                            .GetDatastream(dsID, asOfDateTime);

            mimeTypedStream = new MIMETypedStream(ds.DSMIME, dmc.getContentStream(context), null,ds.DSSize);
        } else if (ds.DSControlGrp.equalsIgnoreCase("X")) {
            DatastreamXMLMetadata dxm =
                    (DatastreamXMLMetadata) reader.GetDatastream(dsID,
                                                                 asOfDateTime);
            mimeTypedStream = new MIMETypedStream(ds.DSMIME, dxm.getContentStream(context), null, ds.DSSize);
        } else if (ds.DSControlGrp.equalsIgnoreCase("R")) {
            DatastreamReferencedContent drc =
                    (DatastreamReferencedContent) reader
                            .GetDatastream(dsID, asOfDateTime);
            // The dsControlGroupType of Redirect("R") is a special control type
View Full Code Here


                             String innerName,
                             Iterable<Datastream> XMLMetadata,
                             PrintWriter writer,
                             String encoding) throws ObjectIntegrityException,
            UnsupportedEncodingException, StreamIOException {
        DatastreamXMLMetadata first =
                (DatastreamXMLMetadata) DOTranslationUtility
                        .setDatastreamDefaults(XMLMetadata
                                .iterator().next());
        writer.print("<");
        writer.print(METS.prefix);
        writer.print(":");
        writer.print(outerName);
        writer.print(" ID=\"");
        writer.print(first.DatastreamID);
        writer.print("\" STATUS=\"");
        writer.print(first.DSState);
        writer.print("\" VERSIONABLE=\"");
        writer.print(first.DSVersionable);
        writer.print("\">\n");
        for (Datastream d : XMLMetadata) {
            DatastreamXMLMetadata ds =
                    (DatastreamXMLMetadata) DOTranslationUtility
                            .setDatastreamDefaults(d);

            writer.print("<");
            writer.print(METS.prefix);
            writer.print(":");
            writer.print(innerName);
            writer.print(" ID=\"");
            writer.print(ds.DSVersionID);
            writer.print("\"");
            if (ds.DSCreateDT != null) {
                writer.print(" CREATED=\"");
                writer.print(DateUtility.convertDateToString(ds.DSCreateDT));
                writer.print("\"");
            }
            writer.print(">\n");




            writer.print("<");
            writer.print(METS.prefix);
            writer.print(":mdWrap MIMETYPE=\"");
            writer.print(StreamUtility.enc(ds.DSMIME));
            writer.print("\" MDTYPE=\"");
            String mdType = ds.DSInfoType;
            if (!mdType.equals("MARC") && !mdType.equals("EAD")
                    && !mdType.equals("DC") && !mdType.equals("NISOIMG")
                    && !mdType.equals("LC-AV") && !mdType.equals("VRA")
                    && !mdType.equals("TEIHDR") && !mdType.equals("DDI")
                    && !mdType.equals("FGDC")) {
                writer.print("OTHER\" OTHERMDTYPE=\"");
                writer.print(StreamUtility.enc(mdType));
            } else {
                writer.print(mdType);
            }
            writer.print("\" ");

            if (ds.DSLabel != null && !ds.DSLabel.equals("")) {
                writer.print(" LABEL=\"");
                writer.print(StreamUtility.enc(ds.DSLabel));
                writer.print("\"");
            }

            if (ds.DSFormatURI != null && !ds.DSFormatURI.equals("")) {
                writer.print(" FORMAT_URI=\"");
                writer.print(StreamUtility.enc(ds.DSFormatURI));
                writer.print("\"");
            }

            String altIds = DOTranslationUtility.oneString(ds.DatastreamAltIDs);
            if (altIds != null && !altIds.equals("")) {
                writer.print(" ALT_IDS=\"");
                writer.print(StreamUtility.enc(altIds));
                writer.print("\"");
            }

            // CHECKSUM and CHECKSUMTYPE are also optional
            String csType = ds.DSChecksumType;
            if (csType != null
                    && csType.length() > 0
                    && !csType.equals(Datastream.CHECKSUMTYPE_DISABLED)) {
                writer.print(" CHECKSUM=\"");
                writer.print(StreamUtility.enc(ds.DSChecksum));
                writer.print("\" CHECKSUMTYPE=\"");
                writer.print(StreamUtility.enc(csType));
                writer.print("\"");
            }

            writer.print(">\n");
            writer.print("<");
            writer.print(METS.prefix);
            writer.print(":xmlData>\n");

            // If WSDL or SERVICE-PROFILE datastream (in SDep)
            // make sure that any embedded URLs are encoded
            // appropriately for either EXPORT or STORE.
            if (obj.hasContentModel(SERVICE_DEPLOYMENT_3_0)
                    && ds.DatastreamID.equals("SERVICE-PROFILE")
                    || ds.DatastreamID.equals("WSDL")) {
                writer.print(DOTranslationUtility
                        .normalizeInlineXML(new String(ds.xmlContent, "UTF-8")
                                .trim(), m_transContext));
            } else {
                DOTranslationUtility.appendXMLStream(ds.getContentStream(),
                                                     writer,
                                                     encoding);
            }
            writer.print("\n</");
            writer.print(METS.prefix);
View Full Code Here

                    obj.datastreams(id).iterator().next();
            // First, work with the first version to get the mdClass set to
            // a proper value required in the METS XML Schema.
            if (firstDS.DSControlGrp.equals("X")
                    && ((DatastreamXMLMetadata) firstDS).DSMDClass != DatastreamXMLMetadata.DESCRIPTIVE) {
                DatastreamXMLMetadata md = (DatastreamXMLMetadata) firstDS;
                // Default mdClass to techMD when a valid one does not appear
                // (say because the object was born as FOXML)
                String mdClass = "techMD";
                if (md.DSMDClass == DatastreamXMLMetadata.TECHNICAL) {
                    mdClass = "techMD";
View Full Code Here

        m_obj.addDatastreamVersion(ds, true);
    }

    private Datastream addInlineDatastreamVersion(Entry entry)
            throws ObjectIntegrityException, StreamIOException {
        DatastreamXMLMetadata ds = new DatastreamXMLMetadata();
        setDSCommonProperties(ds, entry);
        String dsId = ds.DatastreamID;
        String dsvId = ds.DSVersionID;
        ds.DSLocation = m_obj.getPid() + "+" + dsId + "+" + dsvId;
View Full Code Here

                    m_inXMLMetadata = false; // other stuff is re-initted upon
                    // startElement for next xml metadata
                    // element
                } else {
                    // Create the right kind of datastream and add to the object
                    DatastreamXMLMetadata ds = new DatastreamXMLMetadata();
                    instantiateXMLDatastream(ds);
                    m_inXMLMetadata = false;
                    m_localPrefixMap.clear();
                }
            } else {
View Full Code Here

    // Create a system-generated datastream from the RDF expression of the
    // DMDID and ADMID relationships found in the METS file.
    private void setRDFAsDatastream(StringBuffer buf) {

        DatastreamXMLMetadata ds = new DatastreamXMLMetadata();
        // set the attrs common to all datastream versions
        ds.DatastreamID = "RELS-INT";
        ds.DSVersionable = false;
        ds.DSFormatURI = m_dsFormatURI;
        ds.DatastreamAltIDs = m_dsAltIDs;
View Full Code Here

        assertNotNull(message.getDate());
        assertEquals("addDatastream", message.getMethodName());
        assertEquals("demo:foo", message.getPID().toString());
        assertEquals(baseURL, message.getBaseUrl());

        DatastreamXMLMetadata ds = new DatastreamXMLMetadata();
        ds.DatastreamID = "DS1";
        ds.DSVersionID = "DS1.0";
        ds.DSControlGrp = "X";
        ds.xmlContent = "<doc/>".getBytes();
        ds.DSCreateDT = new Date();
View Full Code Here

                    //========================
                    // ALL OTHER INLINE XML...
                    //========================
                } else {
                    // Create the right kind of datastream and add to the object
                    DatastreamXMLMetadata ds = new DatastreamXMLMetadata();
                    instantiateXMLDatastream(ds);
                    m_inXMLMetadata = false;
                    m_localPrefixMap.clear();
                }
            } else {
View Full Code Here

                        new ContextControlPair(SERIALIZE_EXPORT_ARCHIVE, "E"),
                        new ContextControlPair(SERIALIZE_EXPORT_ARCHIVE, "R")};

        // TODO also need one for internal

        ds = new DatastreamXMLMetadata();
        for (ContextControlPair pair : absoluteURLPairs) {
            ds.DSControlGrp = pair.getControlGroup();
            ds.DSLocation =
                    "http://localhost:8080/fedora-demo/simple-image-demo/coliseum-veryhigh.jpg";
            ds2 =
                    DOTranslationUtility.normalizeDSLocationURLs(pid, ds, pair
                            .getContext());
            assertEquals(ds.DSLocation, ds2.DSLocation);

            ds.DSLocation = baseURL + "/get/demo:foo/DS1";
            ds2 =
                    DOTranslationUtility.normalizeDSLocationURLs(pid, ds, pair
                            .getContext());
            assertEquals(ds.DSLocation, ds2.DSLocation);
        }

        ds = new DatastreamXMLMetadata();
        for (ContextControlPair pair : dissemURLPairs) {
            ds.DatastreamID = "DC";
            ds.DSControlGrp = pair.getControlGroup();
            ds.DSLocation =
                    String
                            .format("%s/get/%s/%s",
                                    baseURL,
                                    pid,
                                    ds.DatastreamID);
            System.setProperty("fedoraAppServerContext", getFedoraAppServerContext());
            ds2 =
                    DOTranslationUtility.normalizeDSLocationURLs(pid, ds, pair
                            .getContext());
            assertEquals(ds.DSLocation, ds2.DSLocation);
        }

        ds = new DatastreamXMLMetadata();
        for (ContextControlPair pair : localURLPairs) {
            ds.DatastreamID = "DC";
            ds.DSControlGrp = pair.getControlGroup();
            String url =
                    String
View Full Code Here

                                    + " : Refusing to normalize URLs in datastream "
                                    + dsid + " because it is not inline XML");
                            continue;
                        }

                        DatastreamXMLMetadata xd = (DatastreamXMLMetadata) d;
                        if (logger.isDebugEnabled())
                            logger.debug(obj.getPid() + " : normalising URLs in "
                                + dsid);
                        xd.xmlContent =
                                DOTranslationUtility
View Full Code Here

TOP

Related Classes of org.fcrepo.server.storage.types.DatastreamXMLMetadata

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.