Package org.apache.oodt.cas.filemgr.structs

Examples of org.apache.oodt.cas.filemgr.structs.Product


    }
  }

  private void deliverProductAsZip(HttpServletRequest req,
      HttpServletResponse res, String productID) throws CatalogException {
    Product product = client.getProductById(productID);
    product.setProductReferences(client.getProductReferences(product));
    Metadata metadata = client.getMetadata(product);

    // we'll be delivering a zip
    res.addHeader(CONTENT_TYPE_HDR, FORMAT_ZIP);
View Full Code Here


  }

  private void deliverProductFile(HttpServletRequest req,
      HttpServletResponse res, int index, String productID)
      throws CatalogException, IOException {
    Product product = client.getProductById(productID);
    List refs = client.getProductReferences(product);
    Reference ref = (Reference) refs.get(index);
    res.addHeader(CONTENT_LENGTH_HDR, String.valueOf(ref.getFileSize()));
    String contentType = (ref.getMimeType() != null
        && ref.getMimeType().getName() != null && !ref.getMimeType().getName()
View Full Code Here

        queryResultHash.put("metadata", queryResult.getMetadata().getHashtable());
        return queryResultHash;
    }
   
    public static QueryResult getQueryResultFromXmlRpc(Hashtable<String, Object> queryResultHash) {
        Product product = getProductFromXmlRpc((Hashtable<String, Object>) queryResultHash.get("product"));
        Metadata metadata = new Metadata();
        metadata.addMetadata((Hashtable<String, Object>) queryResultHash.get("metadata"));
        QueryResult queryResult = new QueryResult(product, metadata);
        queryResult.setToStringFormat((String) queryResultHash.get("toStringFormat"));
        return queryResult;
View Full Code Here

                .getProductReferences()));
        return productHash;
    }

    public static Product getProductFromXmlRpc(Hashtable<String, Object> productHash) {
        Product product = new Product();

        product.setProductId((String) productHash.get("id"));
        product.setProductName((String) productHash.get("name"));
        product.setProductType(getProductTypeFromXmlRpc((Hashtable<String, Object>) productHash.get("type")));
        product.setProductStructure((String) productHash.get("structure"));
        product.setTransferStatus((String) productHash.get("transferStatus"));
        product.setProductReferences(getReferencesFromXmlRpc((Vector<Hashtable<String, Object>>) productHash
                        .get("references")));
        return product;
    }
View Full Code Here

    public static List<Product> getProductListFromXmlRpc(Vector<Hashtable<String, Object>> productVector) {
        List<Product> productList = new Vector<Product>();

        for (Iterator<Hashtable<String, Object>> i = productVector.iterator(); i.hasNext();) {
            Hashtable<String, Object> productHash = i.next();
            Product product = getProductFromXmlRpc(productHash);
            productList.add(product);
        }

        return productList;
    }
View Full Code Here

        if (products == null) {
            return productVector;
        }

        for (Iterator<Product> i = products.iterator(); i.hasNext();) {
            Product product = i.next();
            Hashtable<String, Object> productHash = getXmlRpcProduct(product);
            productVector.add(productHash);
        }

        return productVector;
