public class EaTables
extends java.lang.Object
The constructor takes an instance of EaSelector
that performs access to the underlying
repository and produces tables (maps) as a simple initial in-memory model. For those scenarios
where we don't need to export diagrams or XMI from EA (with its repository/project methods),
after construction of this instance we can safely close the EA repository.
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
_aeStereosPerConnUuid
Used for connector end stereotypes; key is connector UUID, values are src and dest stereos.
|
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_attributesPerOwnerId |
private java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.String>>> |
_connectorsPerTypePerId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_constraintsPerAttributeId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_constraintsPerObjectId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_diagramsPerOwnerId |
private static org.apache.log4j.Logger |
_logger |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_objectsPerObjectOwnerId |
private java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.String>>> |
_objectsPerTypePerId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_operationsPerOwnerId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_packagesPerOwnerId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_parametersPerOwnerId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.List<java.util.Map<java.lang.String,java.lang.String>>>> |
_roleTagsPerConnectorId |
private java.util.Map<java.lang.String,java.lang.String> |
_stereosPerOwnerUuid
Used for all but diagram's and connector end's stereotypes.
|
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_taggedValuesPerAttributeId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_taggedValuesPerConnectorId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_taggedValuesPerObjectId |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
_taggedValuesPerOperationId |
Constructor and Description |
---|
EaTables(EaSelector selector,
boolean skipTiming)
Constructor; loads all the relevant content from the repository into simple data structures
(maps).
|
Modifier and Type | Method and Description |
---|---|
private java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
fincConnectorEndTags(int index,
java.lang.Integer containingConnId) |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findAttributeConstraints(java.lang.Integer containingAttrId)
Returns constraints for
containingAttrId if existing, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findAttributes(java.lang.Integer containingClassId)
Returns attributes for
containingClassId if existing, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findAttributeTags(java.lang.Integer containingElemId)
Returns tagged values for
containingElemId if existing, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findClassEmbeddedElements(java.lang.Integer containingObjectId)
Returns elements embedded in
containingObjectId if existing, empty list
otherwise. |
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
findConnectorRowsPerGuid(java.util.Set<java.lang.String> connGuids) |
private java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findConnectors(boolean applyFilters,
boolean include,
java.util.List<java.lang.String> typeNames,
java.lang.Integer elementId) |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findConnectors(boolean include,
java.util.List<java.lang.String> typeNames,
java.lang.Integer elementId)
Returns connectors that include or exclude
typeNames for elementId
if found, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findConnectors(java.lang.Integer elementId)
Returns all connectors for
elementId if found, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findConnectorSourceEndTags(java.lang.Integer containingConnId)
Returns tagged values for source end of
containingConnId if existing, empty list
otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findConnectorTags(java.lang.Integer containingElemId)
Returns tagged values for
containingElemId if existing, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findConnectorTargetEndTags(java.lang.Integer containingConnId)
Returns tagged values for target end of
containingConnId if existing, empty list
otherwise. |
java.lang.String |
findElementTypeAndName(java.lang.Integer objectId)
Returns type and name (as string) for
objectId if found, null otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findObjectConstraints(java.lang.Integer containingObjectId)
Returns constraints for
containingObjectId if existing, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findObjectDiagrams(java.lang.Integer containingObjectId,
java.lang.String containerName)
Returns ordered diagrams under object
containingObjectId if existing, empty list
otherwise; if containingObjectId = 0, then the returned diagrams belong to
packages and it makes no sense to order them here, because you need to further filter the
items for their packageId first, then order the result (sorry, that's how EA stores
diagrams...). |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findObjectTaggedValues(java.lang.Integer containingObjectId)
Returns constraints for
containingElemId if existing, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findOperations(java.lang.Integer containingClassId)
Returns operations for
containingClassId if existing, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findOperationTags(java.lang.Integer containingOpId)
Returns tagged values for
containingOpId if existing, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findOrderedParameters(java.lang.Integer containingOpId)
Returns ordered parameters for
containingOpId if existing, empty list otherwise. |
private java.util.Map<java.lang.String,java.lang.String> |
findPackageAsObject(java.lang.String guid)
Returns package as EA object (defined in object table) for package guid.
|
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findPackageClasses(java.lang.Integer containingPackageId,
java.lang.String name)
Returns ordered classifiers in
containingPackageId if existing, empty list
otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findPackageDiagrams(java.lang.Integer containingPackageId,
java.lang.String containerName)
Returns ordered diagrams under package
containingPackageId if existing, empty
list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findPackageEmbeddedElements(java.lang.Integer containingPackageId)
Returns non-classifiers and non-packages in package
containingPackageId if
existing, empty list otherwise. |
java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findPackageSubpackages(java.lang.Integer containingPackageId,
java.lang.String name)
Returns ordered packages in
containingPackageId if existing, empty list
otherwise. |
private java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
findRows(java.lang.Integer containerId,
java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> rowsPerContainerId) |
private void |
finishInitialisePackagesFromObjects()
Some data for packages is split into 2 tables - sic!
|
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
initPerOwnerId(java.util.List<java.util.Map<java.lang.String,java.lang.String>> table,
java.lang.String ownerIdTag) |
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> |
initPerOwnerId(java.util.List<java.util.Map<java.lang.String,java.lang.String>> table,
java.lang.String ownerIdTag,
java.util.Map<java.lang.String,java.lang.String> stereosPerUuid,
boolean deduceParamAlias,
java.lang.String... deducedTags) |
private java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.String>>> |
initPerTypePerId(java.util.List<java.util.Map<java.lang.String,java.lang.String>> table,
java.lang.String typeTag,
java.lang.String idTag,
java.util.Map<java.lang.String,java.lang.String> stereosPerUuid,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> aeStereosPerConnUuid) |
private java.util.Map<java.lang.Integer,java.util.List<java.util.List<java.util.Map<java.lang.String,java.lang.String>>>> |
initRoleTagsPerConnectorUuid(java.util.List<java.util.Map<java.lang.String,java.lang.String>> rows) |
private java.util.Map<java.lang.String,java.lang.String> |
initStereosPerOwnerUuid(java.util.List<java.util.Map<java.lang.String,java.lang.String>> table,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> aeStereosPerConnUuid)
Returns the "regular" map of stereotypes, plus fills (if applicable)
aeStereosPerConnUuid with the stereotypes for connector ends. |
private boolean |
isRootPackage(java.util.Map<java.lang.String,java.lang.String> elemRow) |
private java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
orderItemsOrCatchScrewedOrdering(java.lang.String what,
java.util.List<java.util.Map<java.lang.String,java.lang.String>> rows,
java.lang.String containerName,
java.lang.String posTag,
java.lang.String nameTag) |
private static final org.apache.log4j.Logger _logger
private final java.util.Map<java.lang.String,java.lang.String> _stereosPerOwnerUuid
private final java.util.Map<java.lang.String,java.util.List<java.lang.String>> _aeStereosPerConnUuid
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _packagesPerOwnerId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _diagramsPerOwnerId
private final java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.String>>> _objectsPerTypePerId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _objectsPerObjectOwnerId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _constraintsPerObjectId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _taggedValuesPerObjectId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _attributesPerOwnerId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _constraintsPerAttributeId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _taggedValuesPerAttributeId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _operationsPerOwnerId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _taggedValuesPerOperationId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _parametersPerOwnerId
private final java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.String>>> _connectorsPerTypePerId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> _taggedValuesPerConnectorId
private final java.util.Map<java.lang.Integer,java.util.List<java.util.List<java.util.Map<java.lang.String,java.lang.String>>>> _roleTagsPerConnectorId
public EaTables(EaSelector selector, boolean skipTiming) throws ApplicationException
selector
- accesses EA dataApplicationException
private java.util.Map<java.lang.String,java.lang.String> initStereosPerOwnerUuid(java.util.List<java.util.Map<java.lang.String,java.lang.String>> table, java.util.Map<java.lang.String,java.util.List<java.lang.String>> aeStereosPerConnUuid)
aeStereosPerConnUuid
with the stereotypes for connector ends.private java.util.Map<java.lang.Integer,java.util.List<java.util.List<java.util.Map<java.lang.String,java.lang.String>>>> initRoleTagsPerConnectorUuid(java.util.List<java.util.Map<java.lang.String,java.lang.String>> rows)
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> findConnectorRowsPerGuid(java.util.Set<java.lang.String> connGuids)
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> initPerOwnerId(java.util.List<java.util.Map<java.lang.String,java.lang.String>> table, java.lang.String ownerIdTag)
private java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> initPerOwnerId(java.util.List<java.util.Map<java.lang.String,java.lang.String>> table, java.lang.String ownerIdTag, java.util.Map<java.lang.String,java.lang.String> stereosPerUuid, boolean deduceParamAlias, java.lang.String... deducedTags)
private java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.lang.String>>> initPerTypePerId(java.util.List<java.util.Map<java.lang.String,java.lang.String>> table, java.lang.String typeTag, java.lang.String idTag, java.util.Map<java.lang.String,java.lang.String> stereosPerUuid, java.util.Map<java.lang.String,java.util.List<java.lang.String>> aeStereosPerConnUuid)
private void finishInitialisePackagesFromObjects()
private boolean isRootPackage(java.util.Map<java.lang.String,java.lang.String> elemRow)
public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findPackageSubpackages(java.lang.Integer containingPackageId, java.lang.String name)
containingPackageId
if existing, empty list
otherwise.private java.util.List<java.util.Map<java.lang.String,java.lang.String>> orderItemsOrCatchScrewedOrdering(java.lang.String what, java.util.List<java.util.Map<java.lang.String,java.lang.String>> rows, java.lang.String containerName, java.lang.String posTag, java.lang.String nameTag)
public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findObjectDiagrams(java.lang.Integer containingObjectId, java.lang.String containerName)
containingObjectId
if existing, empty list
otherwise; if containingObjectId
= 0, then the returned diagrams belong to
packages and it makes no sense to order them here, because you need to further filter the
items for their packageId first, then order the result (sorry, that's how EA stores
diagrams...).public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findPackageDiagrams(java.lang.Integer containingPackageId, java.lang.String containerName)
containingPackageId
if existing, empty
list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findPackageClasses(java.lang.Integer containingPackageId, java.lang.String name)
containingPackageId
if existing, empty list
otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findPackageEmbeddedElements(java.lang.Integer containingPackageId)
containingPackageId
if
existing, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findConnectors(boolean include, java.util.List<java.lang.String> typeNames, java.lang.Integer elementId)
typeNames
for elementId
if found, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findConnectors(java.lang.Integer elementId)
elementId
if found, empty list otherwise.private java.util.List<java.util.Map<java.lang.String,java.lang.String>> findConnectors(boolean applyFilters, boolean include, java.util.List<java.lang.String> typeNames, java.lang.Integer elementId)
public java.lang.String findElementTypeAndName(java.lang.Integer objectId)
objectId
if found, null otherwise.private java.util.Map<java.lang.String,java.lang.String> findPackageAsObject(java.lang.String guid)
public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findClassEmbeddedElements(java.lang.Integer containingObjectId)
containingObjectId
if existing, empty list
otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findObjectConstraints(java.lang.Integer containingObjectId)
containingObjectId
if existing, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findObjectTaggedValues(java.lang.Integer containingObjectId)
containingElemId
if existing, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findAttributes(java.lang.Integer containingClassId)
containingClassId
if existing, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findAttributeConstraints(java.lang.Integer containingAttrId)
containingAttrId
if existing, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findAttributeTags(java.lang.Integer containingElemId)
containingElemId
if existing, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findConnectorTags(java.lang.Integer containingElemId)
containingElemId
if existing, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findConnectorSourceEndTags(java.lang.Integer containingConnId)
containingConnId
if existing, empty list
otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findConnectorTargetEndTags(java.lang.Integer containingConnId)
containingConnId
if existing, empty list
otherwise.private java.util.List<java.util.Map<java.lang.String,java.lang.String>> fincConnectorEndTags(int index, java.lang.Integer containingConnId)
public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findOperations(java.lang.Integer containingClassId)
containingClassId
if existing, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findOrderedParameters(java.lang.Integer containingOpId)
containingOpId
if existing, empty list otherwise.public java.util.List<java.util.Map<java.lang.String,java.lang.String>> findOperationTags(java.lang.Integer containingOpId)
containingOpId
if existing, empty list otherwise.private java.util.List<java.util.Map<java.lang.String,java.lang.String>> findRows(java.lang.Integer containerId, java.util.Map<java.lang.Integer,java.util.List<java.util.Map<java.lang.String,java.lang.String>>> rowsPerContainerId)
Copyright 2009-2015 Tatjana (Tanja) Kostic