/*
* MusicProviderService.java
*
* Version 1.0 Sep 25, 2008
*
* Copyright notice
*
* Brief description
*
* (c) 2008 by dbreuer
*/
package de.fhkoeln.santiago.services;
import java.net.URI;
import de.fhkoeln.cosima.media.Media;
import de.fhkoeln.cosima.media.MediaComponent;
import de.fhkoeln.cosima.media.mediabroker.MediaBroker;
import de.fhkoeln.cosima.services.CoreService;
import de.fhkoeln.cosima.services.IODescriptor;
import de.fhkoeln.cosima.services.registry.ServiceRegistry;
import de.fhkoeln.cosima.util.Logger;
/**
* Documentation comment without implementation details.
* Use implementation comments to describe details of the implementation.
* Comment lines should not be longer than 70 characters.
*
* @author dbreuer
* @version 1.0 Sep 25, 2008
*
*/
public class MusicProviderService implements CoreService {
private final String URI = "http://localhost:8080/axis2/services/MusicProviderService";
private final String DESCRIPTION = "Producer:MusicProvider";
private IODescriptor input;
private MediaBroker broker;
private ServiceRegistry registry;
public MusicProviderService(ServiceRegistry registry) {
Logger.info("Booting Service: " + getClass().getName());
this.registry = registry;
this.registry.publish(this);
}
public IODescriptor execute() {
IODescriptor output = new IODescriptor();
MediaComponent outputMedia = new Media();
outputMedia.setName("MetalMusicFile");
outputMedia.setReferenceToRealData(input.first());
URI mediaUri = getBroker().store(outputMedia);
output.add(mediaUri.toString());
return output;
}
public void setInput(IODescriptor input) {
this.input = input;
}
public IODescriptor getInput() {
return input;
}
public void setBroker(MediaBroker broker) {
this.broker = broker;
}
public MediaBroker getBroker() {
return broker;
}
/* (non-Javadoc)
* @see de.fhkoeln.cosima.services.CoreService#getDescription()
*/
public String getDescription() {
return this.DESCRIPTION;
}
/* (non-Javadoc)
* @see de.fhkoeln.cosima.services.CoreService#getUri()
*/
public String getUri() {
return this.URI;
}
}