dev.galasa.cicsts.cicsresource.ICicsResource Maven / Gradle / Ivy
/*
* Copyright contributors to the Galasa project
*/
package dev.galasa.cicsts.cicsresource;
import java.util.Map;
import dev.galasa.cicsts.ICicsTerminal;
import dev.galasa.cicsts.cicsresource.IJvmserver.JvmserverType;
import dev.galasa.zosliberty.IZosLibertyServer;
/**
* Represents a CICS Resource. Provides methods to manage the resource, e.g. set attributes, install and delete via CEDA,
* enable, disable and discard via CEMT
*/
public interface ICicsResource {
/**
* Create a CICS BUNDLE resource object supplying the CICS bundle content.
*
* The source bundle should have the same file structure as it exists
* on the zOS UNIX file system and will be transferred to the host in binary mode.
*
* @param cicsTerminal a ICicsTerminal object for CEDA and CEMT transactions
* @param testClass a class in the same bundle containing the application archive file, use this.getClass()
* @param name the CICS BUNDLE RDO name
* @param group the CICS BUNDLE RDO group name
* @param bundlePath the path to the directory in the test class bundle containing the CICS bundle
* @param parameters substitution parameters to replace variables in the META-INF/cics.xml
. Can be null
* @return the CICS Bundle object
* @throws CicsBundleResourceException
*/
public ICicsBundle newCicsBundle(ICicsTerminal cicsTerminal, Class> testClass, String name, String group, String bundlePath, Map parameters) throws CicsBundleResourceException;
/**
* Create a CICS BUNDLE resource object without supplying the CICS bundle content, i.e. the bundle already exists on the zOS UNIX file system
* @param cicsTerminal a ICicsTerminal object for CEDA and CEMT transactions
* @param testClass a class in the same bundle containing the application archive file, use this.getClass()
* @param name the CICS BUNDLE RDO name
* @param group the CICS BUNDLE RDO group name
* @param bundleDir the CICS BUNDLE RDO BUNDLEDIR value, i.e. the location of the existing CICS bundle
* @return the CICS Bundle object
* @throws CicsBundleResourceException
*/
public ICicsBundle newCicsBundle(ICicsTerminal cicsTerminal, Class> testClass, String name, String group, String bundleDir) throws CicsBundleResourceException;
/**
* Create a CICS JVMSERVER resource object using the CICS/Galasa default properties
* @param cicsTerminal a ICicsTerminal object for CEDA and CEMT transactions
* @param name the JVM server name
* @param group the JVM server RDO group name
* @param jvmprofileName the name of the JVM profile
* @param jvmserverType the JVM server type
* @return the Galasa JVM server object
* @throws CicsJvmserverResourceException
*/
public IJvmserver newJvmserver(ICicsTerminal cicsTerminal, String name, String group, String jvmprofileName, JvmserverType jvmserverType) throws CicsJvmserverResourceException;
/**
* Create a CICS JVMSERVER resource object using the supplied JVM profile
* @param cicsTerminal a ICicsTerminal object for CEDA and CEMT transactions
* @param name the JVM server name
* @param group the JVM server RDO group name
* @param jvmprofile the JVM server profile
* @return the Galasa JVM server object
* @throws CicsJvmserverResourceException
*/
public IJvmserver newJvmserver(ICicsTerminal cicsTerminal, String name, String group, IJvmprofile jvmprofile) throws CicsJvmserverResourceException;
/**
* Create a CICS Liberty JVMSERVER resource object using the supplied JVM profile and Liberty server
* @param cicsTerminal a ICicsTerminal object for CEDA and CEMT transactions
* @param name the JVM server name
* @param group the JVM server RDO group name
* @param jvmprofile the JVM server profile
* @return the Galasa JVM server object
* @throws CicsJvmserverResourceException
*/
public IJvmserver newLibertyJvmserver(ICicsTerminal cicsTerminal, String name, String group, IJvmprofile jvmprofile, IZosLibertyServer libertyServer) throws CicsJvmserverResourceException;
/**
* Create an empty JVM profile object for use by a {@link IJvmserver}
* @param jvmprofileName the name of the JVM profile
* @return the JVM profile
*/
public IJvmprofile newJvmprofile(String jvmprofileName);
/**
* Create an JVM profile object for use by a {@link IJvmserver} using the supplied {@link Map} of options.
* See {@link IJvmprofile#setProfileValue(String, String)} for format of options
* @param jvmprofileName the name of the JVM profile
* @param content the profile content as a {@link Map}
* @return the JVM profile
*/
public IJvmprofile newJvmprofile(String jvmprofileName, Map content);
/**
* Create an JVM profile object for use by a {@link IJvmserver} using the supplied {@link Map} of options.
* See {@link IJvmprofile#setProfileValue(String, String)} for format of options
* @param jvmprofileName the name of the JVM profile
* @param content the profile content as a {@link String}
* @return the JVM profile
*/
public IJvmprofile newJvmprofile(String jvmprofileName, String content);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy