You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by "Chris A. Mattmann (JIRA)" <ji...@apache.org> on 2011/06/19 06:14:47 UTC

[jira] [Created] (OODT-225) Augment cas-filemgr with the ability to deal with product collections

Augment cas-filemgr with the ability to deal with product collections
---------------------------------------------------------------------

                 Key: OODT-225
                 URL: https://issues.apache.org/jira/browse/OODT-225
             Project: OODT
          Issue Type: New Feature
          Components: file manager
         Environment: from the JPL internal JIRA
            Reporter: Chris A. Mattmann
            Assignee: Chris A. Mattmann
             Fix For: 0.4


This is an issue to track progress towards giving the file manager the ability to deal with product collections. Collections are defined as one or more products, and an associated metadata object. The major design trade off is going to be the level of granularity with regards to how the filemgr will provide collections, in other words, will the file manager natively support a collections object? Or, will the filemgr support collections through the use of additional meta-information in the product object?

I'm leaning towards natively creating an core filemgr object, called ProductCollection, and adding an attribute to the Product class of type ProductCollection, that is an instance of the ProductCollection for which the Product belongs to. So, the Product class would have an additional field, like:

{code:java}
private ProductCollection collection;
{code}

and we'd have an additional class like:

{code:java}
public class ProductCollection{

private String id;

private String name;

private List<Product> products;

private Metadata met;

//....
}
{code}

Collection information would be transferable via XML-RPC using an external API that we would add to the filemgr to support dealing with Collections. The API would look like:

{code:java}
public interface Collectable{
public ProductCollection getCollection(Product p);

public void addProductToCollection(Product p, ProductCollection c);

public List<Product> getProducts(ProductCollection c);

public Metadata getCollectionMetadata(ProductCollection c);
}
{code}

One open issue is whether or not a Product can belong to multiple ProductCollections. I think that ultimately it should be able to, but to keep the API clean and simple for now, we'll restrict a Product's membership to a single ProductCollection.


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (OODT-225) Augment cas-filemgr with the ability to deal with product collections

Posted by "Chris A. Mattmann (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OODT-225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris A. Mattmann updated OODT-225:
-----------------------------------

    Fix Version/s:     (was: 0.4)
                   0.5

- push to 0.5
                
> Augment cas-filemgr with the ability to deal with product collections
> ---------------------------------------------------------------------
>
>                 Key: OODT-225
>                 URL: https://issues.apache.org/jira/browse/OODT-225
>             Project: OODT
>          Issue Type: New Feature
>          Components: file manager
>         Environment: from the JPL internal JIRA
>            Reporter: Chris A. Mattmann
>            Assignee: Chris A. Mattmann
>             Fix For: 0.5
>
>
> This is an issue to track progress towards giving the file manager the ability to deal with product collections. Collections are defined as one or more products, and an associated metadata object. The major design trade off is going to be the level of granularity with regards to how the filemgr will provide collections, in other words, will the file manager natively support a collections object? Or, will the filemgr support collections through the use of additional meta-information in the product object?
> I'm leaning towards natively creating an core filemgr object, called ProductCollection, and adding an attribute to the Product class of type ProductCollection, that is an instance of the ProductCollection for which the Product belongs to. So, the Product class would have an additional field, like:
> {code:java}
> private ProductCollection collection;
> {code}
> and we'd have an additional class like:
> {code:java}
> public class ProductCollection{
> private String id;
> private String name;
> private List<Product> products;
> private Metadata met;
> //....
> }
> {code}
> Collection information would be transferable via XML-RPC using an external API that we would add to the filemgr to support dealing with Collections. The API would look like:
> {code:java}
> public interface Collectable{
> public ProductCollection getCollection(Product p);
> public void addProductToCollection(Product p, ProductCollection c);
> public List<Product> getProducts(ProductCollection c);
> public Metadata getCollectionMetadata(ProductCollection c);
> }
> {code}
> One open issue is whether or not a Product can belong to multiple ProductCollections. I think that ultimately it should be able to, but to keep the API clean and simple for now, we'll restrict a Product's membership to a single ProductCollection.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (OODT-225) Augment cas-filemgr with the ability to deal with product collections

Posted by "Chris A. Mattmann (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OODT-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13051637#comment-13051637 ] 

Chris A. Mattmann commented on OODT-225:
----------------------------------------

>From Dana Freeborn:

{quote}
Further thought and discussion on this issue between Dana and Chris has brought us around to the conclusion that implementing the "1 product -> many product collections" feature is worth implementing sooner rather than later.

The considerations were:

1. What java class/methods are affected by adding this feature?

The answer was two-fold:

a. Change the following interface from

