#-----------------------------------------------------------------------------
# Standard Shark configuration file
#-----------------------------------------------------------------------------

######################### NAME
# the name of shark instance - if shark is used in several VMs, this property
# MUST be different for each of them
enginename=Shark


######################### KERNEL SETTING for UNSATISFIED SPLIT CONDITIONS
# There can be a cases when some activity that has outgoing transitions other
# then to itself (other then circular one), has nowhere to go based on
# calculation of these conditions (all of the conditions are evaluated to false)
# In that case, the process could hang (it will not go anywhere, and it will
# also not finish), finish (if there is no other active activities), or
# the last transaction that finishes the activity will be rolled back.
# This settings apply to the block activity's activities also, but the difference
# is that if you set parameter to FINISH_IF_POSSIBLE, shark will actually
# finish block activity if possible.
# The possible values for the entry are IGNORE, FINISH_IF_POSSIBLE and ROLLBACK,
# and default kernel behaviour is FINISH_IF_POSSIBLE
#SharkKernel.UnsatisfiedSplitConditionsHandling=FINISH_IF_POSSIBLE

######################### KERNEL SETTING for OTHERWISE TRANSITION
# XPDL spec does not say that OTHERWISE transition should be executed only
# if no other transition condition is evaluated to true (in the case of XOR split).
# So, if you i.e. put OTHERWISE transition to be the first outgoing transition
# of some activity, other transition's condition won't be even considered.
# You can configure shark to deviate from the spec, so that OTHERWISE transition
# is evaluated and executed only if no other transition condition is evaluated to
# true. To do that, you should set the following property to true.
#SharkKernel.handleOtherwiseTransitionLast=false

######################## KERNEL SETTING FOR ASSIGNMENT CREATION
# Determines if kernel will create assignments - default is true.
# There are situations when assignment creation is not necessary,
# and this is the case when you always execute activities directly using
# change_state() WfActivity method.
#SharkKernel.createAssignments=true

######################### KERNEL SETTING for ASSIGNMENT RE-EVALUATION
# Determines if there will be the assignment re-evaluation during shark startup
# If you set this property to true, all not-accepted assignments are going to
# be re-evaluated (old ones will be deleted, and new ones will be created
# based on current mappings, current state of User/Group information and
# current implementation of AssignmentManager class
# The shark kernel default is false
#Assignments.InitialReevaluation=false

######################## KERNEL SETTING FOR ASSIGNMENT HANDLING
# Determines if kernel will delete other assignments from DB everytime when
# someone accepts/rejects assignment, and will re-evaluate assignments
# each time this happens.
# If it is set to true, the side-effect is that if there was reassignment,
# and the user that got this reassigned assignment rejects it, he will
# not get it afterwards
# The shark kernel default is true
#SharkKernel.deleteOtherAssignments=true


######################### KERNEL SETTINGS for CACHE INITIALIZATION
# Following can be set to init process and resource caches at shark startup.
# If you uncomment following lines, all processes and resources will be filled
# into cache (if the cache size allows this).
# The value of following properties can be set as a comma separated list of
# the process/resource ids that need to be put into cache on engine start,
# e.g.: Cache.InitProcessCacheString=1_test_js_basic, 5_test_js_Game
# Shark kernel default is "not init anything"
#Cache.InitProcessCacheString=*
#Cache.InitResourceCacheString=*


######################## KERNEL SETTING FOR DEADLINE RE-EVALUATION
# Determines if deadlines will be re-evaluated each time external deadline
# management check shark deadlines.
# Default kernel setting is true.
#Deadlines.reevaluateDeadlines=true

# Determines if process or activity context will be used when re-evaluating deadlines
# Default kernel setting is activity context.
#Deadlines.useProcessContext=false

# Determines if asynchronous deadline should be raised only once, or every time
# when deadline check is performed.
# Default kernel setting is true (to raise deadline only once).
#Deadlines.raiseAsyncDeadlineOnlyOnce=true

######################## KERNEL SETTING FOR SUBFLOW-PROCESS LOCKING
# Determines if kernel will create a lock for process created during
# execution of subflow activities.
# In the case when you implement tool agent that opens its own thread, and
# communicates with shark, there are cases (when there is an automatic subflow
# process defined in XPDL) locking is required.
# Default kernel setting is false.
#SharkKernel.lockSubProcesses=false


######################## KERNEL AND EVENT AUDIT PERSISTENT MANAGER SETTING FOR (NON)PERSISTING OLD EVENT AUDIT DATA
# Determines if old event audit data should be persisted or not.
# Default is to persist.
# The value of this property must be respected by both, the kernel, and event
# audit manager
#PERSIST_OLD_EVENT_AUDIT_DATA=true


