atg.epub
Class ImportService

java.lang.Object
  extended by atg.nucleus.GenericService
      extended by atg.epub.ImportService
All Implemented Interfaces:
atg.naming.NameContextBindingListener, atg.naming.NameContextElement, atg.naming.NameResolver, atg.nucleus.AdminableService, atg.nucleus.logging.ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.naming.ComponentNameResolver, atg.nucleus.Service, atg.nucleus.ServiceListener, java.util.EventListener

public class ImportService
extends atg.nucleus.GenericService

This class provides an import service, which enables customers to import their data into a versioned repository. The service works on a single xml file and imports its contents into the versioned repository. You may choose between the early and late workflows. /Content Administration/import-late.wdl for late and /Content Administration/import-early.wdl for early.

Version:
$Id: //user/pmcerlean/main/Import/src/classes/atg/epub/ImportService.java#2 $
Author:
Patrick Mc Erlean

Field Summary
static java.lang.String CLASS_VERSION
           
static java.lang.String M_FAILURES_FILENAME
           
static java.lang.String M_ITEM_CATALOG
           
static java.lang.String M_ITEM_CATEGORY
           
static java.lang.String M_ITEM_FOLDER
           
static java.lang.String M_ITEM_MEDIA_EXTERNAL
           
static java.lang.String M_ITEM_PRODUCT
           
static java.lang.String M_ITEM_SKU
           
static java.lang.String M_SEGMENT_FILE_EXTENSION
           
static java.lang.String M_SEGMENT_FILE_STUB
           
static java.lang.String M_SERVICE_STATUS_CANCELLED
           
static java.lang.String M_SERVICE_STATUS_COMPLETED_SUCCESSFULLY
           
static java.lang.String M_SERVICE_STATUS_COMPLETED_WITH_ERRORS
           
static java.lang.String M_SERVICE_STATUS_DATA_IMPORT_ADD_UPDATE_PHASE
           
static java.lang.String M_SERVICE_STATUS_DATA_IMPORT_BATCH_CREATION
           
static java.lang.String M_SERVICE_STATUS_DATA_IMPORT_DELETE_PHASE
           
static java.lang.String M_SERVICE_STATUS_DATA_IMPORT_PROCESSING_FAILED_DELETIONS
           
static java.lang.String M_SERVICE_STATUS_DATA_IMPORT_REFERENCE_UPDATE_PHASE
           
static java.lang.String M_SERVICE_STATUS_FATAL_ERROR_DATABASE
           
static java.lang.String M_SERVICE_STATUS_FATAL_ERROR_IO
           
static java.lang.String M_SERVICE_STATUS_FATAL_ERROR_THREAD_DIED
           
static java.lang.String M_SERVICE_STATUS_FATAL_ERROR_THREADS
           
static java.lang.String M_SERVICE_STATUS_FATAL_ERROR_THRESHOLD_REACHED
           
static java.lang.String M_SERVICE_STATUS_PRE_DATA_IMPORT
           
static java.lang.String M_SERVICE_STATUS_PROJECT_ADVANCE_WORKFLOW
           
static java.lang.String M_SERVICE_STATUS_PROJECT_CREATION
           
static java.lang.String M_SERVICE_STATUS_WAITING_TO_START
           
static java.lang.String M_TAG_ADD_ITEM_END
           
static java.lang.String M_TAG_ADD_ITEM_START
           
static java.lang.String M_TAG_REMOVE_ITEM_END
           
static java.lang.String M_TAG_REMOVE_ITEM_START
           
static java.lang.String M_TAG_UPDATE_ITEM_END
           
static java.lang.String M_TAG_UPDATE_ITEM_START
           
static int PHASE_ADD_UPDATE
           
static int PHASE_DELETE
           
static int PHASE_REFERENCE_UPDATE
           
static int THREAD_STATUS_NOTIFIED
           
static int THREAD_STATUS_PHASE_COMPLETED
           
static int THREAD_STATUS_PROCESSING
           
