The XML definition file for Integration Repositories conforms to the integration-repository Document Type Definition with the URL:

http://www.atg.com/dtds/integrations/integration-repository_1.0.dtd

The definition file includes the following elements:

integration-repository-template tag

The integration-repository-template tag acts as a container for the Integration Repository definition file. It contains a single header tag and one or more item-descriptor tags.

header tag

The header tag contains information about the Integration Repository definition file. It can contain the following child elements:

item-descriptor tag

Each item descriptor in the local repository that is integrated must be defined in the Integration Repository definition file and configured in the item-descriptor tag. This tag has the following attributes:

Attribute

Description

name

The name of the item descriptor being configured. This must match the name of the item descriptor in the local repository.

mapping-file

This is the default mapping file that is used when sending a repository item to any of the configured commands. The mapping file controls which properties are sent as input, and what the external names of those properties are. See Mapping.

external-id-property

Just as there is a local ID (repositoryId) for each item in the local repository, there must also be an ID for each corresponding item in the remote system. This attribute identifies which repository item property in the local repository will be used to store the external ID. The external ID property does not have to be the same property as the repository ID in the local repository. If it is not, set use-external-id to false.

use-external-id

If the local repository ID should match the external ID, then this property should be set to true. If the external ID is just stored as a non-ID property on the local item, then set this property to false.

local-value-timeout

This property configures the number of milliseconds that a local item is valid before it should be retrieved from the external system. For example, if this is set to 600000, and you call getItem, then each subsequent call to getItem for the next 10 minutes will return that same item with no updates. After 10 minutes, a call to getItem will once again execute the getItem command.

read-only-states

Each item retrieved from the remote system has a state associated with it in the persistent cache. The state can be one of OK, INVALID, or UNKNOWN. The default value is UNKNOWN. This property identifies which of those states will render the item read-only. This is useful if you timed out on a recent call to getItem and you still want people to be able to view the item but do not want to run the risk of them changing it. See Persistent Caching.

allow-local-operation

This attribute controls the behavior if there is no configured command for a particular operation. If this attribute is true, then the local repository can act on the local repository item without reference to the remote system. For example, if there is no update-item command configured, and someone calls updateItem, is this an error? Should the update just go to the local repository with no Command execution?

item-descriptor Child Tags

The item-descriptor tag has the child tags described in the following table. The operations defined by these tags are also described in the Command Operations section.

Tag

Description

query

This configures the behavior of the Integration Repository when the executeQuery method is called on the RepositoryView for items of this type.

Attributes:

command
This is the Nucleus path to the Command implementation that will perform the query of the remote system.

view-class
If the default view class is not sufficient for querying items of this type, this subclass of atg.adapter.integrations.IntegrationRepositoryView will be used for queries instead.

query-cache-size
This is the same as the SQL repository attribute of the same name. How many queries will be cached at a time?

query-expire-timeout
The time in milliseconds that each query cache entry remains valid.

get-item

This configures the behavior of the Integration Repository when getItem is called for repository items of this type.

Attributes:

command
This is the Nucleus path to the Command implementation that will get the item from the remote system. Usually, the Command for getting is the same as the Command for querying.

use-local-on-failure
If this attribute is set to true then a locally cached value will be used in cases that the Command fails. For example, if the remote system is unavailable, the locally cached item will be returned to the user. If the remote item has never been retrieved before, this attribute has no effect.

update-item

This configures the behavior of the Integration Repository when updateItem is called for repository items of this type. It can optionally contain a derived-properties tag as a child element. See updateItem and Derived Properties in the Command Operations section.

Attributes:

command
This is the Nucleus path to the Command implementation that will update the item in the remote system.

mapping-file
If the mapping file that is defined on the item descriptor is insufficient for creating input to the update Command, a different mapping file can be configured here. One common use for this is to exclude read-only properties from the input.

timeout-response
This defines the behavior in response to a CommandTimeoutException thrown by the update item Command. If this is not set, then the repository’s defaultTimeoutResponse property will be used instead. The possible settings for this attribute are: ROLLBACK, INVALID, UNKNOWN, IGNORE. The default is ROLLBACK.

changed-properties-only
If this is set to true, then only properties that have changed will be passed to the update item Command. The external-id-property is always included.

update-local-with-result
If this is set to true, then the Integration Repository will look in the CommandResult for new property values. Any values that appear in the result will be set on the local value of the item.

ignore-external-id-change
If this is set to true, then if the only changed property on the item is the external ID property, no call to the update item Command will be made.

add-item

This configures the behavior of the Integration Repository when addItem is called for repository items of this type.

Attributes:

command
This is the Nucleus path to the Command implementation that will add the item to the remote system.

mapping-file
If the mapping file that is defined on the item descriptor is insufficient for creating input to the add Command, a different mapping file can be configured here. One common use for this is to exclude read-only properties from the input.

timeout-response
This defines the behavior in response to a CommandTimeoutException thrown by the add item Command. If this is not set, then the repository’s defaultTimeoutResponse property will be used instead. The possible settings for this attribute are: ROLLBACK, INVALID, UNKNOWN, IGNORE. The default is ROLLBACK.