######################## EXTERNAL REPOSITORY FOLDER SETTING
# Shark currently uses File system repository for holding XPDL definitions, and
# this is where you can specify location of this repository.
# If you want to specify it by relative path, you must know that this path must
# be relative to the Shark.conf file (in conf folder)
EXTERNAL_PACKAGES_REPOSITORY=../repository/external


######################### LDAP SETTINGS
# Shark can use LDAP implementation of Authentication and UserGroup interfaces,
# and these are settings required by these implementations to access and
# browse the LDAP server
LDAPHost=localhost
LDAPPort=389
# possible values for LDAPStructureType parameter are 0 and 1
# 0 is simple structure, the possibility that one group or user belongs to more
# than one group is not supported
# 1 is more complex structure that supports the possibility that one group or
# user belongs to more than one group is not supported
LDAPStructureType=1
LDAPSearchBase=
LDAPGroupObjectClasses=organizationalUnit
LDAPUserObjectClasses=inetOrgPerson
# parameter LDAPRelationObjectClasses is only needed for LDAPStructureType=1
LDAPRelationObjectClasses=groupOfNames
LDAPGroupUniqueAttributeName=ou
LDAPGroupDescriptionAttributeName=description
LDAPUserUniqueAttributeName=userid
# parameter LDAPRelationUniqueAttributeName is only needed for LDAPStructureType=1
LDAPRelationUniqueAttributeName=cn
# parameter LDAPRelationMemberAttributeName is only needed for LDAPStructureType=1
LDAPRelationMemberAttributeName=member
LDAPUserPasswordAttributeName=userpassword
LDAPUserRealNameAttributeName=cn
LDAPUserFirstNameAttributeName=givenName
LDAPUserLastNameAttributeName=sn
LDAPUserEmailAttributeName=mail
LDAPUser=shark
LDAPPassword=sharkspwd
# parameter LDAPGroupGroupsName is only needed for LDAPStructureType=1
LDAPGroupGroupsName=Groups
# parameter LDAPGroupUsersName is only needed for LDAPStructureType=1
LDAPGroupUsersName=Users
# parameter LDAPGroupGroupRelationsName is only needed for LDAPStructureType=1
LDAPGroupGroupRelationsName=GroupRelations
# parameter LDAPGroupUserRelationsName is only needed for LDAPStructureType=1
LDAPGroupUserRelationsName=UserRelations


######################### CALLBACK UTILITIES
# used for logging, and getting the shark properties
# the default kernel setting is as follows
#CallbackUtilitiesClassName=org.enhydra.shark.CallbackUtil


######################### OBJECT FACTORY
# the class name of the factory used to creating kernel objects
# the default kernel setting is as follows
#ObjectFactoryClassName=org.enhydra.shark.SharkObjectFactory


######################### TOOL AGENT MANAGER
# the class name of the manager used to execute tool agents
# the default kernel setting is as follows
#ToolAgentManagerClassName=org.enhydra.shark.ToolAgentManagerImpl

######################### EXPRESSION BUILDER MANAGER
# the class name of the manager used to retrieve appropriate expression builders
# the default setting is as follows
#ExpressionBuilderManagerClassName=org.enhydra.shark.ExpressionBuilderMgr

#-----------------------------------------------------------------------------
#                   Database Manager Configuration
#-----------------------------------------------------------------------------
# Here is a DB configuration for default DODS implementations of shark's
# persistence interfaces.
#

# The databases that are used by CSAM.  Each of these databases
# has configuration parameters set under DatabaseManager.DB."databaseName".
#
DatabaseManager.Databases[]="sharkdb"
#
# The default database used in this application.
#
DatabaseManager.DefaultDatabase="sharkdb"
#
# Turn on/off debugging for transactions or queries. Valid values
# are "true" or "false".
#
DatabaseManager.Debug="false"

DatabaseManager.LogFile=../logs/databaseManager.log
#DatabaseManager.LogToFile[]=EMERGENCY, ALERT, CRITICAL, ERROR, WARNING, INFO
#DatabaseManager.LogToStderr[]=EMERGENCY, ALERT, CRITICAL, ERROR
#DatabaseManager.LogClassName=com.lutris.logging.Log4jLogger

#
# The jdbc driver to use, and Database url.

DatabaseManager.DB.sharkdb.Connection.DataSourceName=jdbc/Shark
DatabaseManager.DB.sharkdb.ConnectionAllocator=com.lutris.appserver.server.sql.datasource.DataSourceConnectionAllocator
DatabaseManager.DB.sharkdb.Connection.ConnectionFactory=com.lutris.appserver.server.sql.DataSourceDBConnectionFactory

#DatabaseManager.ObjectIdColumnName=ObjectId
#DatabaseManager.VersionColumnName=ObjectVersion


#
# The maximum number of connections that a connection
# pool will hold.  If set to zero, then connections
# are allocated indefinitly or until the database
# refuses to allocate any new connections.
#
DatabaseManager.DB.sharkdb.Connection.MaxPoolSize=300

#
# Maximum amount of time that a thread will wait for
# a connection from the connection pool before an
# exception is thrown.  This will prevent possible dead
# locks.  The time out is in milliseconds.  If the
# time out is <= zero, the allocation of connections
# will wait indefinitely.
#
DatabaseManager.DB.sharkdb.Connection.AllocationTimeout=10000

#
# Required for HSQL: column name NEXT must be used
# with table name prefix
#
DatabaseManager.DB.sharkdb.ObjectId.NextWithPrefix = true
#DatabaseManager.DB.sharkdb.Connection.ShutDownString = SHUTDOWN


#
# Used to log database (SQL) activity.
#
DatabaseManager.DB.sharkdb.Connection.Logging=true

#
# The number of object identifiers that are allocated
# as a group and held in memory.  These identifiers
# are assigned to new data objects that are inserted
# into the database.
#
DatabaseManager.DB.sharkdb.ObjectId.CacheSize=200
DatabaseManager.DB.sharkdb.ObjectId.MinValue=1000000

#
# User wildcards
#
DatabaseManager.DB.User.userWildcard="*"
DatabaseManager.DB.User.userSingleWildcard="_"
DatabaseManager.DB.User.userSingleWildcardEscape="?"
DatabaseManager.DB.User.userWildcardEscape="?"

#
# Default cache configuration
#
#DatabaseManager.defaults.cache.maxCacheSize=100
#DatabaseManager.defaults.cache.maxSimpleCacheSize=50
#DatabaseManager.defaults.cache.maxComplexCacheSize=25
DatabaseManager.defaults.cache.maxCacheSize=0
DatabaseManager.defaults.cache.maxSimpleCacheSize=0
DatabaseManager.defaults.cache.maxComplexCacheSize=0
DatabaseManager.defaults.cache.reserveFactor=0.1


DatabaseManager.DB.sharkdb.ActivityStates.cache.maxCacheSize=-1
DatabaseManager.DB.sharkdb.ActivityStates.cache.maxSimpleCacheSize=-1
DatabaseManager.DB.sharkdb.ActivityStates.cache.maxComplexCacheSize=-1
DatabaseManager.DB.sharkdb.ActivityStates.cache.initialCondition=*

DatabaseManager.DB.sharkdb.ProcessStates.cache.maxCacheSize=-1
DatabaseManager.DB.sharkdb.ProcessStates.cache.maxSimpleCacheSize=-1
DatabaseManager.DB.sharkdb.ProcessStates.cache.maxComplexCacheSize=-1
DatabaseManager.DB.sharkdb.ProcessStates.cache.initialCondition=*

DatabaseManager.DB.sharkdb.ProcessStateEventAudits.cache.maxCacheSize=-1
DatabaseManager.DB.sharkdb.ProcessStateEventAudits.cache.maxSimpleCacheSize=-1
DatabaseManager.DB.sharkdb.ProcessStateEventAudits.cache.maxComplexCacheSize=-1
DatabaseManager.DB.sharkdb.ProcessStateEventAudits.cache.initialCondition=*

DatabaseManager.DB.sharkdb.ActivityStateEventAudits.cache.maxCacheSize=-1
DatabaseManager.DB.sharkdb.ActivityStateEventAudits.cache.maxSimpleCacheSize=-1
DatabaseManager.DB.sharkdb.ActivityStateEventAudits.cache.maxComplexCacheSize=-1
DatabaseManager.DB.sharkdb.ActivityStateEventAudits.cache.initialCondition=*

DatabaseManager.DB.sharkdb.EventTypes.cache.maxCacheSize=-1
DatabaseManager.DB.sharkdb.EventTypes.cache.maxSimpleCacheSize=-1
DatabaseManager.DB.sharkdb.EventTypes.cache.maxComplexCacheSize=-1
DatabaseManager.DB.sharkdb.EventTypes.cache.initialCondition=*


#
# Default table configuration
#
#DatabaseManager.defaults.allReadOnly=true
DatabaseManager.defaults.maxExecuteTime=200

DatabaseManager.defaults.DeleteCheckVersion=true
DatabaseManager.defaults.TransactionCheck=true
DatabaseManager.defaults.CacheLockRetryCount=12
DatabaseManager.defaults.CacheLockTimeout=120