static int THREAD_STATUS_STARTED
           
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
ImportService()
           
 
Method Summary
protected  boolean assumeUserIdentity()
          This method sets the security context for the current thread so that the code executes correctly against secure resources.
 void cancelImport()
          This method cancels the import.
 boolean executeImport()
          This is the main execution method for the service.
 boolean getCancelCommandReceived()
           
 java.lang.String getDatabaseDriver()
           
 java.lang.String getDatabasePassword()
           
 java.lang.String getDatabaseUrl()
           
 java.lang.String getDatabaseUsername()
           
 int getErrorThresholdPerBatch()
           
 int getErrorThresholdPerImport()
           
 java.util.ArrayList getFailedDeletions()
           
 java.lang.String getImportDirectory()
           
 java.lang.String getImportFilename()
           
 int getItemBatchSize()
           
 int getMaxImportThreads()
           
 java.lang.String getPersonaPrefix()
          Returns the PersonaPrefix which is supplied for login
 java.lang.String getProjectName()
           
 ReferenceItemGenerator getReferenceItemGenerator()
           
 java.lang.String getServiceStatus()
           
 atg.repository.Repository getTargetRepository()
           
 java.lang.String getTaskOutcomeId()
           
 long getThreadMonitorInterval()
           
 javax.transaction.TransactionManager getTransactionManager()
           
 atg.userdirectory.UserDirectoryUserAuthority getUserAuthority()
          Returns the UserAuthority
 java.lang.String getUserName()
          Returns the UserName which is supplied upon check-in and for logging in.
 atg.versionmanager.VersionManager getVersionManager()
           
 atg.workflow.WorkflowManager getWorkflowManager()
           
 java.lang.String getWorkflowName()
          Returns the workflowName property
 atg.versionmanager.Workspace getWorkspace()
           
 void logBatchFailure(int pSegmentIndex, int pPhase)
           
 void logFailedItem(ImportFailedItem pFailedItem, int pPhase)
           
 void logFailureMessage(java.lang.String pMessage)
           
static void main(java.lang.String[] args)
           
 void notifyThreadStatus(int pThreadIndex, java.lang.String pName, int pStatus)
           
 void processFailedDeletions()
           
protected  void releaseUserIdentity()
          This method unsets the security context on the current thread.
 void setDatabaseDriver(java.lang.String pDatabaseDriver)
           
 void setDatabasePassword(java.lang.String pDatabasePassword)
           
 void setDatabaseUrl(java.lang.String pDatabaseUrl)
           
 void setDatabaseUsername(java.lang.String pDatabaseUsername)
           
 void setDataImportErrors()
           
 void setErrorThresholdPerBatch(int pErrorThresholdPerBatch)
           
 void setErrorThresholdPerImport(int pErrorThresholdPerImport)
           
 void setImportDirectory(java.lang.String pImportDirectory)
           
 void setImportFilename(java.lang.String pImportFilename)
           
 void setItemBatchSize(int pItemBatchSize)
           
 void setMaxImportThreads(int pMaxImportThreads)
           
 void setPersonaPrefix(java.lang.String pPersonaPrefix)
          Sets the PersonaPrefix
 void setProjectName(java.lang.String pProjectName)
           
 void setTargetRepository(atg.repository.Repository pTargetRepository)
           
 void setTaskOutcomeId(java.lang.String pTaskOutcomeId)
           
 void setThreadMonitorInterval(long pThreadMonitorInterval)
           
 void setTransactionManager(javax.transaction.TransactionManager pTransactionManager)
           
 void setUserAuthority(atg.userdirectory.UserDirectoryUserAuthority pUserAuthority)
          Sets the UserAuthority
 void setUserName(java.lang.String pUserName)
          Sets the UserName
 void setVersionManager(atg.versionmanager.VersionManager pVersionManager)
           
 void setWorkflowManager(atg.workflow.WorkflowManager pWorkflowManager)
           
 void setWorkflowName(java.lang.String string)
          Sets the workflowName property
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION

M_SERVICE_STATUS_WAITING_TO_START

public static final java.lang.String M_SERVICE_STATUS_WAITING_TO_START
See Also:
Constant Field Values

M_SERVICE_STATUS_PROJECT_CREATION

public static final java.lang.String M_SERVICE_STATUS_PROJECT_CREATION
See Also:
Constant Field Values

M_SERVICE_STATUS_PRE_DATA_IMPORT

public static final java.lang.String M_SERVICE_STATUS_PRE_DATA_IMPORT
See Also:
Constant Field Values