public interface Collectable{
public ProductCollection getCollection(Product p);

to:

public List<ProductCollection> getCollection(Product p);

b. It would also require maintaining a List<ProductCollection> within
the product class, instead of just a ProductCollection singleton
instance.

2. What affects/limitations would this feature have on the choice of backend "database?" For instance, is there a problem representing this type of relationship in Lucene?

The answer was that there is no known issue with implementing this feature in Lucene (the other backend database we currently support).
{quote}


> Augment cas-filemgr with the ability to deal with product collections
> ---------------------------------------------------------------------
>
>                 Key: OODT-225
>                 URL: https://issues.apache.org/jira/browse/OODT-225
>             Project: OODT
>          Issue Type: New Feature
>          Components: file manager
>         Environment: from the JPL internal JIRA
>            Reporter: Chris A. Mattmann
>            Assignee: Chris A. Mattmann
>             Fix For: 0.4
>
>
> This is an issue to track progress towards giving the file manager the ability to deal with product collections. Collections are defined as one or more products, and an associated metadata object. The major design trade off is going to be the level of granularity with regards to how the filemgr will provide collections, in other words, will the file manager natively support a collections object? Or, will the filemgr support collections through the use of additional meta-information in the product object?
> I'm leaning towards natively creating an core filemgr object, called ProductCollection, and adding an attribute to the Product class of type ProductCollection, that is an instance of the ProductCollection for which the Product belongs to. So, the Product class would have an additional field, like:
> {code:java}
> private ProductCollection collection;
> {code}
> and we'd have an additional class like:
> {code:java}
> public class ProductCollection{
> private String id;
> private String name;
> private List<Product> products;
> private Metadata met;
> //....
> }
> {code}
> Collection information would be transferable via XML-RPC using an external API that we would add to the filemgr to support dealing with Collections. The API would look like:
> {code:java}
> public interface Collectable{
> public ProductCollection getCollection(Product p);
> public void addProductToCollection(Product p, ProductCollection c);
> public List<Product> getProducts(ProductCollection c);
> public Metadata getCollectionMetadata(ProductCollection c);
> }
> {code}
> One open issue is whether or not a Product can belong to multiple ProductCollections. I think that ultimately it should be able to, but to keep the API clean and simple for now, we'll restrict a Product's membership to a single ProductCollection.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (OODT-225) Augment cas-filemgr with the ability to deal with product collections

Posted by "Chris A. Mattmann (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OODT-225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris A. Mattmann updated OODT-225:
-----------------------------------


- push out to 0.5
                
> Augment cas-filemgr with the ability to deal with product collections
> ---------------------------------------------------------------------
>
>                 Key: OODT-225
>                 URL: https://issues.apache.org/jira/browse/OODT-225
>             Project: OODT
>          Issue Type: New Feature
>          Components: file manager
>         Environment: from the JPL internal JIRA
>            Reporter: Chris A. Mattmann
>            Assignee: Chris A. Mattmann
>             Fix For: 0.5
>
>
> This is an issue to track progress towards giving the file manager the ability to deal with product collections. Collections are defined as one or more products, and an associated metadata object. The major design trade off is going to be the level of granularity with regards to how the filemgr will provide collections, in other words, will the file manager natively support a collections object? Or, will the filemgr support collections through the use of additional meta-information in the product object?
> I'm leaning towards natively creating an core filemgr object, called ProductCollection, and adding an attribute to the Product class of type ProductCollection, that is an instance of the ProductCollection for which the Product belongs to. So, the Product class would have an additional field, like:
> {code:java}
> private ProductCollection collection;
> {code}
> and we'd have an additional class like:
> {code:java}
> public class ProductCollection{
> private String id;
> private String name;
> private List<Product> products;
> private Metadata met;
> //....
> }
> {code}
> Collection information would be transferable via XML-RPC using an external API that we would add to the filemgr to support dealing with Collections. The API would look like:
> {code:java}
> public interface Collectable{
> public ProductCollection getCollection(Product p);
> public void addProductToCollection(Product p, ProductCollection c);
> public List<Product> getProducts(ProductCollection c);
> public Metadata getCollectionMetadata(ProductCollection c);
> }
> {code}
> One open issue is whether or not a Product can belong to multiple ProductCollections. I think that ultimately it should be able to, but to keep the API clean and simple for now, we'll restrict a Product's membership to a single ProductCollection.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (OODT-225) Augment cas-filemgr with the ability to deal with product collections

Posted by "Chris A. Mattmann (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OODT-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13051638#comment-13051638 ] 

Chris A. Mattmann commented on OODT-225:
----------------------------------------

i think this is a worthy issue, but I haven't seen a use case yet for it (at least one that I remember), which probably explains why it has sat this long. I think it can be skirted around with the combination of things like smart repository policy creation, as well as met attributes on products like CollectionLabel, etc. An explicit java interface and API just hasn't really been necessary as of yet.

I'm going to push to 0.4, but I think if a patch doesn't emerge by 0.4, we should close this out as a "Won't Fix", or produce a use case more specifically that demands more attention to this issue.


> Augment cas-filemgr with the ability to deal with product collections
> ---------------------------------------------------------------------
>
>                 Key: OODT-225
>                 URL: https://issues.apache.org/jira/browse/OODT-225
>             Project: OODT
>          Issue Type: New Feature
>          Components: file manager
>         Environment: from the JPL internal JIRA
>            Reporter: Chris A. Mattmann
>            Assignee: Chris A. Mattmann
>             Fix For: 0.4
>
>
> This is an issue to track progress towards giving the file manager the ability to deal with product collections. Collections are defined as one or more products, and an associated metadata object. The major design trade off is going to be the level of granularity with regards to how the filemgr will provide collections, in other words, will the file manager natively support a collections object? Or, will the filemgr support collections through the use of additional meta-information in the product object?
> I'm leaning towards natively creating an core filemgr object, called ProductCollection, and adding an attribute to the Product class of type ProductCollection, that is an instance of the ProductCollection for which the Product belongs to. So, the Product class would have an additional field, like:
> {code:java}
> private ProductCollection collection;
> {code}
> and we'd have an additional class like:
> {code:java}
> public class ProductCollection{
> private String id;
> private String name;
> private List<Product> products;
> private Metadata met;
> //....
> }
> {code}
> Collection information would be transferable via XML-RPC using an external API that we would add to the filemgr to support dealing with Collections. The API would look like:
> {code:java}
> public interface Collectable{
> public ProductCollection getCollection(Product p);
> public void addProductToCollection(Product p, ProductCollection c);
> public List<Product> getProducts(ProductCollection c);
> public Metadata getCollectionMetadata(ProductCollection c);
> }
> {code}
> One open issue is whether or not a Product can belong to multiple ProductCollections. I think that ultimately it should be able to, but to keep the API clean and simple for now, we'll restrict a Product's membership to a single ProductCollection.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira