public class ConfigDB extends CommonShell implements UpgConstants
The -l parameter can be used for previewing the configuration process or verbose logging.
This runs independently of MXServer. MXServer should NOT be running at the same time as this program, otherwise the database may be changing at the same time that this program is trying to determine what to output.
This program is also run as part of the upgrade process, when called by Upgrade
.
For tables that require being dumped to a temp table and recreated, this program does NOT
reload the new base table with the original data. This is done via a separate program,
RestoreFromBackup
.
The commandline parameters for ConfigDB are as follows, in addition to those in the superclass
CommonShell
.
Parameter ID | Parameter Value | Description |
---|---|---|
-g | (none) | This is optional. It indicates that this class has been instanciated by the Upgrade. |
-r | (none) | This is optional. It indicates that RestoreFromBackup will be launched immediately following ConfigDB, assuming there were no errors. Care should be taken when using this param, as there are occasions when the data in the temp tables (XX+tablename) must be modified before attempting the Restore. (The -r param will NOT launch DropBackup.) |
-z | (none) | The -z parameter is used ONLY for DB2. When the -z parameter is used and this
is DB2, then the logic that enables text search for all tables is not performed from
ConfigDB. Instead, ConfigDB will output a script containing all the relevant commands.
The script name is db2text_configdb.bat, and it is output to the same directory as the logfile.
A second script, db2text_configdb.sh, is output for Unix shell script.
The reason this parameter is provided is because in DB2, text search procedures cannot be initiated from a remote machine. If Maxinst is run on a different machine than the machine where the database is located, it cannot run the text search commands. They will have to be run manually by a user on the database's machine by using the script output by ConfigDB. |
CommonShell
listStream
DB2, doNotUpdateACTION, doNotUpdateALNDOMAIN, doNotUpdateAPPLICATIONAUTH, doNotUpdateAUTOKEY, doNotUpdateCONDITION, doNotUpdateCONTRACTPROPERTY, doNotUpdateCONTRACTTYPE, doNotUpdateCROSSOVERDOMAIN, doNotUpdateDOCTYPES, doNotUpdateLANGUAGE, doNotUpdateMAXAPPS, doNotUpdateMAXCONDDETAIL, doNotUpdateMAXCONTROLVALUE, doNotUpdateMAXDOMAIN, doNotUpdateMAXLOGAPPENDER, doNotUpdateMAXLOGGER, doNotUpdateMAXMENU, doNotUpdateMAXMESSAGES, doNotUpdateMAXMODULES, doNotUpdateMAXPROP, doNotUpdateMAXPROPVALUE, doNotUpdateMAXROLE, doNotUpdateMAXSEQUENCE, doNotUpdateMAXSERSECURITY, doNotUpdateMAXSERVICE, doNotUpdateMAXTABLEDOMAIN, doNotUpdateMAXVARS, doNotUpdateMAXVARTYPE, doNotUpdateMXCOLLAB, doNotUpdateMXCOLLABREF, doNotUpdateNUMERICDOMAIN, doNotUpdateNUMRANGEDOMAIN, doNotUpdatePORTLET, doNotUpdatePRICALC, doNotUpdateSECURITYRESTRICT, doNotUpdateSIGOPTION, doNotUpdateSYNONYMDOMAIN, doNotUpdateTAXTYPE, doNotUpdateWORKPRIORITY, doNotUpdateWORKTYPE, doNotUpdateWPEDITSETTING, messageCache, NEWONLY, OLDANDNEW, OLDONLY, ORACLE, SQLINET, SQLMICROSOFT, SQLSERVER, SYSDATATABLES, SYSTEMTABLES, UNKNOWN
Constructor and Description |
---|
ConfigDB()
This constructor does nothing.
|
ConfigDB(MXServer server)
This constructor accepts parameter for MXServer and
sets value for
mxs . |
Modifier and Type | Method and Description |
---|---|
void |
addMTPermissions(java.lang.String tablename,
java.lang.String uniqueColumnName,
MTStorageType storageType)
Add MT permissions and activate row access to table if MT Enabled.
|
java.lang.String |
addQuotes(java.lang.String value)
Use this when you have to construct a Sql update statement using values from
one of our maps.
|
void |
addRowstamp(java.lang.String tablename)
Add rowstamp column to table.
|
void |
addTenantid(java.lang.String tablename,
java.lang.String uniqueColumnName,
MTStorageType storageType)
Add tenantid column to table if MT Enabled.
|
int |
addUniqueColumnToImportedTable(java.lang.String tablename,
java.lang.String uniqueColumnName,
java.lang.String sequenceName,
java.util.TreeMap attrs)
Add uniquecolumnname column to imported table.
|
void |
adjustMetadata()
Perform any last updates to the metadata before we start processing.
|
void |
alterTable(java.util.HashMap objInfo)
Alter a table (maxobjectcfg.changed = "A").
|
void |
callRestoreFromBackup()
Call RestoreFromBackup.
|
void |
changingVarcharMultiplier(boolean val)
This should be invoked ONLY from the VarcharMultiplier utility.
|
boolean |
checkForBackup()
If any of the following is true, an error will be generated and this method will return False.
|
void |
configureIndexes()
Add, change or drop the indexes requiring such, then recreate the
metadata in maxsysindexes and maxsyskeys.
|
void |
configureTables()
Perform all the required changes to the native tables, and update the
column metadata.
|
void |
configureViews()
Perform all the required changes to the views.
|
void |
createRowstampTrigger(java.lang.String tablename)
Create the rowstamp trigger.
|
void |
createTable(java.util.HashMap objInfo)
Create a table (maxobjectcfg.changed = "I").
|
void |
disableControlTS() |
void |
doCommit()
Execute a "commit."
|
void |
doLastUpdates()
Some miscellaneous final database updates after the bulk of the work is done.
|
void |
doSql(java.util.ArrayList list) |
void |
doSql(java.util.List list)
Loops through an array and calls
doSql for each element. |
void |
doSql(java.lang.String sql)
Looks at params to determine whether the execute only, log only, or both execute and log.
|
void |
doSqlCatchReorg(java.util.AbstractList list) |
void |
doSqlCatchReorg(java.lang.String sql)
Try to execute Sql.
|
void |
dropTable(java.lang.String tablename)
Drop a table (maxobjectcfg.changed = "R").
|
void |
endProcessInstance()
At start of
endProcess ,
call endProcess for restoreClass . |
void |
endSetupInstance(java.lang.String outdir,
java.lang.String outfile,
java.util.HashMap params)
|
void |
getMetadata()
Get the new metadata for all the objects being modified.
|
TextSearch |
getTextSearchHelper()
Return instance of TextSearch.
|
java.util.ArrayList |
getUpgradeDefaultSql(java.lang.String tablename,
java.lang.String columnname)
When this is the upgrade and the table is being altered (not rebuilt) and the column does
not allow nulls, this gets the sql needed to provide values for this column prior to
altering it to "not null."
|
static void |
main(java.lang.String[] argv)
Main.
|
void |
process()
Main processing method for this program.
|
void |
rebuildExtensionView(java.lang.String objectName,
java.lang.String tableName,
boolean isView)
Drop a table (maxobjectcfg.changed = "R").
|
void |
rebuildIndexes(java.util.TreeMap indexMeta)
Loop through the index metadata we already retrieved, drop the indexes,
and recreate the native indexes that are not being deleted.
|
void |
rebuildTable(java.lang.String tempTbName,
java.util.HashMap objInfo)
Rebuild a table (maxobjectcfg.changed = "M").
|
void |
refreshAttributes()
Refresh all the attribute metadata for all objects.
|
void |
refreshObjects()
Refresh the table metadata for the tables being changed.
|
void |
remindUserBadTriggers()
If any triggers have become uncompileable, warn the user.
|
void |
remindUserToCheckIndexes()
If any new tables were added (and they are persistent and not audit tables),
remind the user to doublecheck to make sure they have indexes.
|
void |
remindUserToRestoreData()
If any tables were rebuilt (and they are persistent and not audit tables),
remind the user to restore data from backup tables.
|
int |
renumberAttributeNumber(java.lang.String objectname,
java.util.TreeMap attrs)
Renumber attributeno on maxattributecfg, in case we deleted any attributes.
|
void |
setBypassTextSearchForUpgrade(boolean value)
This method is provided for the Upgrade.
|
void |
setDoReorgCheck(boolean value)
This method is provided for patch scripts that call ConfigDB from AutoUpgradeTemplate
and which intend to handle the final DB2 Reorg themselves (rather than doing in
ConfigDB alterTable).
|
void |
setObjectNames(java.util.HashSet objects)
Called from ConfigureService when doing a non-structural configuration.
|
void |
setSRTableExists() |
void |
setThrowErrorFromPrechecks(boolean value)
The prechecks by default do not throw an error.
|
void |
setUpgradeCallout(java.lang.String val)
This is called from
Upgrade so that
upgradeCallout can determine which subdirectory
contains the class files that indicate special processing for this upgrade. |
void |
setUserIfno(UserInfo ui) |
void |
showLastMessages()
Some final messages to display to the person running this program.
|
void |
showMsg(java.lang.String str)
Call super, then add message in ConfigureService, if appropriate.
|
boolean |
spaceCheck()
Check for sufficient tablespace for running ConfigDB.
|
void |
syncEauditParams()
Some final "just in case" updates to make sure there's no mismatch between
the eaudit parameters and the existence (or not) of the audit table.
|
void |
updateDelta(java.sql.Connection tenantCon,
int tenanatId,
java.util.TreeMap<java.lang.String,java.util.HashMap<java.lang.String,java.lang.String>> cfgAttrs,
java.util.Map<java.lang.String,java.lang.Integer> lastNumbers)
Calls
getRemoveChanges
for each storage partition in the valuelist,
and executes the statements returned, with the appropriate commit and rollback logic. |
void |
updateMaxvars()
Update maxvars DBVERSION and NUMBEROFTAXCODES
|
void |
updateStoragePartition()
Update storagepartition on maxtable and maxtablecfg, using the native value.
|
void |
updateTenantsDelta(java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.String,java.lang.String[]>>> changedObjects,
java.util.TreeMap<java.lang.String,java.util.HashMap<java.lang.String,java.lang.String>> cfgAttrs,
java.util.Map<java.lang.String,java.lang.Integer> lastNumbers)
Checks to see whether a tenant is using a given column on the extension table before allowing the DA to delete the attribute
through the database configuration app.
|
void |
upgradeCallout(java.lang.String methodName,
java.lang.String methodPlace,
java.lang.String objectname)
If this is running in Upgrade mode (called from the Upgrade program), then various points
in ConfigDB provide hooks for calling specialized methods to perform any
complex upgrade processing that is not supported by the regular ConfigDB
logic.
|
createOutfile, doCall, doDB2TextSearchCall, doSql, doSql, doWait, endProcess, endSetup, execRuntime, getDisplayMessage, getDisplayMessage, getOutfile, getOutstream, getProperty, getRootDirName, logSql, reformatForDB2, reformatForSqlsvr, setConnection, setDB2TextOutput, setup, setupFromPropfile, setupInstance, setupNested, setupNestedInstance, setUserLangCode, showMXException, showMXException
public ConfigDB()
public void disableControlTS()
public void setUpgradeCallout(java.lang.String val)
Upgrade
so that
upgradeCallout
can determine which subdirectory
contains the class files that indicate special processing for this upgrade.
Sets value of calloutSubdir
.public void process() throws java.lang.Exception
checkForBackup
returns False, then this method returns
without configuring the database.process
in class CommonShell
java.lang.Exception
checkForBackup()
,
TextSearch.stopTextSearchJobs(boolean, boolean)
,
Util.setConfigInProcess(boolean)
,
adjustMetadata()
,
spaceCheck()
,
getMetadata()
,
configureTables()
,
configureViews()
,
refreshAttributes()
,
refreshObjects()
,
configureIndexes()
,
doLastUpdates()
,
TextSearch.restartTextJobs()
,
showLastMessages()
public void setObjectNames(java.util.HashSet objects)
objects
- Object names to be configuredConfigureService.ConfigDBThread.run()
public void setSRTableExists() throws java.lang.Exception
java.lang.Exception
public boolean checkForBackup() throws java.lang.Exception
java.lang.Exception
Util.getUnrestoredTables(java.lang.String)
,
Util.getOldBackupTables(java.lang.String)
,
Util.mxServerIsUp(java.lang.String)
public void adjustMetadata() throws java.lang.Exception
cleanStatisticNames
.
java.lang.Exception
Util.getKeyAttribute(java.lang.String, java.lang.String)
public boolean spaceCheck() throws java.lang.Exception
java.lang.Exception
Util.spaceCheckForDBConfig()
public void getMetadata() throws java.lang.Exception
cfgObjects
and cfgIndexes
.java.lang.Exception
Util.getObjectMeta(java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean)
,
Util.getIndexMeta(java.lang.String, boolean)
public void configureTables() throws java.lang.Exception
upgradeCallout
is called in the following places:
("configureTables", "01", null)
("configureTables", "02", null)
public void rebuildExtensionView(java.lang.String objectName, java.lang.String tableName, boolean isView) throws java.lang.Exception
upgradeCallout
is called in the following place:
("dropTable", null, tbname)
tablename
- Table namejava.lang.Exception
public void dropTable(java.lang.String tablename) throws java.lang.Exception
upgradeCallout
is called in the following place:
("dropTable", null, tbname)
tablename
- Table namejava.lang.Exception
public void createTable(java.util.HashMap objInfo) throws java.lang.Exception
upgradeCallout
is called in the following places:
("createTable", "01", tbname)
("createTable", "02", tbname)
objInfo
- Configuration parameters for the table and its columns.java.lang.Exception
Util.buildCreateTableStatement(java.util.HashMap, boolean, boolean, java.lang.String, boolean)
,
Util.getUniqueIndexSpace(java.lang.String, java.lang.String)
,
createRowstampTrigger(java.lang.String)
,
addRowstamp(java.lang.String)
,
Util.indexMetaExistsForPrikeycolseq(java.lang.String, java.lang.String, boolean)
,
Util.buildIndexStatement(String, TreeMap, String)
,
updatePrimaryKeyNameForDB2(java.lang.String, java.lang.String, java.lang.String, com.ibm.tivoli.maximo.dbmanage.connection.MTStorageType)
public void addRowstamp(java.lang.String tablename) throws java.lang.Exception
java.lang.Exception
Util.getAddRowstampSql(java.lang.String)
,
createRowstampTrigger(java.lang.String)
public void addTenantid(java.lang.String tablename, java.lang.String uniqueColumnName, MTStorageType storageType) throws java.lang.Exception
java.lang.Exception
Util.enableForMultiTenancy(java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.ibm.tivoli.maximo.dbmanage.connection.MTStorageType)
,
#enableForMultiTenancy
,
This is a similar method.
public int addUniqueColumnToImportedTable(java.lang.String tablename, java.lang.String uniqueColumnName, java.lang.String sequenceName, java.util.TreeMap attrs) throws java.lang.Exception
tablename
- uniqueColumnName
- sequenceName
- attrs
- java.lang.Exception
public void createRowstampTrigger(java.lang.String tablename) throws java.lang.Exception
java.lang.Exception
Util.getRowstampTriggerSql(java.lang.String, boolean)
public void rebuildTable(java.lang.String tempTbName, java.util.HashMap objInfo) throws java.lang.Exception
The new Maximo table is NOT loaded with data in this program.
The data loading is done via the program RestoreFromBackup
.
upgradeCallout
is called in the following places:
("rebuildTable", "01", tbname)
("rebuildTable", "02", tbname)
("rebuildTable", "03", tbname)
tempTbName
- The name of the temporary table that will store the data
from the base table during the rebuild process.
This should equals "XX" + the base table name. This temp table is
dropped, created and loaded via this method, but is not dropped afterward.objInfo
- Configuration parameters for the table and its columns.java.lang.Exception
Util.getDropStatisticsStatementsForConfig(java.lang.String)
,
Util.getStorageClause(java.lang.String, boolean)
,
Util.buildGrants(java.lang.String, boolean, boolean)
,
Util.getColumnNames(java.util.TreeMap, boolean, boolean)
,
Util.nativeTableExists(java.lang.String)
,
Util.getDisableTriggerStatement(java.lang.String, java.lang.String)
,
Util.getRenameTableStatement(java.lang.String, java.lang.String)
,
Util.buildDefaultDataStatement(java.lang.String, java.util.TreeMap, java.lang.String, java.util.TreeMap<java.lang.String, java.util.HashMap<java.lang.String, java.lang.String>>)
,
Util.buildShortenStringStatement(java.lang.String, java.util.TreeMap, java.util.TreeMap)
,
Util.buildChangeCaseStatement(String, TreeMap, TreeMap)
,
Util.buildCreateTableStatement(java.util.HashMap, boolean, boolean, java.lang.String, boolean)
,
Util.getUniqueIndexSpace(java.lang.String, java.lang.String)
,
Util.getIndexMeta(java.lang.String, boolean)
,
createRowstampTrigger(java.lang.String)
,
updatePrimaryKeyNameForDB2(java.lang.String, java.lang.String, java.lang.String, com.ibm.tivoli.maximo.dbmanage.connection.MTStorageType)
,
rebuildIndexes(java.util.TreeMap)
,
Util.getSysIndexRefresh(java.lang.String, java.lang.String)
public void changingVarcharMultiplier(boolean val)
val
- public void alterTable(java.util.HashMap objInfo) throws java.lang.Exception
upgradeCallout
is called in the following place:
("alterTable", "01", tbname)
.
buildDefaultDataStatement
,
this method calls (in the calloutSubdir)
UpgradeDefaults + tbname
, which (if it exists) must be an
extension of UpgDefaultsTemplate
.
buildDefaultDataStatement
("alterTable", "02", tbname)
.
objInfo
- Configuration parameters for the table and its columns.java.lang.Exception
getUpgradeDefaultSql(java.lang.String, java.lang.String)
,
Util.buildDefaultDataStatement(String, HashMap, HashMap)
,
Util.buildChangeCaseStatement(String, String, String, String)
,
Util.buildColumnLine(HashMap, boolean, boolean, boolean)
public void addMTPermissions(java.lang.String tablename, java.lang.String uniqueColumnName, MTStorageType storageType) throws java.lang.Exception
java.lang.Exception
Util.createPermission(java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.ibm.tivoli.maximo.dbmanage.connection.MTStorageType)
public java.util.ArrayList getUpgradeDefaultSql(java.lang.String tablename, java.lang.String columnname) throws java.lang.Exception
This is determined by the presence of an extension of
UpgDefaultsTemplate
in the
calloutSubdir, which returns Sql via
getDefaultSql
.
This is called from alterTable
.
tablename
- Table namecolumnname
- Columnjava.lang.Exception
public void refreshAttributes() throws java.lang.Exception
upgradeCallout
is called in the following place:
("refreshAttributes", null, null)
java.lang.Exception
renumberAttributeNumber(java.lang.String, java.util.TreeMap)
,
Util.getAttributeRefresh()
,
Util.getViewColumnRefresh()
public void updateTenantsDelta(java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.String,java.lang.String[]>>> changedObjects, java.util.TreeMap<java.lang.String,java.util.HashMap<java.lang.String,java.lang.String>> cfgAttrs, java.util.Map<java.lang.String,java.lang.Integer> lastNumbers) throws java.lang.Exception
attributeName
- objectName
- MXException
java.rmi.RemoteException
java.lang.Exception
public void updateDelta(java.sql.Connection tenantCon, int tenanatId, java.util.TreeMap<java.lang.String,java.util.HashMap<java.lang.String,java.lang.String>> cfgAttrs, java.util.Map<java.lang.String,java.lang.Integer> lastNumbers) throws MXException, java.rmi.RemoteException
getRemoveChanges
for each storage partition in the valuelist,
and executes the statements returned, with the appropriate commit and rollback logic."configure"
- "RemoveChangesFailure"
MXException
java.rmi.RemoteException
Util.getRemoveChanges()
,
Util.rebuildMetadataSequences()
public int renumberAttributeNumber(java.lang.String objectname, java.util.TreeMap attrs) throws java.lang.Exception
objectname
- Object nameattrs
- Attributes, key = attributeno.java.lang.Exception
public void configureViews() throws java.lang.Exception
upgradeCallout
is called in the following place:
("configureViews", null, null)
java.lang.Exception
Util.buildCreateViewStatement(java.util.HashMap, boolean, boolean)
public void refreshObjects() throws java.lang.Exception
upgradeCallout
is called in the following place:
("refreshObjects", null, null)
java.lang.Exception
Util.getObjectRefresh()
,
Util.getTableRefresh()
,
Util.getViewRefresh()
public void configureIndexes() throws java.lang.Exception
This affects only those indexes that were marked for changes via the metadata. It does not completely reload all the metadata, as Centura used to.
upgradeCallout
is called in the following places:
("configureIndexes", "01", null)
("configureIndexes", "02", null)
java.lang.Exception
rebuildIndexes(java.util.TreeMap)
,
Util.getSysIndexRefresh(java.lang.String, java.lang.String)
public void rebuildIndexes(java.util.TreeMap indexMeta) throws java.lang.Exception
indexMeta
- Index metadata, from getIndexMeta
.java.lang.Exception
Util.rebuildIndexes(java.util.TreeMap, boolean, boolean, boolean, boolean)
,
Util.adjustPrimaryKeyColSeq(java.util.TreeMap)
public void doLastUpdates() throws java.lang.Exception
upgradeCallout
is called in the following place:
("doLastUpdates", null, null)
java.lang.Exception
updateStoragePartition()
,
Util.getDisallowPageLocks()
,
Util.rebuildMetadataSequences()
,
syncEauditParams()
,
updateMaxvars()
public void updateStoragePartition() throws java.lang.Exception
java.lang.Exception
Util.getPartitionRefresh()
public void syncEauditParams() throws java.lang.Exception
java.lang.Exception
public void updateMaxvars() throws java.lang.Exception
java.lang.Exception
public void showLastMessages() throws java.lang.Exception
java.lang.Exception
remindUserToCheckIndexes()
,
remindUserBadTriggers()
,
remindUserToRestoreData()
public void remindUserToCheckIndexes() throws java.lang.Exception
java.lang.Exception
public void remindUserBadTriggers() throws java.lang.Exception
java.lang.Exception
badTriggers
public void remindUserToRestoreData() throws java.lang.Exception
java.lang.Exception
public void callRestoreFromBackup() throws java.lang.Exception
java.lang.Exception
RestoreFromBackup.process()
public java.lang.String addQuotes(java.lang.String value)
value
- The value of a String attribute.Util.singleToDoubleQuotes(java.lang.String)
public void doCommit() throws java.lang.Exception
java.lang.Exception
public void doSql(java.util.ArrayList list) throws java.lang.Exception
java.lang.Exception
public void doSql(java.util.List list) throws java.lang.Exception
CommonShell
doSql
for each element.doSql
in class CommonShell
list
- Any instance or extension of AbstractList, including ArrayList, etc.java.lang.Exception
CommonShell.doSql(String)
public void doSql(java.lang.String sql) throws java.lang.Exception
CommonShell
doSql
in class CommonShell
sql
- The Sql statementjava.lang.Exception
public void doSqlCatchReorg(java.util.AbstractList list) throws java.lang.Exception
java.lang.Exception
doSqlCatchReorg(String)
public void doSqlCatchReorg(java.lang.String sql) throws java.lang.Exception
java.lang.Exception
public void showMsg(java.lang.String str)
showMsg
in class CommonShell
str
- The one-line message to be displayed.ConfigureService.addConfigMsg(java.lang.String)
public void setBypassTextSearchForUpgrade(boolean value)
value
- True to bypass native text search commands, False to perform them normally.bypassTextSearchForUpgrade
public void setDoReorgCheck(boolean value)
isReorgPending
,
reorgTable
,
revalidateTextSearchIndexes
,
adjustTextSearchOneTable
.
For reference, see end of the alterTable
method.public TextSearch getTextSearchHelper()
public void upgradeCallout(java.lang.String methodName, java.lang.String methodPlace, java.lang.String objectname) throws java.lang.Exception
The name of the class being called is "UpgCdb" + methodName + methodPlace + tbname.
For example, if this is called from method rebuildTable
, place 01
,
table Item
, then the name of this class would be:
UpgCdbRebuildTable01ITEM
The subdirectory containing these classes is identified by calloutSubdir
.
The class should be extended from UpgTemplate. If the class is not found, there is no error. If the class needs to exit the configuration process, it should throw an error.
methodName
- The name of the method that is invoking this hook. Required.methodPlace
- If the method provides more than one hook, each hook
needs an identifier. If the method provides only one hook,
this will be null.objectname
- The object name currently being processed.
If object name is not relevant to the calling method, this
will be null.java.lang.Exception
UpgTemplate
public void setThrowErrorFromPrechecks(boolean value) throws java.lang.Exception
value
- java.lang.Exception
public void endSetupInstance(java.lang.String outdir, java.lang.String outfile, java.util.HashMap params) throws java.lang.Exception
endSetupInstance
in class CommonShell
outdir
- Not used.outfile
- Not used.params
- Parameters (see class javadocs).java.lang.Exception
public void endProcessInstance() throws java.lang.Exception
endProcess
,
call endProcess for restoreClass
.endProcessInstance
in class CommonShell
java.lang.Exception
public void setUserIfno(UserInfo ui)
public static void main(java.lang.String[] argv)