M_SERVICE_STATUS_DATA_IMPORT_BATCH_CREATION

public static final java.lang.String M_SERVICE_STATUS_DATA_IMPORT_BATCH_CREATION
See Also:
Constant Field Values

M_SERVICE_STATUS_DATA_IMPORT_ADD_UPDATE_PHASE

public static final java.lang.String M_SERVICE_STATUS_DATA_IMPORT_ADD_UPDATE_PHASE
See Also:
Constant Field Values

M_SERVICE_STATUS_DATA_IMPORT_REFERENCE_UPDATE_PHASE

public static final java.lang.String M_SERVICE_STATUS_DATA_IMPORT_REFERENCE_UPDATE_PHASE
See Also:
Constant Field Values

M_SERVICE_STATUS_DATA_IMPORT_DELETE_PHASE

public static final java.lang.String M_SERVICE_STATUS_DATA_IMPORT_DELETE_PHASE
See Also:
Constant Field Values

M_SERVICE_STATUS_DATA_IMPORT_PROCESSING_FAILED_DELETIONS

public static final java.lang.String M_SERVICE_STATUS_DATA_IMPORT_PROCESSING_FAILED_DELETIONS
See Also:
Constant Field Values

M_SERVICE_STATUS_PROJECT_ADVANCE_WORKFLOW

public static final java.lang.String M_SERVICE_STATUS_PROJECT_ADVANCE_WORKFLOW
See Also:
Constant Field Values

M_SERVICE_STATUS_COMPLETED_SUCCESSFULLY

public static final java.lang.String M_SERVICE_STATUS_COMPLETED_SUCCESSFULLY
See Also:
Constant Field Values

M_SERVICE_STATUS_COMPLETED_WITH_ERRORS

public static final java.lang.String M_SERVICE_STATUS_COMPLETED_WITH_ERRORS
See Also:
Constant Field Values

M_SERVICE_STATUS_CANCELLED

public static final java.lang.String M_SERVICE_STATUS_CANCELLED
See Also:
Constant Field Values

M_SERVICE_STATUS_FATAL_ERROR_THRESHOLD_REACHED

public static final java.lang.String M_SERVICE_STATUS_FATAL_ERROR_THRESHOLD_REACHED
See Also:
Constant Field Values

M_SERVICE_STATUS_FATAL_ERROR_THREAD_DIED

public static final java.lang.String M_SERVICE_STATUS_FATAL_ERROR_THREAD_DIED
See Also:
Constant Field Values

M_SERVICE_STATUS_FATAL_ERROR_IO

public static final java.lang.String M_SERVICE_STATUS_FATAL_ERROR_IO
See Also:
Constant Field Values

M_SERVICE_STATUS_FATAL_ERROR_DATABASE

public static final java.lang.String M_SERVICE_STATUS_FATAL_ERROR_DATABASE
See Also:
Constant Field Values

M_SERVICE_STATUS_FATAL_ERROR_THREADS

public static final java.lang.String M_SERVICE_STATUS_FATAL_ERROR_THREADS
See Also:
Constant Field Values

PHASE_ADD_UPDATE

public static final int PHASE_ADD_UPDATE
See Also:
Constant Field Values

PHASE_REFERENCE_UPDATE

public static final int PHASE_REFERENCE_UPDATE
See Also:
Constant Field Values

PHASE_DELETE

public static final int PHASE_DELETE
See Also:
Constant Field Values

M_SEGMENT_FILE_STUB

public static final java.lang.String M_SEGMENT_FILE_STUB
See Also:
Constant Field Values

M_SEGMENT_FILE_EXTENSION

public static final java.lang.String M_SEGMENT_FILE_EXTENSION
See Also:
Constant Field Values

M_FAILURES_FILENAME

public static final java.lang.String M_FAILURES_FILENAME
See Also:
Constant Field Values

M_TAG_ADD_ITEM_START

public static final java.lang.String M_TAG_ADD_ITEM_START
See Also:
Constant Field Values

M_TAG_ADD_ITEM_END

public static final java.lang.String M_TAG_ADD_ITEM_END
See Also:
Constant Field Values

M_TAG_UPDATE_ITEM_START

public static final java.lang.String M_TAG_UPDATE_ITEM_START
See Also:
Constant Field Values

M_TAG_UPDATE_ITEM_END

public static final java.lang.String M_TAG_UPDATE_ITEM_END
See Also:
Constant Field Values

M_TAG_REMOVE_ITEM_START

public static final java.lang.String M_TAG_REMOVE_ITEM_START
See Also:
Constant Field Values

M_TAG_REMOVE_ITEM_END

public static final java.lang.String M_TAG_REMOVE_ITEM_END
See Also:
Constant Field Values

M_ITEM_CATALOG

public static final java.lang.String M_ITEM_CATALOG
See Also:
Constant Field Values

M_ITEM_CATEGORY

public static final java.lang.String M_ITEM_CATEGORY
See Also:
Constant Field Values

M_ITEM_PRODUCT

public static final java.lang.String M_ITEM_PRODUCT
See Also:
Constant Field Values

M_ITEM_SKU

public static final java.lang.String M_ITEM_SKU
See Also:
Constant Field Values

M_ITEM_MEDIA_EXTERNAL

public static final java.lang.String M_ITEM_MEDIA_EXTERNAL
See Also:
Constant Field Values

M_ITEM_FOLDER

public static final java.lang.String M_ITEM_FOLDER
See Also:
Constant Field Values

THREAD_STATUS_STARTED

public static final int THREAD_STATUS_STARTED
See Also:
Constant Field Values

THREAD_STATUS_NOTIFIED

public static final int THREAD_STATUS_NOTIFIED
See Also:
Constant Field Values

THREAD_STATUS_PROCESSING

public static final int THREAD_STATUS_PROCESSING
See Also:
Constant Field Values

THREAD_STATUS_PHASE_COMPLETED

public static final int THREAD_STATUS_PHASE_COMPLETED
See Also:
Constant Field Values
Constructor Detail

ImportService

public ImportService()
Method Detail

getTransactionManager

public javax.transaction.TransactionManager getTransactionManager()
Returns:
Returns the transactionManager.

setTransactionManager

public void setTransactionManager(javax.transaction.TransactionManager pTransactionManager)
Parameters:
pTransactionManager - The transactionManager to set.

getVersionManager

public atg.versionmanager.VersionManager getVersionManager()
Returns:
Returns the versionManager.

setVersionManager

public void setVersionManager(atg.versionmanager.VersionManager pVersionManager)
Parameters:
pVersionManager - The versionManager to set.

getWorkflowManager

public atg.workflow.WorkflowManager getWorkflowManager()
Returns:
Returns the workflowManager.

setWorkflowManager

public void setWorkflowManager(atg.workflow.WorkflowManager pWorkflowManager)
Parameters:
pWorkflowManager - The workflowManager to set.

getUserAuthority

public atg.userdirectory.UserDirectoryUserAuthority getUserAuthority()
Returns the UserAuthority


setUserAuthority

public void setUserAuthority(atg.userdirectory.UserDirectoryUserAuthority pUserAuthority)
Sets the UserAuthority


getPersonaPrefix

public java.lang.String getPersonaPrefix()
Returns the PersonaPrefix which is supplied for login


setPersonaPrefix

public void setPersonaPrefix(java.lang.String pPersonaPrefix)
Sets the PersonaPrefix


getUserName

public java.lang.String getUserName()
Returns the UserName which is supplied upon check-in and for logging in.


setUserName

public void setUserName(java.lang.String pUserName)
Sets the UserName


getWorkflowName

public java.lang.String getWorkflowName()
Returns the workflowName property


setWorkflowName

public void setWorkflowName(java.lang.String string)
Sets the workflowName property


getTaskOutcomeId

public java.lang.String getTaskOutcomeId()
Returns:
Returns the taskOutcomeId.

setTaskOutcomeId

public void setTaskOutcomeId(java.lang.String pTaskOutcomeId)
Parameters:
pTaskOutcomeId - The taskOutcomeId to set.

getProjectName

public java.lang.String getProjectName()
Returns:
Returns the projectName.

setProjectName

public void setProjectName(java.lang.String pProjectName)
Parameters:
pProjectName - The projectName to set.

getItemBatchSize

public int getItemBatchSize()
Returns:
Returns the itemBatchSize.

setItemBatchSize