update-local-with-result
If this is set to true, then the Integration Repository will look in the CommandResult for new property values. Any values that appear in the result will be set on the local value of the item.

remove-item

This configures the behavior of the Integration Repository when removeItem is called for repository items of this type.

Attributes:

command
This is the Nucleus path to the Command implementation that will remove the item from the remote system.

timeout-response
This defines the behavior in response to a CommandTimeoutException thrown by the remove item Command. If this is not set, then the repository’s defaultTimeoutResponse property will be used instead. The possible settings for this attribute are: ROLLBACK, INVALID, UNKNOWN, IGNORE. The default is ROLLBACK.

derived-properties

If your underlying local repository uses the derived properties feature of the SQL repository and you have set changed-properties-only="true" in the update-item element, then you should define a derived-properties element to specify how the derived properties are handled. The derived-properties element is a container for a list of derived properties mapped to some property that is used in the derivation. The derived-properties element can optionally be used as a child element of an update item tag. See updateItem and Derived Properties in the Command Operations section. See also SQL Repository Data Models: Derived Properties in the Repository Guide for more information about derived properties.

The derived-properties element contains one or more property tags.

property

The property tag in the Integration Repository definition file is a child element of a derived-properties element.

Attributes:

A property tag in a derived-properties element uses the following attributes:

name - The name of a property that can be derived from the referenced-property.

referenced-property - The name of a derivation expression of a derived property specified by the name attribute.

If changed-properties-only="true" in the update-item element, then whenever the referenced-property is sent in the update command, the property specified by the name attribute will be as well. See updateItem and Derived Properties in the Command Operations section

integration-repository Document Type Definition
<?xml encoding="UTF-8"?>

<!-- =============================================================== -->
<!-- integration-repository_1.0.dtd - Integration Repository configuration spec
 -->
<!-- @version $Id: //product/DAS/main/Java/atg/dtds/integrations/integration-
repository_1.0.dtd#5 $$Change: 294774 $ -->
<!-- =============================================================== -->

<!-- ===============================================================
 The following XML attributes have a uniform meaning throughout
 this DTD:

 (none yet)

 =============================================================== -->

<!-- =============================================================== -->
<!-- integration-repository-configuration - top level element -->
<!-- =============================================================== -->

<!ENTITY % timeoutresponses "(ROLLBACK|UNKNOWN|INVALID|IGNORE)">

<!ELEMENT integration-repository-template (header?, item-descriptor*)>

<!-- The header -->
<!ELEMENT header (name?, author*, version?, description?)>

<!-- Name of template -->
<!ELEMENT name (#PCDATA)>

<!-- The author(s) -->
<!ELEMENT author (#PCDATA)>

<!-- Version string -->
<!ELEMENT version (#PCDATA)>

<!-- Description string -->
<!ELEMENT description (#PCDATA)>


<!-- =============================================================== -->
<!-- integration-view element: -->
<!-- The definition of a view as it appears to code that calls the -->
<!-- integration repository. -->
<!-- =============================================================== -->

<!ELEMENT item-descriptor (query?, get-item?, update-item?, add-item?,
 remove-item?)>


<!ATTLIST item-descriptor
 name CDATA #REQUIRED
 mapping-file CDATA #IMPLIED
 external-id-property CDATA #IMPLIED
 use-external-id CDATA #IMPLIED
 local-value-timeout CDATA #IMPLIED
 read-only-states CDATA #IMPLIED
 allow-local-operation CDATA #IMPLIED
>

<!ELEMENT query EMPTY>

<!ATTLIST query
 command CDATA #IMPLIED
 view-class CDATA #IMPLIED
 query-cache-size CDATA #IMPLIED
 query-expire-timeout CDATA #IMPLIED
>

<!ELEMENT get-item EMPTY>

<!ATTLIST get-item
 command CDATA #IMPLIED
 use-local-on-failure CDATA #IMPLIED
>

<!ELEMENT update-item (derived-properties?)>

<!ATTLIST update-item
 command CDATA #IMPLIED
 mapping-file CDATA #IMPLIED
 timeout-response %timeoutresponses; "ROLLBACK"
 changed-properties-only CDATA #IMPLIED
 update-local-with-result CDATA #IMPLIED
 ignore-external-id-change CDATA #IMPLIED
>

<!ELEMENT derived-properties (property+)>

<!ELEMENT property EMPTY>

<!ATTLIST property
 name CDATA #REQUIRED
 referenced-property CDATA #REQUIRED
>

<!ELEMENT add-item EMPTY>

<!ATTLIST add-item
 command CDATA #IMPLIED
 mapping-file CDATA #IMPLIED
 timeout-response %timeoutresponses; "ROLLBACK"
 update-local-with-result CDATA #IMPLIED
>

<!ELEMENT remove-item EMPTY>

<!ATTLIST remove-item
 command CDATA #IMPLIED
 timeout-response %timeoutresponses; "ROLLBACK"
>

Copyright © 1997, 2016 Oracle and/or its affiliates. All rights reserved. Legal Notices