You are viewing the documentation for Blueriq 13. Documentation for other versions is available in our documentation directory.

Before you upgrade make sure to read the General Upgrade instructions as well as the Upgrade instructions for previous versions.

The changes are color coded. Orange elements have been changed, Green elements have been added and Red elements have been removed compared to the 12.x release.

Table of contents

H2 database downgrade

Due to a bug in version 1.4.200 of the H2 database library that affected the Customer Data Service, we downgraded H2 to version 1.4.197. If you have been using H2 as a database in combination with Blueriq 13.0.2 or Blueriq 13.0.3, which is the installer's default, you will need to remove the database files and restart the Customer Data Service and the Runtime. If you need to preserve the data, you can make an export and import it in the new version, using the H2 console.

If you used the installer, the database files are located at:

  • <Blueriq Installation Location>\conf\*.db
  • <Blueriq Installation Location>\Services\customerdata\conf\*.db

SDK API changes

Deprecated: unique identifier from studio for elements

The SDK had a number of methods revolving around Studio providing a unique identifier for each element in the model. Studio stopped doing that in release 8, so these methods were deprecated then. Now these methods have been removed.

Most changes listed contain interfaces from which methods have been removed. These interfaces are implemented by a lot of classes not listed here.

interface com.aquima.interactions.composer.ds.IElementDS, com.aquima.interactions.composer.ds.IReferenceDS, com.aquima.interactions.composer.IElementDefinition, com.aquima.interactions.metamodel.ds.IDomainDS, com.aquima.interactions.metamodel.IDomainDefinition, com.aquima.interactions.project.ds.IExpanderDS, com.aquima.interactions.project.ds.IParameterDS, com.aquima.interactions.project.ds.IRoleDS, com.aquima.interactions.project.ds.IServiceDS, com.aquima.interactions.project.ds.IValidatorDS, com.aquima.interactions.project.IExpanderDefinition, com.aquima.interactions.project.IRole, com.aquima.interactions.project.IServiceDefinition, com.aquima.interactions.project.IValidatorDefinition, com.aquima.interactions.rule.ds.IRuleDS, com.aquima.interactions.rule.ds.IRuleGroupDS, com.aquima.interactions.rule.IBusinessRule, com.aquima.interactions.rule.IDataRuleDefinition, com.aquima.interactions.rule.IRuleGroup,

class com.aquima.interactions.composer.ds.xml.r8.parsing.XmlFieldValidationDS, com.aquima.interactions.composer.ds.xml.r8.parsing.XmlTextNodeDS, com.aquima.interactions.composer.model.definition.AbstractReference, com.aquima.interactions.composer.model.definition.ElementDefinition

  • method com.aquima.interactions.foundation.GUID getId()

interface com.aquima.interactions.metamodel.ds.IAttributeDS, com.aquima.interactions.metamodel.ds.IEntityDS

  • method com.aquima.interactions.foundation.GUID getId() → return type changed to java.lang.String

interface com.aquima.interactions.metamodel.IAttributeDefinition

  • method com.aquima.interactions.foundation.GUID getGuid()
  • method java.lang.String getId()

interface com.aquima.interactions.metamodel.IEntityDefinition

  • method com.aquima.interactions.metamodel.IAttributeDefinition getAttribute(com.aquima.interactions.foundation.GUID)
  • method com.aquima.interactions.foundation.GUID getGuid()
  • method java.lang.String getId()

interface com.aquima.interactions.metamodel.IMetaModel

  • method com.aquima.interactions.metamodel.IAttributeDefinition getAttribute(com.aquima.interactions.foundation.GUID)
  • method  com.aquima.interactions.metamodel.IEntityDefinition getEntityDefinition(com.aquima.interactions.foundation.GUID)

class com.aquima.interactions.composer.model.definition.TextCompositeDefinition

  • constructor TextCompositeDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextNodeDS, com.aquima.interactions.foundation.GUID)
  • constructor TextCompositeDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextNodeDS, java.lang.String)

class com.aquima.interactions.composer.model.definition.TextConditionDefinition

  • constructor TextConditionDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextNodeDS, com.aquima.interactions.foundation.GUID)
  • constructor TextConditionDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextNodeDS, java.lang.String)

class com.aquima.interactions.composer.model.definition.TextContentVisitor

  • constructor TextContentVisitor(com.aquima.interactions.foundation.GUID, com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.model.definition.TextDefinition)
  • constructor TextContentVisitor(java.lang.String, com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.model.definition.TextDefinition)

class com.aquima.interactions.composer.model.definition.TextDefinition

  • constructor TextDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextDS, com.aquima.interactions.foundation.GUID)
  • constructor TextDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextDS)

class com.aquima.interactions.composer.model.definition.TextNodeVisitor

  • constructor TextNodeVisitor(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.model.definition.TextCompositeDefinition, com.aquima.interactions.foundation.GUID)
  • constructor TextNodeVisitor(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.model.definition.TextCompositeDefinition, java.lang.String)

class com.aquima.interactions.composer.model.definition.TextRootDefinition

  • constructor TextRootDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextNodeDS, com.aquima.interactions.foundation.GUID)
  • constructor TextRootDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextNodeDS, java.lang.String)

class com.aquima.interactions.composer.model.definition.TextStyleDefinition

  • constructor TextRootDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextNodeDS, com.aquima.interactions.foundation.GUID)
  • constructor TextStyleDefinition(com.aquima.interactions.rule.IParserFactory, com.aquima.interactions.composer.ds.ITextNodeDS, java.lang.String)

class com.aquima.interactions.composer.model.Element

  • method com.aquima.interactions.foundation.GUID getContainmentId()
  • method void setContainmentId(com.aquima.interactions.foundation.GUID)

Non interactive session

For DCM 2.0, the case engine will start automatic tasks in the runtime. To be able to do so, a non interactive session (without user interaction) should be started on the runtime. A few methods have been added on the SDK to facilitate that.

interface com.aquima.interactions.portal.IApplication, class com.aquima.interactions.portal.model.Application, class com.aquima.interactions.portal.model.process.ProcessEnabledApplication, class com.aquima.interactions.portal.portalmessage.PortalMessageApplication

  • method com.aquima.interactions.portal.IPortalSession createNonInteractiveSession(com.aquima.interactions.project.IUserData, com.aquima.interactions.portal.IPortalMessageBus, com.aquima.interactions.portal.IPortalEventBus)

class com.aquima.interactions.portal.model.process.NonInteractiveProcessEnabledSession

class com.aquima.interactions.portal.model.process.ProcessEnabledSession

  • method com.aquima.interactions.portal.PortalEvent createEventForExitState(com.aquima.interactions.flow.ExitState)
  • method long getTaskId()
  • method com.aquima.interactions.portal.PortalResponse handleResponse(com.aquima.interactions.portal.PortalResponse)
  • method boolean shouldHandleResponse()

class com.aquima.interactions.portal.TaskPortalEvent

class com.aquima.interactions.process.impl.EvaluationQueue

  • constructor protected EvaluationQueue(com.aquima.interactions.process.impl.ProcessEngine, com.aquima.interactions.process.impl.ProcessEvaluator, com.aquima.interactions.process.impl.INodeHandlerFactory)
  • method boolean shouldExpire(com.aquima.interactions.process.dao.ITaskModel, com.aquima.interactions.process.nodes.IProcessNodeDefinition, com.aquima.interactions.foundation.types.DateTimeValue)

class com.aquima.interactions.process.impl.ProcessEvaluator

  • method void setEvaluationQueue(com.aquima.interactions.process.impl.EvaluationQueue)

class com.aquima.interactions.process.impl.ProcessTask

  • method void evaluateAfterComplete(com.aquima.interactions.project.IUserData, java.lang.String, com.aquima.interactions.process.impl.ProcessCase)
  • method void start(com.aquima.interactions.project.IUserData) → removed throws com.aquima.interactions.process.exception.ProcessCaseLockedException, com.aquima.interactions.process.exception.ProcessTaskAccessDeniedException

interface com.aquima.interactions.process.IProcessTask, class com.aquima.interactions.process.wrapper.ReadonlyProcessTask

  • method void evaluateAfterComplete(com.aquima.interactions.project.IUserData, java.lang.String, com.aquima.interactions.process.impl.ProcessCase)

Case locking

The case locking mechanism has been slightly changed: instead of throwing an exception when the case cannot be locked, null is returned.

interface com.aquima.interactions.process.dao.IProcessCaseDao

  • method com.aquima.interactions.process.dao.ICaseModel acquireLock(long, java.lang.String) → removed throws com.aquima.interactions.process.dao.exception.ProcessDataAccessException, com.aquima.interactions.process.exception.ProcessCaseLockedException, com.aquima.interactions.process.exception.UnknownProcessCaseException

class com.aquima.interactions.process.dao.impl.NullProcessCaseDao, com.aquima.interactions.process.dao.impl.MemoryCaseDao, com.aquima.interactions.process.impl.ProcessCaseRepository

  • method com.aquima.interactions.process.dao.ICaseModel acquireLock(long, java.lang.String) → removed throws com.aquima.interactions.process.exception.ProcessCaseLockedException

class com.aquima.interactions.process.exception.CouldNotLockCaseException

class com.aquima.interactions.process.exception.ProcessCaseLockedException

Known issues

For an overview of known issue please refer to: Known issues.

  • No labels