public void setItemBatchSize(int pItemBatchSize)
Parameters:
pItemBatchSize - The itemBatchSize to set.

getMaxImportThreads

public int getMaxImportThreads()
Returns:
Returns the maxImportThreads.

setMaxImportThreads

public void setMaxImportThreads(int pMaxImportThreads)
Parameters:
pMaxImportThreads - The maxImportThreads to set.

getImportFilename

public java.lang.String getImportFilename()
Returns:
Returns the importFilename.

setImportFilename

public void setImportFilename(java.lang.String pImportFilename)
Parameters:
pMaxImportThreads - The maxImportThreads to set.

getTargetRepository

public atg.repository.Repository getTargetRepository()
Returns:
Returns the targetRepository.

setTargetRepository

public void setTargetRepository(atg.repository.Repository pTargetRepository)
Parameters:
pTargetRepository - The targetRepository to set.

getErrorThresholdPerBatch

public int getErrorThresholdPerBatch()
Returns:
Returns the errorThresholdPerBatch.

setErrorThresholdPerBatch

public void setErrorThresholdPerBatch(int pErrorThresholdPerBatch)
Parameters:
pErrorThresholdPerBatch - The percentage error threshold per batch to set.

getErrorThresholdPerImport

public int getErrorThresholdPerImport()
Returns:
Returns the errorThresholdPerImport.

setErrorThresholdPerImport

public void setErrorThresholdPerImport(int pErrorThresholdPerImport)
Parameters:
pErrorThresholdPerImport - The percentage error threshold per import to set.

getThreadMonitorInterval

public long getThreadMonitorInterval()

setThreadMonitorInterval

public void setThreadMonitorInterval(long pThreadMonitorInterval)

getDatabaseDriver

public java.lang.String getDatabaseDriver()

setDatabaseDriver

public void setDatabaseDriver(java.lang.String pDatabaseDriver)

getDatabaseUrl

public java.lang.String getDatabaseUrl()

setDatabaseUrl

public void setDatabaseUrl(java.lang.String pDatabaseUrl)

getDatabaseUsername

public java.lang.String getDatabaseUsername()

setDatabaseUsername

public void setDatabaseUsername(java.lang.String pDatabaseUsername)

getDatabasePassword

public java.lang.String getDatabasePassword()

setDatabasePassword

public void setDatabasePassword(java.lang.String pDatabasePassword)

getServiceStatus

public java.lang.String getServiceStatus()

getImportDirectory

public java.lang.String getImportDirectory()
Returns:
Returns the importDirectory.

setImportDirectory

public void setImportDirectory(java.lang.String pImportDirectory)

getWorkspace

public atg.versionmanager.Workspace getWorkspace()

getReferenceItemGenerator

public ReferenceItemGenerator getReferenceItemGenerator()
Returns:
Returns the importReferenceGenerator.

getCancelCommandReceived

public boolean getCancelCommandReceived()

getFailedDeletions

public java.util.ArrayList getFailedDeletions()
Returns:
Returns the failedDeletions.

setDataImportErrors

public void setDataImportErrors()

executeImport

public boolean executeImport()
                      throws java.lang.Exception
This is the main execution method for the service. This method sets the security context on the thread for the user specified in the userName property. Next, it creates a project and then calls importData(). Next, it attempts to advance the project's workflow. Finally, it unsets the security context.

Throws:
java.lang.Exception

cancelImport

public void cancelImport()
This method cancels the import.


assumeUserIdentity

protected boolean assumeUserIdentity()
This method sets the security context for the current thread so that the code executes correctly against secure resources.

Returns:
true if the identity was assumed, false otherwise

releaseUserIdentity

protected void releaseUserIdentity()
This method unsets the security context on the current thread.


notifyThreadStatus

public void notifyThreadStatus(int pThreadIndex,
                               java.lang.String pName,
                               int pStatus)

processFailedDeletions

public void processFailedDeletions()

logBatchFailure

public void logBatchFailure(int pSegmentIndex,
                            int pPhase)

logFailedItem

public void logFailedItem(ImportFailedItem pFailedItem,
                          int pPhase)

logFailureMessage

public void logFailureMessage(java.lang.String pMessage)

main

public static void main(java.lang.String[] args)


Copyright © 2008. All Rights Reserved.