DatabaseManager.ConfigurationDir=dods

#=============================================================================
# Default application map persistence manager is DODS
#
#-----------------------------------------------------------------------------
#
# DODS application map persistent manager defaults
#
ApplicationMapPersistenceManagerClassName=org.enhydra.shark.appmappersistence.DODSApplicationMappingMgr

# If set to true, the debug information on application mapping transaction will be
# written to console
#DODSApplicationMappingMgr.debug=false


#=============================================================================
# Default assignment manager is Standard
#
#-----------------------------------------------------------------------------
#
# Standard assignment manager defaults
#
AssignmentManagerClassName=org.enhydra.shark.assignment.StandardAssignmentManager

#
# HistoryRelated assigment manager
#
#AssignmentManagerClassName=org.enhydra.shark.assignment.HistoryRelatedAssignmentManager
#HistoryRelatedAssignmentManager.username=admin
#HistoryRelatedAssignmentManager.password=enhydra
#HistoryRelatedAssignmentManager.extAttrReassignToOriginalPerformer=ReassignToOriginalPerformer
#HistoryRelatedAssignmentManager.extAttrAssignToPerformerOfActivity=AssignToPerformerOfActivity
#HistoryRelatedAssignmentManager.extAttrDoNotAssignToPerformerOfActivity=DoNotAssignToPerformerOfActivity

#
# XPDLStraightParticipantMapping assigment manager
#
#AssignmentManagerClassName=org.enhydra.shark.assignment.XPDLStraightParticipantMappingAssignmentManager


#=============================================================================
# Default AuthenticationManager is DODS
#
# WARNING: This and user/group manager must comply.
#-----------------------------------------------------------------------------
#
#AuthenticationManagerClassName=org.enhydra.shark.authentication.LDAPAuthenticationManager
AuthenticationManagerClassName=org.enhydra.shark.authentication.DODSAuthenticationManager

# The database used for Authentication when using DODS implementaion
#DODSAuthenticationManager.DatabaseName=sharkdb


#=============================================================================
# Default cache is LRU
#
#-----------------------------------------------------------------------------
# Cache defaults
#
# CacheManagerClassName=org.enhydra.shark.caching.LRUCacheMgr

# Default LRU cache sizes (LRU implementation default is 100 for each cache)
#LRUProcessCache.Size=100
#LRUResourceCache.Size=100


#=============================================================================
# Default event audit manager is DODS
#
#-----------------------------------------------------------------------------
#
# DODS event audit manager defaults
#
EventAuditManagerClassName=org.enhydra.shark.eventaudit.DODSEventAuditManager

# Determines the maximum size of String that will be stored in VARCHAR field.
# String which size is greater than specified value will be stored as a BLOB.
# The maximumum size that can be set is 4000 (the default one)
#DODSEventAuditManager.maxVARCHARSize=4000

# Determines which data model will be used for storing process and activity
# variable event audits. There are two options:
#  1. using standard data model, where all data types are in one table (including
#     BLOB data type for persisting custom Java objects and large Strings
#  2. using optional data model, where one table contains all data types except
#     BLOB, and there is another table that references previous table, and is
#     used only for storing BLOB information (for persisting custom Java objects
#     and large Strings)
# Default is to use standard data model, but using optional data model can improve
# performance in use cases where there are not so many custom Java objects and
# large String objects and when shark and DODS caches are not used, and this is
# especially better choice if using Oracle DB.
#DODSEventAuditManager.useStandardVariableDataModel=true

#
# Notifying event audit manager
#
#EventAuditManagerClassName=org.enhydra.shark.eventaudit.NotifyingEventAuditManager

# Default delegate is DODS manager
#NotifyingEventAuditManager.Delegate=org.enhydra.shark.eventaudit.DODSEventAuditManager

# if set to true, displays some debug info (mostly when error happens)
#NotifyingEventAuditManager.Debug=false


# SMTP Event audit manager
# It can be used to send mail to users when the assignment is created.
# Before sending mail, this manager calls default event audit manager to store
# data in DB

#EventAuditManagerClassName=org.enhydra.shark.eventaudit.SMTPEventAuditManager

# enables mail sending
#SMTPEventAuditManager.Enable=true

# default event audit manager that will be called before mail is send
#SMTPEventAuditManager.OtherClassName=org.enhydra.shark.eventaudit.DODSEventAuditManager

# the parameters for sending mails
#SMTPEventAuditManager.Server=someserver.co.yu
#SMTPEventAuditManager.Port=25
#SMTPEventAuditManager.Source=shark@objectweb.org

