You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Sathwik Bantwal Premakumar (JIRA)" <ji...@apache.org> on 2015/07/31 10:58:05 UTC

[jira] [Commented] (ODE-1035) Process properties defined in deploy.xml is currently restricted to a maximum of 255 character per property in the database

    [ https://issues.apache.org/jira/browse/ODE-1035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14648954#comment-14648954 ] 

Sathwik Bantwal Premakumar commented on ODE-1035:
-------------------------------------------------

There are some challenges with implementing ODE-1035.

1) Do we need to add a new column "DATA" of type LOB to hold process properties in STORE_PROCESS_PROP, currently "VALUE" field is of type varchar(255)

    OpenJPA: ProcessConfDaoImpl uses a separate entity ProcessConfPropertyDaoImpl which maps to to table STORE_PROCESS_PROP
    Hibernate: ProcessConfDaoImpl uses a hibernate.map configuration to map to STORE_PROCESS_PROP, there is no explicit Entity class used here.

    These process properties are accessed via setProperty and getProperty in org.apache.ode.store.ProcessConfDAO which the ProcessConfDaoImpl implements.

    If we define two new accessor methods setProcessProperty and  getProcessProperty  mapping to the new added column we need to make the necessary changes in the ProcessConfDaoImpl.
    We will keep the old methods setProperty and getProperty and mark them as @depricated in interface org.apache.ode.store.ProcessConfDAO

2) Migration: Call setProcessProperty(getProperty(QName property_name))

The Migration interface defines the method
migrate(Set<BpelProcess> registeredProcesses, BpelDAOConnection connection);

Currently there is no way to get hold of ProcessConfDAO from either BpelProcess or BpelDAOConnection.

The way to access ProcessConfDao is via

ConfStoreConnectionFactory.getConnection() returns ConfStoreConnection
ConfStoreConnection.getDeploymentUnit(duName) returns DeploymentUnitDAO
DeploymentUnitDAO.getProcess(QName pid) returns ProcessConfDAO

The ConfStoreConnectionFactory is instantiated in ProcessStoreImpl and the ProcessStore interface doesn't have any method to return ConfStoreConnectionFactory.

Apparently ProcessStore interface defines two methods which sets the values for process property, but there is no getProperty defined.

Any other Ideas?

> Process properties defined in deploy.xml is currently restricted to a maximum of 255 character per property in the database
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-1035
>                 URL: https://issues.apache.org/jira/browse/ODE-1035
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3.6
>            Reporter: Sathwik Bantwal Premakumar
>             Fix For: 1.3.7
>
>         Attachments: error.log
>
>
> After upgrading HSQL DB used by testcases to latest version in ODE-1034, the failing testcase org.apache.ode.test.DataHandling20Test.testAssignActivity2 is due to the fact that the process properties defined within deploy.xml cannot exceed the the current database column width of 255 characters.
> Process properties can be xml or non xml data and should be stored in a wider column of type LOB or appropriate.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)