com.autonomy.aci.services
Class DiSHService

java.lang.Object
  extended bycom.autonomy.aci.services.AciService
      extended bycom.autonomy.aci.services.DiSHService

public class DiSHService
extends com.autonomy.aci.services.AciService

Service class for reading from the DiSH controller of IDOL server. The class provides methods for reading information about the DISH's child services.


Constructor Summary
DiSHService()
          Construct an DiSHService that is not pointing to any installed IDOL server.
DiSHService(AciConnectionDetails aciServiceDetails)
          Construct an DiSHService that is pointing to the specified IDOL server.
DiSHService(java.lang.String szHostName, int nAciPort)
          Construct an DiSHService that is pointing to the specified IDOL server.
 
Method Summary
 AciResponse addChild(DiSHChild child)
           
 AciResponse addInterface(java.lang.String sInterfaceName, DiSHChild child)
           
 AciResponse executeAction(AciAction aciaAction)
          Send an Aci action command to the server.
 int getAciPort()
          Get the Aci port of the server.
 DiSHChild getChild(java.lang.String sChildName)
          Reads the details of the specified child service from DiSH.
 java.util.ArrayList getChildren()
          Reads the details of all the child services of the DiSH.
 AciConnectionDetails getConnectionDetails(java.lang.String sChildName)
          Reads the ACI connection details of the specified child service from DiSH.
 java.lang.String getEncoding()
          Read the character encoding being used to communicate with the Aci server.
 EncryptionDetails getEncryptionDetails()
          Get encryption details of the Aci connection.
 java.lang.String getHost()
          Get the hostname or IP address of the server.
 DiSHChild getInterface(java.lang.String sInterfaceName)
           
 LicensedFunctionality getLicensedFunctionality()
          Queries DiSH to obtain a list of licensed functionality.
 int getRetries()
          Get the number of retries of the Aci connection.
 int getTimeout()
          Get the timeout of the Aci connection (milliseconds).
 AciResponse removeChild(DiSHChild child)
           
 AciResponse removeInterface(java.lang.String sInterfaceName)
           
 void setAciPort(int nAciPort)
          Set the Aci port of the server.
 void setEncoding(java.lang.String sEncoding)
          Set the character encoding used to communicate with the Aci server.
 void setEncryptionDetails(EncryptionDetails encryptionDetails)
          Set encryption details of the Aci connection.
 void setHost(java.lang.String szHostName)
          Set the hostname or IP address of the server.
 void setRetries(int nRetries)
          Set the retries of the Aci connection.
 void setTimeout(int nTimeout)
          Set the timeout of the Aci connection (milliseconds).
 java.lang.String URLEncode(java.lang.String sToEncode)
          Encode a string for inclusion in a URL according to the character encoding being used by the service.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiSHService

public DiSHService()
Construct an DiSHService that is not pointing to any installed IDOL server.


DiSHService

public DiSHService(AciConnectionDetails aciServiceDetails)
Construct an DiSHService that is pointing to the specified IDOL server. The connection details should contain at least the host name and DiSH ACI port of the IDOL server.

Parameters:
aciServiceDetails - connection details of the IDOL server giving at least the host name and DiSH ACI port of the IDOL server.

DiSHService

public DiSHService(java.lang.String szHostName,
                   int nAciPort)
Construct an DiSHService that is pointing to the specified IDOL server.

Parameters:
szHostName - the host name of the machine on which the IDOL server is running.
nAciPort - the DiSH ACI port of the IDOL server.
Method Detail

getChild

public DiSHChild getChild(java.lang.String sChildName)
                   throws AciException,
                          ChildNotFoundException
Reads the details of the specified child service from DiSH.

Parameters:
sChildName - the name of the child service as configured on DiSH.
Returns:
a populated DiSHChild containing all the details of the child service.
Throws:
AciException - if there was an error when making the request.
ChildNotFoundException - if the specified service is not a child service of DiSH.

addChild

public AciResponse addChild(DiSHChild child)
                     throws AciException
Throws:
AciException

removeChild

public AciResponse removeChild(DiSHChild child)
                        throws AciException
Throws:
AciException

getInterface

public DiSHChild getInterface(java.lang.String sInterfaceName)
                       throws AciException,
                              ChildNotFoundException
Throws:
AciException
ChildNotFoundException

