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

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


        return getProduct(rs, true);
    }

    public static Product getProduct(ResultSet rs, boolean getType)
            throws SQLException {
        Product product = new Product();
        product.setProductId(String.valueOf(rs.getInt("product_id")));
        product.setProductName(rs.getString("product_name"));
        product.setProductStructure(rs.getString("product_structure"));
        product.setTransferStatus(rs.getString("product_transfer_status"));
        if (getType) {
            product.setProductType(getProductType(rs));
        } else {
            // still grab the ID
            ProductType type = new ProductType();
            type.setProductTypeId(rs.getString("product_type_id"));
            product.setProductType(type);
        }

        return product;
    }
View Full Code Here


      Map productHash = new HashMap();

      do {
        for (Iterator i = page.getPageProducts().iterator(); i.hasNext();) {
          Product product = (Product) i.next();
          if (alreadyZipped(product, productHash)) {
            continue;
          }

          Metadata metadata = null;
          product.setProductReferences(client.getProductReferences(product));
          metadata = client.getMetadata(product);
          DataUtils.createProductZipFile(product, metadata, productDirPath);
          productHash.put(product.getProductName(), ALREADY_ZIPPED);
        }

        page = client.getNextPage(type, page);

      } while ((page != null && !page.isLastPage())
View Full Code Here

        List<FileTransferStatus> currTransfers = new Vector<FileTransferStatus>();

        for (Iterator<String> i = currentProductTransfers.keySet().iterator(); i
                .hasNext();) {
            String productId = i.next();
            Product p = (Product) currentProductTransfers.get(productId);

            // get its references
            List<Reference> refs = quietGetReferences(p);

            if (refs != null && refs.size() > 0) {
View Full Code Here

            } else
                productStructure = Product.STRUCTURE_FLAT;
        }

        // create the product
        Product product = new Product();
        product.setProductName(productName);
        product.setProductStructure(productStructure);
        product.setProductType(getProductType(productType));

        List<String> references = new Vector<String>();
        if (!fileLocation.endsWith("/")) {
            fileLocation += "/";
        }
View Full Code Here

            System.err.println(usage);
            System.exit(1);
        }

        // construct a new Product
        Product p = new Product();
        p.setProductName(productName);

        if (transferType.equals("dir")) {
            p.setProductStructure(Product.STRUCTURE_HIERARCHICAL);
            dirReference.setDataStoreReference(new File(new URI(productRepo))
                    .toURL().toExternalForm()
                    + URLEncoder.encode(p.getProductName(), "UTF-8") + "/");
            p.getProductReferences().add(dirReference);
            /* we'll do a simple versioning scheme ourselves: no versioning! */
            p.getProductReferences().addAll(
                    VersioningUtils.getReferencesFromDir(new File(new URI(
                            dirReference.getOrigReference()))));
            VersioningUtils.createBasicDataStoreRefsHierarchical(p
                    .getProductReferences());
        } else if (transferType.equals("files")) {
            p.setProductStructure("Flat");
            p.getProductReferences().addAll(fileReferences);
            VersioningUtils.createBasicDataStoreRefsFlat(productName,
                    productRepo, p.getProductReferences());
        }

        DataTransfer transfer = new LocalDataTransferer();
        transfer.transferProduct(p);

View Full Code Here

                products.addAll(getProductsOverDateRange(
                    this.rangeQueryElementName, productType, this.startOfQuery,
                    this.endOfQuery));
            clear();
            for (Iterator<Product> i = products.iterator(); i.hasNext();) {
                Product product = i.next();

                String value = getValueForMetadata(product, uniqueElementName);
                this.uniqueElements.add(value);
            }
        } catch (Exception e) {
View Full Code Here

            throw new InstantiationException(e.getMessage());
        }
    }

    private Metadata getMetadata(String productId) {
        Product product = null;

        try {
            product = this.fmClient.getProductById(productId);
        } catch (Exception e) {
            throw new RuntimeException("Unable to retrieve product:["
                    + productId + "] by id");
        }

        Metadata met = null;

        try {
            met = this.fmClient.getMetadata(product);
        } catch (Exception e) {
            throw new RuntimeException("Unable to get metadata for product: ["
                    + product.getProductName() + "]");
        }

        return met;
    }
