Skip to content

Commit

Permalink
Merge pull request Azure#16 from gcheng/AssetCRUD
Browse files Browse the repository at this point in the history
Asset CRUD feature code review
  • Loading branch information
Albert Cheng committed Sep 26, 2012
2 parents 854f193 + 927e6bb commit cfed243
Show file tree
Hide file tree
Showing 11 changed files with 603 additions and 183 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,58 +17,26 @@
import java.util.List;

import com.microsoft.windowsazure.services.core.FilterableService;
import com.microsoft.windowsazure.services.core.ServiceException;
import com.microsoft.windowsazure.services.media.models.AssetInfo;
import com.microsoft.windowsazure.services.media.models.CreateAssetOptions;
import com.microsoft.windowsazure.services.media.models.ListAssetsOptions;
import com.microsoft.windowsazure.services.media.models.UpdateAssetOptions;

/**
* Defines the methods available for Windows Azure Media Services.
*/
public interface MediaContract extends FilterableService<MediaContract> {

/**
* Creates the asset.
*
* @param asset
* the asset
* @return the asset info
*/
public AssetInfo createAsset(AssetInfo asset);

/**
* List assets.
*
* @param listAssetsOptions
* the list assets options
* @return the list
*/
public List<AssetInfo> listAssets(ListAssetsOptions listAssetsOptions);

/**
* Update asset.
*
* @param updatedAsset
* the updated asset
* @return the asset info
*/
public AssetInfo updateAsset(AssetInfo updatedAsset);

/**
* Delete asset.
*
* @param assetId
* the asset id
*/
public void deleteAsset(String assetId);

/**
* Creates the asset.
*
* @param assetName
* the asset name
* @return the asset info
* @throws ServiceException
*/
public AssetInfo createAsset(String assetName);
public AssetInfo createAsset(String assetName) throws ServiceException;

/**
* Creates the asset.
Expand All @@ -78,32 +46,57 @@ public interface MediaContract extends FilterableService<MediaContract> {
* @param createAssetOptions
* the create asset options
* @return the asset info
* @throws ServiceException
*/
public AssetInfo createAsset(String assetName, CreateAssetOptions createAssetOptions) throws ServiceException;

/**
* Delete asset.
*
* @param assetId
* the asset id
* @throws ServiceException
*/
public AssetInfo createAsset(String assetName, CreateAssetOptions createAssetOptions);
public void deleteAsset(String assetId) throws ServiceException;

/**
* Gets the asset.
*
* @param assetId
* the asset id
* @return the asset
* @throws ServiceException
*/
public AssetInfo getAsset(String assetId);
public AssetInfo getAsset(String assetId) throws ServiceException;

/**
* List assets.
*
* @return the list
* @throws ServiceException
*/
public List<AssetInfo> listAssets();
public List<AssetInfo> listAssets() throws ServiceException;

/**
* Delete asset.
* List assets.
*
* @param assetInfo
* the asset info
* @param listAssetsOptions
* the list assets options
* @return the list
* @throws ServiceException
*/
public List<AssetInfo> listAssets(ListAssetsOptions listAssetsOptions) throws ServiceException;

/**
* Update asset.
*
* @param assetId
* the asset id
* @param updateAssetOptions
* the update asset options
* @throws ServiceException
* the service exception
*/
public void deleteAsset(AssetInfo assetInfo);
public void updateAsset(String assetId, UpdateAssetOptions updateAssetOptions) throws ServiceException;

List<AssetInfo> getAssets() throws ServiceException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@
import com.microsoft.windowsazure.services.core.utils.ServiceExceptionFactory;
import com.microsoft.windowsazure.services.media.MediaContract;
import com.microsoft.windowsazure.services.media.models.AssetInfo;
import com.sun.jersey.api.client.ClientHandlerException;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.microsoft.windowsazure.services.media.models.CreateAssetOptions;
import com.microsoft.windowsazure.services.media.models.ListAssetsOptions;
import com.microsoft.windowsazure.services.media.models.UpdateAssetOptions;
import com.sun.jersey.api.client.ClientHandlerException;
import com.sun.jersey.api.client.UniformInterfaceException;

/**
* Wrapper implementation of <code>MediaServicesContract</code> that
Expand All @@ -39,32 +40,60 @@
*/
public class MediaExceptionProcessor implements MediaContract {

/** The service. */
private final MediaContract service;

/** The log. */
static Log log = LogFactory.getLog(MediaContract.class);

/**
* Instantiates a new media exception processor.
*
* @param service
* the service
*/
public MediaExceptionProcessor(MediaContract service) {
this.service = service;
}

/**
* Instantiates a new media exception processor.
*
* @param service
* the service
*/
@Inject
public MediaExceptionProcessor(MediaRestProxy service) {
this.service = service;
}

/* (non-Javadoc)
* @see com.microsoft.windowsazure.services.core.FilterableService#withFilter(com.microsoft.windowsazure.services.core.ServiceFilter)
*/
@Override
public MediaContract withFilter(ServiceFilter filter) {
return new MediaExceptionProcessor(service.withFilter(filter));
}

/**
* Process a catch.
*
* @param e
* the e
* @return the service exception
*/
private ServiceException processCatch(ServiceException e) {
log.warn(e.getMessage(), e.getCause());
return ServiceExceptionFactory.process("MediaServices", e);
}

/* (non-Javadoc)
* @see com.microsoft.windowsazure.services.media.MediaContract#createAsset(java.lang.String)
*/
@Override
public AssetInfo createAsset(String name) throws ServiceException {
public AssetInfo createAsset(String assetName) throws ServiceException {
try {
return next.createAsset(name);
return service.createAsset(assetName);
}
catch (UniformInterfaceException e) {
throw processCatch(new ServiceException(e));
Expand All @@ -74,10 +103,13 @@ public AssetInfo createAsset(String name) throws ServiceException {
}
}

/* (non-Javadoc)
* @see com.microsoft.windowsazure.services.media.MediaContract#createAsset(java.lang.String, com.microsoft.windowsazure.services.media.models.CreateAssetOptions)
*/
@Override
public List<AssetInfo> getAssets() throws ServiceException {
public AssetInfo createAsset(String assetName, CreateAssetOptions createAssetOptions) throws ServiceException {
try {
return next.getAssets();
return service.createAsset(assetName, createAssetOptions);
}
catch (UniformInterfaceException e) {
throw processCatch(new ServiceException(e));
Expand All @@ -86,48 +118,85 @@ public List<AssetInfo> getAssets() throws ServiceException {
throw processCatch(new ServiceException(e));
}
}
public void deleteAsset(String assetId) {
service.deleteAsset(assetId);
}

@Override
public AssetInfo createAsset(AssetInfo asset) {
return service.createAsset(asset);
}

@Override
public AssetInfo updateAsset(AssetInfo updatedAsset) {
return service.updateAsset(updatedAsset);
}

@Override
public AssetInfo createAsset(String assetName) {
return service.createAsset(assetName);
}

/* (non-Javadoc)
* @see com.microsoft.windowsazure.services.media.MediaContract#deleteAsset(java.lang.String)
*/
@Override
public AssetInfo createAsset(String assetName, CreateAssetOptions createAssetOptions) {
return service.createAsset(assetName, createAssetOptions);
public void deleteAsset(String assetId) throws ServiceException {
try {
service.deleteAsset(assetId);
}
catch (UniformInterfaceException e) {
throw processCatch(new ServiceException(e));
}
catch (ClientHandlerException e) {
throw processCatch(new ServiceException(e));
}
}

/* (non-Javadoc)
* @see com.microsoft.windowsazure.services.media.MediaContract#getAsset(java.lang.String)
*/
@Override
public AssetInfo getAsset(String assetId) {
return service.getAsset(assetId);
public AssetInfo getAsset(String assetId) throws ServiceException {
try {
return service.getAsset(assetId);
}
catch (UniformInterfaceException e) {
throw processCatch(new ServiceException(e));
}
catch (ClientHandlerException e) {
throw processCatch(new ServiceException(e));
}
}

/* (non-Javadoc)
* @see com.microsoft.windowsazure.services.media.MediaContract#listAssets()
*/
@Override
public List<AssetInfo> listAssets() {
return service.listAssets();
public List<AssetInfo> listAssets() throws ServiceException {
try {
return service.listAssets();
}
catch (UniformInterfaceException e) {
throw processCatch(new ServiceException(e));
}
catch (ClientHandlerException e) {
throw processCatch(new ServiceException(e));
}
}

/* (non-Javadoc)
* @see com.microsoft.windowsazure.services.media.MediaContract#listAssets(com.microsoft.windowsazure.services.media.models.ListAssetsOptions)
*/
@Override
public void deleteAsset(AssetInfo assetInfo) {
service.deleteAsset(assetInfo);
public List<AssetInfo> listAssets(ListAssetsOptions listAssetsOptions) throws ServiceException {
try {
return service.listAssets(listAssetsOptions);
}
catch (UniformInterfaceException e) {
throw processCatch(new ServiceException(e));
}
catch (ClientHandlerException e) {
throw processCatch(new ServiceException(e));
}
}

/* (non-Javadoc)
* @see com.microsoft.windowsazure.services.media.MediaContract#updateAsset(com.microsoft.windowsazure.services.media.models.AssetInfo)
*/
@Override
public List<AssetInfo> listAssets(ListAssetsOptions listAssetsOptions) {
return service.listAssets(listAssetsOptions);
public void updateAsset(String assetId, UpdateAssetOptions updateAssetOptions) throws ServiceException {
try {
service.updateAsset(assetId, updateAssetOptions);
}
catch (UniformInterfaceException e) {
throw processCatch(new ServiceException(e));
}
catch (ClientHandlerException e) {
throw processCatch(new ServiceException(e));
}
}

}
Loading

0 comments on commit cfed243

Please sign in to comment.