org.apache.taglibs.rdc.sampleapps.musicstore.ws
Class MusicStore

java.lang.Object
  extended by org.apache.taglibs.rdc.sampleapps.musicstore.ws.MusicStore

public class MusicStore
extends java.lang.Object

Class representing an Amazon Web Services music store. Contains necessary AWS queries needed by the music store application.

Author:
Jaroslav Gergic, Rahul Akolkar, Thomas Ling

Field Summary
protected static java.lang.String MERCHANT_ID
           
protected static java.lang.String RESPONSE_GRP
           
protected  java.lang.String subscriptionId
           
protected static java.lang.String XMLNS_NS
           
 
Constructor Summary
MusicStore(java.lang.String subscriptionId)
           
 
Method Summary
 Cart addToCart(Cart cart, MusicAlbum album, int quantity)
           
 Cart createCart(MusicAlbum album, int quantity)
           
protected static MusicAlbum[] doAlbumQuery(java.lang.String request, int genre)
           
protected static Cart doCartOperation(java.lang.String request, java.lang.String cartOp)
           
 MusicAlbum[] getFeaturedItems(int genre)
           
 int[] getGenres(int parent)
          Retrurns an array of music genres (styles) listed on Amazon
 MusicAlbum[] getNewReleases(int genre)
           
 MusicAlbum[] getSimilarItems(MusicAlbum album)
           
protected static javax.xml.parsers.DocumentBuilder getSimpleDOMBuilder()
          a helper method - parser factory
 MusicAlbum[] getTopSellers(int genre)
           
protected static MusicAlbum parseAlbum(org.w3c.dom.Element root, org.w3c.dom.Node album, int genre)
           
protected static CartItem parseCartItem(org.w3c.dom.Element root, org.w3c.dom.Node cartItem)
           
protected static Image parseImage(org.w3c.dom.Element root, org.w3c.dom.Node imageNode)
           
protected static OfferSummary parseOfferSummary(org.w3c.dom.Element root, org.w3c.dom.Node offerSummary)
           
protected static java.lang.String xGetVal(org.w3c.dom.Node target)
          retrieve a DOM node value as a string depending on Node type.
protected static java.lang.String xmlGet(org.w3c.dom.Node node, java.lang.String xpath, org.w3c.dom.Node xmlnsNode)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MERCHANT_ID

protected static final java.lang.String MERCHANT_ID
See Also:
Constant Field Values

XMLNS_NS

protected static final java.lang.String XMLNS_NS
See Also:
Constant Field Values

RESPONSE_GRP

protected static final java.lang.String RESPONSE_GRP
See Also:
Constant Field Values

subscriptionId

protected java.lang.String subscriptionId
Constructor Detail

MusicStore

public MusicStore(java.lang.String subscriptionId)
Parameters:
subscriptionId - Amazon ECS subscription ID
Method Detail

getGenres

public int[] getGenres(int parent)
                throws java.io.IOException
Retrurns an array of music genres (styles) listed on Amazon

Parameters:
parent - parent music style
Returns:
int[]
Throws:
java.io.IOException
java.io.IOException

getTopSellers

public MusicAlbum[] getTopSellers(int genre)
                           throws java.io.IOException
Parameters:
genre -
Returns:
org.apache.taglibs.rdc.sampleapps.musicstore.ws.MusicAlbum[]
Throws:
java.io.IOException

getNewReleases

public MusicAlbum[] getNewReleases(int genre)
                            throws java.io.IOException
Parameters:
genre -
Returns:
org.apache.taglibs.rdc.sampleapps.musicstore.ws.MusicAlbum[]
Throws:
java.io.IOException

getFeaturedItems

public MusicAlbum[] getFeaturedItems(int genre)
                              throws java.io.IOException
Parameters:
genre -
Returns:
org.apache.taglibs.rdc.sampleapps.musicstore.ws.MusicAlbum[]
Throws:
java.io.IOException

getSimilarItems

public MusicAlbum[] getSimilarItems(MusicAlbum album)
                             throws java.io.IOException
Parameters:
album -
Returns:
org.apache.taglibs.rdc.sampleapps.musicstore.ws.MusicAlbum[]
Throws:
java.io.IOException

createCart

public Cart createCart(MusicAlbum album,
                       int quantity)
                throws java.io.IOException
Parameters:
album -
Returns:
org.apache.taglibs.rdc.sampleapps.musicstore.ws.MusicAlbum[]
Throws:
java.io.IOException

addToCart

public Cart addToCart(Cart cart,
                      MusicAlbum album,
                      int quantity)
               throws java.io.IOException
Parameters:
album -
Returns:
org.apache.taglibs.rdc.sampleapps.musicstore.ws.MusicAlbum[]
Throws:
java.io.IOException

getSimpleDOMBuilder

protected static javax.xml.parsers.DocumentBuilder getSimpleDOMBuilder()
a helper method - parser factory

Returns:
DocumentBuilder

xGetVal

protected static java.lang.String xGetVal(org.w3c.dom.Node target)
retrieve a DOM node value as a string depending on Node type.

Parameters:
target - a node to be retreived
Returns:
node value as a string

doAlbumQuery

protected static MusicAlbum[] doAlbumQuery(java.lang.String request,
                                           int genre)
                                    throws java.io.IOException
Throws:
java.io.IOException

doCartOperation

protected static Cart doCartOperation(java.lang.String request,
                                      java.lang.String cartOp)
                               throws java.io.IOException
Throws:
java.io.IOException

parseAlbum

protected static MusicAlbum parseAlbum(org.w3c.dom.Element root,
                                       org.w3c.dom.Node album,
                                       int genre)

parseImage

protected static Image parseImage(org.w3c.dom.Element root,
                                  org.w3c.dom.Node imageNode)

parseOfferSummary

protected static OfferSummary parseOfferSummary(org.w3c.dom.Element root,
                                                org.w3c.dom.Node offerSummary)

parseCartItem

protected static CartItem parseCartItem(org.w3c.dom.Element root,
                                        org.w3c.dom.Node cartItem)

xmlGet

protected static final java.lang.String xmlGet(org.w3c.dom.Node node,
                                               java.lang.String xpath,
                                               org.w3c.dom.Node xmlnsNode)


Copyright © 2004-2009 The Apache Software Foundation. All Rights Reserved.