View Full Code Here

      Element rdf = XMLUtils.addNode(doc, doc, "rdf:RDF");
      RDFUtils.addNamespaces(doc, rdf, this.rdfConf);

      for (Iterator<Product> i = products.iterator(); i.hasNext();) {
        Product p = i.next();

        String productTypeIdStr = p.getProductType().getProductTypeId();
        ProductType productType = null;

        if (type != null) {
          productType = type;
        } else {
          try {
            productType = fClient.getProductTypeById(productTypeIdStr);
          } catch (RepositoryManagerException e) {
            e.printStackTrace();
            LOG.log(Level.SEVERE,
                "Unable to obtain product type from product type id: ["
                    + ((Product) products.get(0)).getProductType()
                        .getProductTypeId() + "]: Message: " + e.getMessage());
            return;
          }
        }

        p.setProductType(productType);

        Element productRdfDesc = XMLUtils.addNode(doc, rdf, this.rdfConf
            .getTypeNs(productType.getName())
            + ":" + productType.getName());
        XMLUtils.addAttribute(doc, productRdfDesc, "rdf:about", base
            + "?productID=" + p.getProductId());

        // now add all its metadata
        Metadata prodMetadata = safeGetMetadata(p);

        // for all of its metadata keys and values, loop through them
View Full Code Here

    private void exportProductsToDest(List products, ProductType type)
            throws Exception {
        if (products != null && products.size() > 0) {
            for (Iterator i = products.iterator(); i.hasNext();) {
                Product p = (Product) i.next();

                if (ensureUnique) {
                    boolean hasProduct = safeHasProductTypeByName(p
                            .getProductName());
                    if (hasProduct) {
                        LOG.log(Level.INFO, "Skipping product: ["
                                + p.getProductName()
                                + "]: ensure unique enabled: "
                                + "product exists in dest catalog");
                        continue;
                    }
                }

                p.setProductType(type);
                if (sourceClient != null) {
                    p
                            .setProductReferences(sourceClient
                                    .getProductReferences(p));
                } else
                    p.setProductReferences(srcCatalog.getProductReferences(p));

                Metadata met = null;

                if (sourceClient != null) {
                    met = sourceClient.getMetadata(p);
                } else {
                    met = srcCatalog.getMetadata(p);
                }

                LOG
                        .log(
                                Level.INFO,
                                "Source Product: ["
                                        + p.getProductName()
                                        + "]: Met Extraction and "
                                        + "Reference Extraction successful: writing to dest file manager");

                // remove the default CAS fields for metadata
                met.removeMetadata("CAS.ProductId");
                met.removeMetadata("CAS.ProductReceivedTime");
                met.removeMetadata("CAS.ProductName");

                Product destProduct = new Product();
                // copy through
                destProduct.setProductName(p.getProductName());
                destProduct.setProductStructure(p.getProductStructure());
                destProduct.setProductType((destClient != null) ? destClient
                        .getProductTypeById(type.getProductTypeId()) : type);
                destProduct.setTransferStatus(p.getTransferStatus());

                LOG.log(Level.INFO, "Cataloging Product: ["
                        + p.getProductName() + "]");
                String destProductId = null;
                if (destCatalog != null) {
                    destCatalog.addProduct(destProduct);
                    destProductId = destProduct.getProductId();
                } else
                    destProductId = destClient.catalogProduct(destProduct);
                LOG.log(Level.INFO, "Catalog successful: dest product id: ["
                        + destProductId + "]");
                destProduct.setProductId(destProductId);

                LOG.log(Level.INFO, "Adding references for dest product: ["
                        + destProductId + "]");
                destProduct.setProductReferences(p.getProductReferences());
                if (destCatalog != null) {
                    destCatalog.addProductReferences(destProduct);
                } else
                    destClient.addProductReferences(destProduct);
                LOG.log(Level.INFO,
View Full Code Here

        return prodIds;
    }

    private void remove(String productId) {
        Product target = null;

        try {
            target = client.getProductById(productId);
        } catch (CatalogException e) {
            LOG.log(Level.WARNING, "Unable to obtain product : [" + productId
                    + "] from file manager: [" + client.getFileManagerUrl()
                    + "]: Message: " + e.getMessage());
        }

        if (target == null) {
            // could not file product
            return;
        }

        // delete references first
        Vector refs = new Vector();

        try {
            refs = (Vector) client.getProductReferences(target);
        } catch (CatalogException e) {
            LOG.log(Level.WARNING,
                    "Unable to obtain references for product : [" + productId
                            + "] from file manager: ["
                            + client.getFileManagerUrl() + "]: Message: "
                            + e.getMessage());
        }

        for (int i = 0; i < refs.size(); i++) {
            Reference ref = (Reference) refs.get(i);

            if (commit) {
                try {
                    client.removeFile(new File(new URI(ref
                            .getDataStoreReference())).getAbsolutePath());
                } catch (DataTransferException e) {
                    LOG.log(Level.WARNING, "Unable to delete reference : ["
                            + ref.getDataStoreReference() + "] for product : ["
                            + productId + "] from file manager : ["
                            + client.getFileManagerUrl() + "]: Message: "
                            + e.getMessage());
                } catch (URISyntaxException e) {
                    LOG.log(Level.WARNING,
                            "uri syntax exception getting file absolute path from URI: ["
                                    + ref.getDataStoreReference()
                                    + "]: Message: " + e.getMessage());
                }
            } else {
                LOG.log(Level.INFO, "Delete file: ["
                        + ref.getDataStoreReference() + "]");
            }

        }

        if (commit) {

            // now delete product
            try {
                client.removeProduct(target);
            } catch (CatalogException e) {
                LOG.log(Level.WARNING, "Unable to remove product : ["
                        + productId + "] from file manager: ["
                        + client.getFileManagerUrl() + "]: Message: "
                        + e.getMessage());
            }
        } else {
            LOG.log(Level.INFO, "Remote catalog entry for product: ["
                    + target.getProductName() + "]");
        }

    }
View Full Code Here

        XMLUtils.addNode(doc, channel, "category", productTypeName);
        XMLUtils.addNode(doc, channel, "generator", "CAS File Manager");
        XMLUtils.addNode(doc, channel, "lastBuildDate", buildPubDate);

        for (Iterator i = products.iterator(); i.hasNext();) {
          Product p = (Product) i.next();

          String productTypeIdStr = p.getProductType().getProductTypeId();
          ProductType productType = null;

          try {
            productType = fm.getProductTypeById(productTypeIdStr);
          } catch (RepositoryManagerException e) {
            e.printStackTrace();
            LOG.log(Level.SEVERE,
                "Unable to obtain product type from product type id: ["
                    + ((Product) products.get(0)).getProductType()
                        .getProductTypeId() + "]: Message: " + e.getMessage());
            return;
          }

          p.setProductType(productType);
          p.setProductReferences(safeGetProductReferences(p));

          Element item = XMLUtils.addNode(doc, channel, "item");

          XMLUtils.addNode(doc, item, "title", p.getProductName());
          XMLUtils.addNode(doc, item, "description", p.getProductType()
              .getName());
          XMLUtils.addNode(doc, item, "link", base + "/data?productID="
              + p.getProductId());

          Metadata m = this.safeGetMetadata(p);
          String productReceivedTime = m.getMetadata("CAS.ProductReceivedTime");
          Date receivedTime = null;

          try {
            receivedTime = DateConvert.isoParse(productReceivedTime);
          } catch (ParseException ignore) {
          }

          if (receivedTime != null) {
            XMLUtils.addNode(doc, item, "pubDate", dateFormatter
                .format(receivedTime));
          }

          // add met field for FileSize for use in RSS envelope
          if (p.getProductReferences() != null
              && p.getProductReferences().size() == 1) {
            m.addMetadata("FileSize", String.valueOf(p.getProductReferences()
                .get(0).getFileSize()));
          }

          // add additional elements from the RSSConfig
          for (RSSTag tag : this.conf.getTags()) {
View Full Code Here

TOP

Related Classes of org.apache.oodt.cas.filemgr.structs.Product

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.