/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.intel.mtwilson.agent.citrix;
import com.intel.mtwilson.agent.HostAgent;
import com.intel.mtwilson.agent.VendorHostAgentFactory;
import com.intel.mtwilson.model.InternetAddress;
import com.intel.dcsg.cpg.tls.policy.TlsConnection;
import com.intel.dcsg.cpg.tls.policy.TlsPolicy;
import java.io.IOException;
import java.net.URL;
/**
*
* @author stdalex
*/
public class CitrixHostAgentFactory implements VendorHostAgentFactory {
@Override
public String getVendorProtocol() { return "citrix"; }
@Override
public HostAgent getHostAgent(InternetAddress hostAddress, String vendorConnectionString, TlsPolicy tlsPolicy) throws IOException {
try {
URL url = new URL(vendorConnectionString);
CitrixClient client = new CitrixClient(new TlsConnection(url, tlsPolicy));
client.init();
return new CitrixHostAgent(client);
}
catch(Exception e) {
throw new IOException("Cannot get trust agent client for host: "+hostAddress.toString()+": "+e.toString(), e);
}
}
@Override
public HostAgent getHostAgent(String vendorConnectionString, TlsPolicy tlsPolicy) throws IOException {
try {
URL url = new URL(vendorConnectionString);
CitrixClient client = new CitrixClient(new TlsConnection(url, tlsPolicy));
client.init();
return new CitrixHostAgent(client);
}
catch(Exception e) {
throw new IOException("Cannot get trust agent client for host connection: "+vendorConnectionString+": "+e.toString(), e);
}
}
}