# credentials
#SMTPEventAuditManager.Auth=shark
#SMTPEventAuditManager.Passwd=sharkpwd


# property to specify the message text that will be send (the one bellow is
# the original one)
# At runtime:
#  - {person} will be replaced with First and Last name from UserGroup table
#  - {activity} will be replaced with the name of the activity for which user
#    gets an assignment
#  - {process} will be replaced with the process name of assigned activity
#  - {definition} will be replaced with the process definition Id ...

#SMTPEventAuditManager.Message=Dear {person},/n/nyou have a new task!/n/n name: {activity}/n workflow: {process}/n workflow id: {definition}

# property to specify the message subject that will be send (the one
# bellow is the original one)
# At runtime, {activity} will be replaced with the name of the activity for
# which user gets an assignment

#SMTPEventAuditManager.Subject=New task: {activity}

# if set to true, displays some debug info (mostly when error happens)
#SMTPEventAuditManager.Debug=false


#=============================================================================
# Default instance persistence manager is DODS
#
#-----------------------------------------------------------------------------
#
# DODS instance persistent manager defaults
#
InstancePersistenceManagerClassName=org.enhydra.shark.instancepersistence.DODSPersistentManager

# Determines if finished processes which state is "closed.completed" should be
# automatically deleted from DB (DODS persistence manager default is false)
#DODSPersistentManager.deleteFinishedProcesses=true

# Determines the maximum size of String that will be stored in VARCHAR field.
# String which size is greater than specified value will be stored as a BLOB.
# The maximumum size that can be set is 4000 (the default one)
#DODSPersistentManager.maxVARCHARSize=4000

# Determines which data model will be used for storing process and activity
# variables. There are two options:
#  1. using standard data model, where all data types are in one table (including
#     BLOB data type for persisting custom Java objects and large Strings
#  2. using optional data model, where one table contains all data types except
#     BLOB, and there is another table that references previous table, and is
#     used only for storing BLOB information (for persisting custom Java objects
#     and large Strings)
# Default is to use standard data model, but using optional data model can improve
# performance in use cases where there are not so many custom Java objects and
# large String objects, and when shark and DODS caches are not used, and this is
# especially better choice if using Oracle DB.
#DODSPersistentManager.useStandardVariableDataModel=true


#=============================================================================
# Limit Agent configuration
#
#-----------------------------------------------------------------------------
#
LimitAgentManagerClassName=org.enhydra.shark.limitagent.StandardLimitAgentManager

# The following can be uncommented if you are not using shark in EJB enviroment
#LimitAgentManagerClassName=org.enhydra.shark.limitagent.TimerLimitAgentManager


#=============================================================================
# Default LockMaster is DODS
#
#-----------------------------------------------------------------------------

# SimpleLockMaster defaults
#
#LockMasterClassName=org.enhydra.shark.processlocking.SimpleLockMaster

# The number of milliseconds to wait for a locked process, -1 is default
# for the simple lock master implementation, and it means wait forever
#SimpleLockMaster.Timeout=-1

# The number of milliseconds to try to acquire lock for the process if we
# must wait for it to be unlocked. Lock master will try to acquire process lock
# every SimpleLockMaster.LockWaitTime milliseconds until it succeeds, or
# until SimpleLockMaster.Timeout milliseconds has passed (int that case, an
# exception will be thrown).
# The simple lock master implementation default is 100 milliseconds
#SimpleLockMaster.LockWaitTime=100

#-----------------------------------------------------------------------------
# DODSLockMaster defaults
#
LockMasterClassName=org.enhydra.shark.processlocking.DODSLockMaster

# The number of milliseconds to wait for a locked process, -1 is default
# for the DODS lock master implementation, and it means wait forever
DODSLockMaster.Timeout=1200

# The number of milliseconds to try to acquire lock for the process if we
# must wait for it to be unlocked. Lock master will try to acquire process lock
# every DODSLockMaster.LockWaitTime milliseconds until it succeeds, or
# until DODSLockMaster.Timeout milliseconds has passed (int that case, an
# exception will be thrown).
# The DODS lock master implementation default is 100 milliseconds
DODSLockMaster.LockWaitTime=400

# The database holding information on locked processes
#DODSLockMaster.DatabaseName=sharkdb

# The cache sizes must be set to zero
DatabaseManager.DB.sharkdb.LockTable.cache.maxCacheSize=0
DatabaseManager.DB.sharkdb.LockTable.cache.maxSimpleCacheSize=0
DatabaseManager.DB.sharkdb.LockTable.cache.maxComplexCacheSize=0


#=============================================================================
# Default logging manager is Standard
#
#-----------------------------------------------------------------------------
#
# Standard logging manager defaults
#
#LoggingManagerClassName=org.enhydra.shark.logging.StandardLoggingManager


# Standard Logging manager is using log4j, and here is log4j configuration
#
#log4j.rootLogger=info, SharkExecution

log4j.appender.Database=org.apache.log4j.RollingFileAppender
log4j.appender.Database.File=../logs/SharkPersistence.log
log4j.appender.Database.MaxFileSize=10MB
log4j.appender.Database.MaxBackupIndex=2
log4j.appender.Database.layout=org.apache.log4j.PatternLayout
log4j.appender.Database.layout.ConversionPattern=%d{ISO8601}: %m%n

log4j.appender.XMLOutFormatForPersistence=org.apache.log4j.FileAppender
log4j.appender.XMLOutFormatForPersistence.File=../logs/chainsaw-persistence.log
log4j.appender.XMLOutFormatForPersistence.append=false
log4j.appender.XMLOutFormatForPersistence.layout=org.apache.log4j.xml.XMLLayout

log4j.appender.PackageEvents=org.apache.log4j.RollingFileAppender
log4j.appender.PackageEvents.File=../logs/SharkPackageHandlingEvents.log
log4j.appender.PackageEvents.MaxFileSize=10MB
log4j.appender.PackageEvents.MaxBackupIndex=2
log4j.appender.PackageEvents.layout=org.apache.log4j.PatternLayout
log4j.appender.PackageEvents.layout.ConversionPattern=%d{ISO8601}: %m%n

log4j.appender.DatabaseManager=org.apache.log4j.RollingFileAppender
log4j.appender.DatabaseManager.File=../logs/dods.log
log4j.appender.DatabaseManager.MaxFileSize=10MB
log4j.appender.DatabaseManager.MaxBackupIndex=2
log4j.appender.DatabaseManager.layout=org.apache.log4j.PatternLayout
log4j.appender.DatabaseManager.layout.ConversionPattern=%d{ISO8601}: %m%n

log4j.appender.XMLOutFormatForPackageEvents=org.apache.log4j.FileAppender
log4j.appender.XMLOutFormatForPackageEvents.File=../logs/chainsaw-packageevents.log
log4j.appender.XMLOutFormatForPackageEvents.append=false
log4j.appender.XMLOutFormatForPackageEvents.layout=org.apache.log4j.xml.XMLLayout

log4j.appender.SharkExecution=org.apache.log4j.RollingFileAppender
log4j.appender.SharkExecution.File=../logs/SharkExecutionFlow.log
log4j.appender.SharkExecution.MaxFileSize=10MB
log4j.appender.SharkExecution.MaxBackupIndex=2
log4j.appender.SharkExecution.layout=org.apache.log4j.PatternLayout
log4j.appender.SharkExecution.layout.ConversionPattern=%d{ISO8601}: %m%n

log4j.appender.XMLOutFormatForExecution=org.apache.log4j.FileAppender
log4j.appender.XMLOutFormatForExecution.File=../logs/chainsaw-execution.log
log4j.appender.XMLOutFormatForExecution.append=false
log4j.appender.XMLOutFormatForExecution.layout=org.apache.log4j.xml.XMLLayout

# log4j.appender.NTEventLog=org.apache.log4j.nt.NTEventLogAppender
# log4j.appender.NTEventLog.source=SharkCORBA-Service
# log4j.appender.NTEventLog.layout=org.apache.log4j.PatternLayout
# log4j.appender.NTEventLog.layout.ConversionPattern="%d{ISO8601}: [%t], %p, %c: %m%n"

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601}: %m%n

#log4j.logger.Persistence=INFO,Database
#log4j.logger.Persistence=INFO,Database,XMLOutFormatForPersistence

#log4j.logger.PackageEventLogger=INFO,PackageEvents
#log4j.logger.PackageEventLogger=INFO,PackageEvents,XMLOutFormatForPackageEvents

#log4j.logger.Shark=INFO,Console,SharkExecution
#log4j.logger.Shark=INFO,Console,SharkExecution,XMLOutFormatForExecution

#log4j.logger.Scripting=INFO,Console,SharkExecution
#log4j.logger.Scripting=INFO,SharkExecution,XMLOutFormatForExecution

#log4j.logger.DatabaseManager=INFO,DatabaseManager
#log4j.logger.org.apache.axis.transport.http.SimpleAxisServer=INFO,Console

#=============================================================================
# Default participant map persistence manager is DODS
#
#-----------------------------------------------------------------------------
#
# DODS participant map persistent manager defaults
#
ParticipantMapPersistenceManagerClassName=org.enhydra.shark.partmappersistence.DODSParticipantMappingMgr

# If set to true, the debug information on participant mapping transaction will be
# written to console
#DODSParticipantMappingMgr.debug=false


#=============================================================================
# Default repository persistent manager is DODS
#

#RepositoryPersistenceManagerClassName=org.enhydra.shark.repositorypersistence.FileSystemRepositoryPersistenceManager

# The location of xpdl repository.
# If you want to specify it by relative path, you must know that this path must
# be relative to the Shark.conf file (in conf folder)
FileSystemRepositoryPersistenceManager.XPDL_REPOSITORY=../repository/internal

# The location of xpdl history repository.
# If you want to specify it by relative path, you must know that this path must
# be relative to the Shark.conf file (in conf folder)
FileSystemRepositoryPersistenceManager.XPDL_HISTORY_REPOSITORY=../repository/internal/history


RepositoryPersistenceManagerClassName=org.enhydra.shark.repositorypersistence.DODSRepositoryPersistenceManager

# The database used for Repository persistence when using DODS implementaion
#DODSRepositoryPersistenceManager.DatabaseName=sharkdb

# If set to true, the debug information on repository transaction will be
# written to console
#DODSRepositoryPersistenceManager.debug=false


#=============================================================================
# Default Scripting manager is Standard
#
#-----------------------------------------------------------------------------
#
ScriptingManagerClassName=org.enhydra.shark.scripting.StandardScriptingManager


#=============================================================================
# Default script map persistence manager is DODS
#
#-----------------------------------------------------------------------------
#
# DODS script map persistent manager defaults
#
#ScriptMapPersistenceManagerClassName=org.enhydra.shark.mappersistence.DODSScriptMappingMgr

# If set to true, the debug information on script mapping transaction will be
# written to console
#DODSScriptMappingMgr.debug=false


#=============================================================================
# Default Security manager is Standard
#
#-----------------------------------------------------------------------------
#
SecurityManagerClassName=org.enhydra.shark.security.StandardSecurityManager

# The possible security modes for this implementation of Security API are:
# NO_SECURITY     -> everybody can do anything
# NORMAL_SECURITY -> the operations of accepting/rejecting assignment (or changing
                     activity state to "open.running" or to "open.not_running.not_started"),
                     of reassigning accepted assignment and of changing activity's
                     variables ca be handled only by the user that owns a assignment/activity,
                     or by some predefined admin user
# ADMIN_SECURITY  -> various operations as creating or terminating a process, getting
                     the list of process manager's processes, process's activities, ...
SecurityManagerClassName.SECURITY_MODE=NORMAL_SECURITY

# the list of admin users
SecurityManagerClassName.AdminUser1=admin

#=============================================================================
# Default Tool agent settings
#
#-----------------------------------------------------------------------------
#
ToolAgentFactoryClassName=org.enhydra.shark.toolagent.ToolAgentFactoryImpl

# The list of tool agents
ToolAgent.JavaClassToolAgent=org.enhydra.shark.toolagent.JavaClassToolAgent
ToolAgent.JavaScriptToolAgent=org.enhydra.shark.toolagent.JavaScriptToolAgent
ToolAgent.BshToolAgent=org.enhydra.shark.toolagent.BshToolAgent
ToolAgent.RuntimeApplicationToolAgent=org.enhydra.shark.toolagent.RuntimeApplicationToolAgent
ToolAgent.MailToolAgent=org.enhydra.shark.toolagent.MailToolAgent
ToolAgent.SOAPToolAgent=org.enhydra.shark.toolagent.SOAPToolAgent
ToolAgent.SchedulerToolAgent=org.enhydra.shark.toolagent.SchedulerToolAgent

# Credentials for Scheduler Tool Agent
SchedulerToolAgent.sharkUsername=admin
SchedulerToolAgent.sharkPassword=enhydra

#
# the properties for our default implementation of MailMessageHandler interface
# required by MailToolAgent
#

# the parameters for retrieving mails, possible values for protocol are "pop3" and "imap"
DefaultMailMessageHandler.IncomingMailServer=pop.bizmail.yahoo.com
DefaultMailMessageHandler.IncomingMailProtocol=pop3
DefaultMailMessageHandler.StoreFolderName=INBOX
DefaultMailMessageHandler.IMAPPortNo=143
DefaultMailMessageHandler.POP3PortNo=110

# the parameters for sending mails
DefaultMailMessageHandler.SMTPMailServer=smtp.bizmail.yahoo.com	
DefaultMailMessageHandler.SMTPPortNo=25
DefaultMailMessageHandler.SourceAddress=jdixon@pentaho.org

# credentials
DefaultMailMessageHandler.Login=jdixon@pentaho.org
DefaultMailMessageHandler.Password=trip2004

# Default tool agent is used when there is no mapping for some
# XPDL application definition
DefaultToolAgent=org.enhydra.shark.toolagent.DefaultToolAgent

# Specifies the size of cache for holding ext. attributes (for shark performance reason)
# Default -1 means unlimited
#AbstractToolAgent.extAttribsCacheSize=-1

# ASAPToolAgent - settings for default observer
ASAPToolAgent.Observer=/axis/services/asapObserverBinding

#=============================================================================
# Default transaction factory is DODS
#
#-----------------------------------------------------------------------------
# DODSTransactionFactory defaults
#
TransactionManagerClassName=org.enhydra.shark.transaction.DODSTransactionFactory

# If set to true, the debug information on shark transaction will be
# written to console
#DODSTransactionFactory.debug=false


#=============================================================================
# Default UserGroupManager is DODS
#
# WARNING: This and authentication manager must comply.
#-----------------------------------------------------------------------------
#UserGroupManagerClassName=org.enhydra.shark.usergroup.LDAPUserGroupManager
UserGroupManagerClassName=org.enhydra.shark.usergroup.DODSUserGroupManager
# Specifies the size of LRU cache for holding user attributes (for shark performance reason)
# for LRU implementation
LDAPClient.userAttributesCacheSize=100

# Specifies the size of LRU cache for holding group attributes (for shark performance reason)
# for LRU implementation
LDAPClient.groupAttributesCacheSize=100

# The database used for User/Group when using DODS implementaion
#DODSUserGroupManager.DatabaseName=sharkdb


#=============================================================================
# Default user transaction factory is DODS
#
#-----------------------------------------------------------------------------
# DODSUserTransactionFactory defaults
#
UserTransactionManagerClassName=org.enhydra.shark.usertransaction.DODSUserTransactionFactory

# If set to true, the debug information on user transaction will be
# written to console
#DODSUserTransactionFactory.debug=false


#=============================================================================
# WfEngineInterpoerability manager
#
#-----------------------------------------------------------------------------
#
WfEngineInteroperabilityManagerClassName=org.enhydra.shark.interoperability.WfXMLInteroperabilityImpl
#Interoperability.Host=localhost
#Interoperability.Port=8080


#=============================================================================
# DODS Settings for Id Generator
#-----------------------------------------------------------------------------
# default cache size for Ids (if cache size for particular object Id is not
# specified, then this size is used, and if this cache size also isn't
# specified, program default is used)
DODS.defaults.IdGenerator.CacheSize=100

# cache size for process instance Ids
#DODS.IdGenerator._process_.CacheSize=100

# cache size for activity instance Ids
#DODS.IdGenerator._activity_.CacheSize=100


################################# CORBA Settings when used as CORBA service
nameserverhost=localhost
nameserverport=10123

DEFAULT_ADMINISTRATOR_GROUP_NAME=AdminGroup
DEFAULT_ADMINISTRATOR_GROUP_DESCRIPTION=Default Admin Group
DEFAULT_ADMINISTRATOR_USERNAME=admin
DEFAULT_ADMINISTRATOR_PASSWORD=enhydra
DEFAULT_ADMINISTRATOR_FIRST_NAME=Administrator
DEFAULT_ADMINISTRATOR_LAST_NAME=Admin
DEFAULT_ADMINISTRATOR_EMAIL=admin@together.at

# nameserver.executable=D:/tools/j2sdk1.4.2_07/bin/tnameserv

# if set to value greater than zero, shark's CORBA wrapper will periodically
# restart nameserver (the given period is in minutes)
nameserver.restarting_period_minutes=0

Deadlines.SERVER_SIDE_CHECKING=false
Limits.SERVER_SIDE_CHECKING=false

# The time in millis used to poll shark for checking deadlines if
# server side checking is ON
Deadlines.pollingTime=300000

# The time in millis used to poll shark for checking limits if
# server side checking is ON
Limits.pollingTime=60000

# It has been noticed that CORBA server has memory leaking. This option
# tries to prevent it, by making the server track and disconnect objects
# when client says so (on SharkConnection and other intefaces disconnect
# method). When turned off, server behaves as before, not caring about
# object deallocation.
#
# See also: SharkCORBAServer.doneWith(org.omg.CORBA.Object toDisconnect)

CORBAServer.TrackAndDisconnect=true

# If set to true, when CORBA server has problem contacting external requester
# for the first time, due to the network problem or client application shutdown,
# next time it won't try to contact the requester for this process instance
CORBAServer.ignoreProblematicRequester=true