package tap.parameters;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import tap.ServiceConnection;
import tap.TAPFactory;
import tap.TAPJob;
import tap.formatter.FITSFormat;
import tap.formatter.OutputFormat;
import tap.formatter.SVFormat;
import tap.formatter.VOTableFormat;
import tap.log.TAPLog;
import tap.metadata.TAPMetadata;
import uws.service.UserIdentifier;
import uws.service.file.UWSFileManager;
import adql.db.FunctionDef;
public class ServiceConnectionOfTest implements ServiceConnection {
private boolean available = true;
private String availability = "TAP Service available!";
private int[] retentionPeriod = new int[]{-1,-1};
private int[] executionDuration = new int[]{(int)TAPJob.UNLIMITED_DURATION,(int)TAPJob.UNLIMITED_DURATION};
private int[] outputLimit = new int[]{TAPJob.UNLIMITED_MAX_REC,TAPJob.UNLIMITED_MAX_REC};
private List<OutputFormat> outputFormats = Arrays.asList(new OutputFormat[]{new VOTableFormat(this),new SVFormat(this, SVFormat.COMMA_SEPARATOR),new FITSFormat(this)});
@Override
public String getProviderName(){
return null;
}
@Override
public String getProviderDescription(){
return null;
}
@Override
public boolean isAvailable(){
return available;
}
@Override
public void setAvailable(boolean isAvailable, String message){
available = isAvailable;
if (message != null)
availability = message;
else
availability = (isAvailable ? "TAP Service available!" : "TAP Service momentarily UNavailable!");
}
@Override
public String getAvailability(){
return availability;
}
@Override
public int[] getRetentionPeriod(){
return retentionPeriod;
}
public void setRetentionPeriod(final int defaultVal, final int maxVal){
retentionPeriod[0] = defaultVal;
retentionPeriod[1] = maxVal;
}
@Override
public int[] getExecutionDuration(){
return executionDuration;
}
public void setExecutionDuration(final int defaultVal, final int maxVal){
executionDuration[0] = defaultVal;
executionDuration[1] = maxVal;
}
@Override
public int[] getOutputLimit(){
return outputLimit;
}
public void setOutputLimit(final int defaultVal, final int maxVal){
outputLimit[0] = defaultVal;
outputLimit[1] = maxVal;
}
@Override
public LimitUnit[] getOutputLimitType(){
return new LimitUnit[]{LimitUnit.rows,LimitUnit.rows};
}
@Override
public UserIdentifier getUserIdentifier(){
return null;
}
@Override
public boolean uploadEnabled(){
return false;
}
@Override
public int[] getUploadLimit(){
return null;
}
@Override
public LimitUnit[] getUploadLimitType(){
return null;
}
@Override
public int getMaxUploadSize(){
return 0;
}
@Override
public TAPMetadata getTAPMetadata(){
return null;
}
@Override
public Collection<String> getCoordinateSystems(){
return null;
}
@Override
public Collection<String> getGeometries(){
return null;
}
@Override
public Collection<FunctionDef> getUDFs(){
return null;
}
@Override
public int getNbMaxAsyncJobs(){
return 0;
}
@Override
public TAPLog getLogger(){
return null;
}
@Override
public TAPFactory getFactory(){
return null;
}
@Override
public UWSFileManager getFileManager(){
return null;
}
@Override
public Iterator<OutputFormat> getOutputFormats(){
return outputFormats.iterator();
}
@Override
public OutputFormat getOutputFormat(String mimeOrAlias){
for(OutputFormat f : outputFormats)
if (f.getMimeType().equalsIgnoreCase(mimeOrAlias) || f.getShortMimeType().equalsIgnoreCase(mimeOrAlias))
return f;
return null;
}
@Override
public int[] getFetchSize(){
return null;
}
}