com.sun.enterprise.admin.servermgmt.services
Class SMFService

java.lang.Object
  extended by com.sun.enterprise.admin.servermgmt.services.ServiceAdapter
      extended by com.sun.enterprise.admin.servermgmt.services.SMFService
All Implemented Interfaces:
Service

public final class SMFService
extends ServiceAdapter

Represents the SMF Service. Holds the tokens and their values that are consumed by the SMF templates. The recommended way to use this class (or its instances) is to initialize it with default constructor and then apply various mutators to configure the service. Finally, callers should make sure that the configuration is valid, before attempting to create the service in the Solaris platform.

Since:
SJSAS 9.0
Author:
Kedar Mhaswade
See Also:
isConfigValid(), SMFServiceHandler

Field Summary
static String AS_ADMIN_USER_DEF_VAL
           
static String BASIC_NETADDR_PRIV_VAL
           
static String MANIFEST_HOME
           
static String NETADDR_PRIV_VAL
           
static String NO_START_INSTANCES_PROPERTY
           
static String PRIVILEGES_DEFAULT_VAL
           
static String SP_DELIMITER
           
static String START_INSTANCES_DEFAULT_VAL
           
static String START_INSTANCES_TN
           
static String SVCADM
           
static String SVCCFG
           
static String TIMEOUT_SECONDS_DV
           
 
Method Summary
 void createServiceInternal()
          Creates the service on the given platform.
 void deleteServiceInternal()
           
 String getLocationArgsStart()
           
 String getLocationArgsStop()
           
 String getManifestFilePath()
          Returns the absolute location of the manifest file as SMF understands it.
 String getManifestFileTemplatePath()
          Returns the absolute location of the template for the given service.
 String getServiceProperties()
          Returns the additional properties of the Service.
 String getSuccessMessage()
          For safety -- this is similar to the subversion dry-run command.
 int getTimeoutSeconds()
          Returns timeout in seconds before the master boot restarter should give up starting this service.
 void initializeInternal()
           
 boolean isConfigValid()
          Determines if the configuration of the method is valid.
 void setServiceProperties(String cds)
          Sets the additional service properties that are specific to it.
 void setTimeoutSeconds(int number)
          Sets timeout in seconds before the master boot restarter should give up starting this service.
 Map<String,String> tokensAndValues()
          Returns the tokens and values of the service as a map.
 String toString()
          Returns a String representation of the SMFService.
 void writeReadmeFile(String msg)
           
 
Methods inherited from class com.sun.enterprise.admin.servermgmt.services.ServiceAdapter
createService, deleteService, getInfo, getLocationArgsRestart, getServerDirs, isDomain, isInstance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TIMEOUT_SECONDS_DV

public static final String TIMEOUT_SECONDS_DV
See Also:
Constant Field Values

AS_ADMIN_USER_DEF_VAL

public static final String AS_ADMIN_USER_DEF_VAL
See Also:
Constant Field Values

SP_DELIMITER

public static final String SP_DELIMITER
See Also:
Constant Field Values

PRIVILEGES_DEFAULT_VAL

public static final String PRIVILEGES_DEFAULT_VAL
See Also:
Constant Field Values

NETADDR_PRIV_VAL

public static final String NETADDR_PRIV_VAL
See Also:
Constant Field Values

BASIC_NETADDR_PRIV_VAL

public static final String BASIC_NETADDR_PRIV_VAL
See Also:
Constant Field Values

START_INSTANCES_TN

public static final String START_INSTANCES_TN
See Also:
Constant Field Values

START_INSTANCES_DEFAULT_VAL

public static final String START_INSTANCES_DEFAULT_VAL

NO_START_INSTANCES_PROPERTY

public static final String NO_START_INSTANCES_PROPERTY
See Also:
Constant Field Values

SVCCFG

public static final String SVCCFG
See Also:
Constant Field Values

SVCADM

public static final String SVCADM
See Also:
Constant Field Values

MANIFEST_HOME

public static final String MANIFEST_HOME
See Also:
Constant Field Values
Method Detail

createServiceInternal

public void createServiceInternal()
Creates the service on the given platform.


deleteServiceInternal

public void deleteServiceInternal()

getTimeoutSeconds

public int getTimeoutSeconds()
Returns timeout in seconds before the master boot restarter should give up starting this service.


setTimeoutSeconds

public void setTimeoutSeconds(int number)
Sets timeout in seconds before the master boot restarter should give up starting this service.

Parameters:
number - a non-negative integer representing timeout. A value of zero implies infinite timeout.

getServiceProperties

public String getServiceProperties()
Returns the additional properties of the Service.

Returns:
String representing addtional properties of the service. May return default properties as well.

setServiceProperties

public void setServiceProperties(String cds)
Sets the additional service properties that are specific to it.

Parameters:
must - be a colon separated String, if not null. No effect, if null is passed.

isConfigValid

public boolean isConfigValid()
Determines if the configuration of the method is valid. When this class is constructed, appropriate defaults are used. But before attempting to create the service in the Solaris platform, it is important that the necessary configuration is done by the users via various mutator methods of this class. This method must be called to guard against some abnormal failures before creating the service. It makes sure that the caller has set all the necessary parameters reasonably. Note that it does not validate the actual values.

Returns:
true if the configuration is valid, an exception is thrown otherwise
Throws:
RuntimeException - if the configuration is not valid

tokensAndValues

public Map<String,String> tokensAndValues()
Returns the tokens and values of the service as a map. Note that a copy is returned.

Returns:
a copy of tokens and values

getManifestFilePath

public String getManifestFilePath()
Returns the absolute location of the manifest file as SMF understands it. It takes into account the name, type and configuration location of the service. It is expected that these are set before calling this method. If the Fully Qualified Service Name is invalid, a RuntimeException results.


getManifestFileTemplatePath

public String getManifestFileTemplatePath()
Returns the absolute location of the template for the given service. If the file can not be found at its required location then the file will be copied from inside this jar file to the file system. The type of the service must be set before calling this method, otherwise a runtime exception results.


toString

public String toString()
Returns a String representation of the SMFService. It contains a new-line separated "name=value" String that contains the name and value of each of of the tokens that were set in the service.

Overrides:
toString in class Object
Returns:
a String according to above description, never returns null

getSuccessMessage

public String getSuccessMessage()
For safety -- this is similar to the subversion dry-run command. It does everything except create the service.


initializeInternal

public void initializeInternal()

writeReadmeFile

public void writeReadmeFile(String msg)

getLocationArgsStart

public final String getLocationArgsStart()

getLocationArgsStop

public final String getLocationArgsStop()


Copyright © 2012 GlassFish Community. All Rights Reserved.