View Full Code Here

        for (int i = 0; i < page.getTotalPages(); i++) {
            if (page.getPageProducts() != null
                    && page.getPageProducts().size() > 0) {
                for (Iterator j = page.getPageProducts().iterator(); j
                        .hasNext();) {
                    Product p = (Product) j.next();
                    p.setProductReferences(fmgrClient.getProductReferences(p));
                    Metadata met = fmgrClient.getMetadata(p);
                    Reference r = ((Reference) p.getProductReferences().get(0));
                    String newLocPath = PathUtils.replaceEnvVariables(
                            this.pathSpec, met);

                    LOG.log(Level.INFO, "Moving product: ["
                            + p.getProductName() + "] from: ["
                            + new File(new URI(r.getDataStoreReference()))
                            + "] to: [" + newLocPath + "]");
                    long timeBefore = System.currentTimeMillis();
                    fmgrClient.moveProduct(p, newLocPath);
                    long timeAfter = System.currentTimeMillis();
                    double seconds = ((timeAfter - timeBefore) * 1.0) / (1000.0);
                    LOG.log(Level.INFO, "Product: [" + p.getProductName()
                            + "] move successful: took: [" + seconds
                            + "] seconds");
                }

                if (!page.isLastPage()) {
View Full Code Here

        return addMetadata(p, m);
    }

    public synchronized boolean addProductReferences(Hashtable<String, Object> productHash)
            throws CatalogException {
        Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
        return addProductReferences(product);
    }
View Full Code Here

    public String ingestProduct(Hashtable<String, Object> productHash,
      Hashtable<String, String> metadata, boolean clientTransfer)
      throws VersioningException, RepositoryManagerException,
      DataTransferException, CatalogException {

    Product p = XmlRpcStructFactory.getProductFromXmlRpc(productHash);

    try {
      // first, create the product
      p.setTransferStatus(Product.STATUS_TRANSFER);
      catalogProduct(p);

      // now add the metadata
      Metadata m = new Metadata();
      m.addMetadata((Hashtable)metadata);
      addMetadata(p, m);

      if (!clientTransfer) {
        LOG.log(Level.FINEST,
            "File Manager: ingest: no client transfer enabled, "
                + "server transfering product: [" + p.getProductName() + "]");

        // version the product
        Versioner versioner = null;
        try {
          versioner = GenericFileManagerObjectFactory
              .getVersionerFromClassName(p.getProductType().getVersioner());
          versioner.createDataStoreReferences(p, m);
        } catch (Exception e) {
          LOG.log(Level.SEVERE,
              "ingestProduct: VersioningException when versioning Product: "
                  + p.getProductName() + " with Versioner "
                  + p.getProductType().getVersioner() + ": Message: "
                  + e.getMessage());
          throw new VersioningException(e);
        }

        // add the newly versioned references to the data store
        addProductReferences(p);

        // now transfer the product
        try {
          dataTransfer.transferProduct(p);
          // now update the product's transfer status in the data store
          p.setTransferStatus(Product.STATUS_RECEIVED);

          try {
            catalog.setProductTransferStatus(p);
          } catch (CatalogException e) {
            LOG.log(Level.SEVERE, "ingestProduct: CatalogException "
                + "when updating product transfer status for Product: "
                + p.getProductName() + " Message: " + e.getMessage());
            throw e;
          }
        } catch (Exception e) {
          LOG.log(Level.SEVERE,
              "ingestProduct: DataTransferException when transfering Product: "
                  + p.getProductName() + ": Message: " + e.getMessage());
          throw new DataTransferException(e);
        }
      }

      // that's it!
      return p.getProductId();
    } catch (Exception e) {
      e.printStackTrace();
      throw new CatalogException("Error ingesting product [" + p + "] : "
          + e.getMessage());
    }
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.