addInterface

public AciResponse addInterface(java.lang.String sInterfaceName,
                                DiSHChild child)
                         throws AciException,
                                ChildNotFoundException
Throws:
AciException
ChildNotFoundException

removeInterface

public AciResponse removeInterface(java.lang.String sInterfaceName)
                            throws AciException
Throws:
AciException

getConnectionDetails

public AciConnectionDetails getConnectionDetails(java.lang.String sChildName)
                                          throws AciException,
                                                 ChildNotFoundException
Reads the ACI connection details of the specified child service from DiSH.

Parameters:
sChildName - the name of the child service as configured on DiSH.
Returns:
a populated AciConnectionDetails containing the ACI connection details of the child service.
Throws:
AciException - if there was an error when making the request.
ChildNotFoundException - if the specified service is not a child service of DiSH.

getChildren

public java.util.ArrayList getChildren()
                                throws AciException
Reads the details of all the child services of the DiSH.

Returns:
an ArrayList of DiSHChild objects representing all the child services defined on the DiSH. If no child services are configured, the ArrayList is empty.
Throws:
AciException - if there was an error when making the request.
DiSHException

getLicensedFunctionality

public LicensedFunctionality getLicensedFunctionality()
                                               throws AciException,
                                                      InvalidLicenseFileException
Queries DiSH to obtain a list of licensed functionality.

Returns:
LicensedFunctionality defining licensed functionality.
Throws:
AciException - if there was an error when making the request.
InvalidLicenseFileException - if DiSH could not find a valid license key file.

setHost

public void setHost(java.lang.String szHostName)
Set the hostname or IP address of the server.

Parameters:
szHostName - the hostname or IP address of the server.

getHost

public java.lang.String getHost()
Get the hostname or IP address of the server.

Returns:
the hostname or IP address of the server.

setAciPort

public void setAciPort(int nAciPort)
Set the Aci port of the server.

Parameters:
nAciPort - the Aci port of the server.

getAciPort

public int getAciPort()
Get the Aci port of the server.

Returns:
the Aci port of the server.

setTimeout

public void setTimeout(int nTimeout)
Set the timeout of the Aci connection (milliseconds).

Parameters:
nTimeout - the timeout of the Aci connection (milliseconds).

getTimeout

public int getTimeout()
Get the timeout of the Aci connection (milliseconds).

Returns:
the timeout of the Aci connection (milliseconds).

setRetries

public void setRetries(int nRetries)
Set the retries of the Aci connection.

Parameters:
nRetries - the number of retries of the Aci connection.

getRetries

public int getRetries()
Get the number of retries of the Aci connection.

Returns:
the number of retries of the Aci connection.

executeAction

public AciResponse executeAction(AciAction aciaAction)
                          throws AciException
Send an Aci action command to the server.

Parameters:
aciaAction - the AciAction object encapsulating the action to send.
Returns:
the AciResponse linked list representing the response from the Aci server. Warning: Can be null if connection timed out.
Throws:
AciException - or one of its subclasses if an error occurred while executing the given action.

setEncoding

public void setEncoding(java.lang.String sEncoding)
                 throws java.io.UnsupportedEncodingException
Set the character encoding used to communicate with the Aci server. Initially, this is set to utf-8.

Parameters:
sEncoding - the name of the character encoding to use.
Throws:
java.io.UnsupportedEncodingException - if the encoding is not supported by the JVM being used.

getEncoding

public java.lang.String getEncoding()
Read the character encoding being used to communicate with the Aci server.

Returns:
the character encoding. This is initially utf-8.

URLEncode

public java.lang.String URLEncode(java.lang.String sToEncode)
Encode a string for inclusion in a URL according to the character encoding being used by the service. For example, document references should be encoded using this method before being set as parameter values for actions such as Suggest and ProfileUser, especially when multiple references are needed.

Parameters:
sToEncode - the string to encode.
Returns:
the URL encoded string.

setEncryptionDetails

public void setEncryptionDetails(EncryptionDetails encryptionDetails)
Set encryption details of the Aci connection.

Parameters:
encryptionDetails - implementation of EncryptionDetails object.

getEncryptionDetails

public EncryptionDetails getEncryptionDetails()
Get encryption details of the Aci connection.

Returns:
the EncryptionDetails from the underlying Aci connection.