de.deepamehta.core.impl
Class TypeStorageImpl

Show UML class diagram
java.lang.Object
  extended by de.deepamehta.core.impl.TypeStorageImpl
All Implemented Interfaces:
TypeStorage

 class TypeStorageImpl
extends Object
implements TypeStorage

Storage-impl agnostic support for fetching/storing type models.


Field Summary
private static String CHILD_CARDINALITY
           
private  EmbeddedService dms
           
private  Logger logger
           
private static String PARENT_CARDINALITY
           
private  Map<String,TypeModel> typeCache
           
 
Constructor Summary
TypeStorageImpl(EmbeddedService dms)
           
 
Method Summary
(package private)  void appendToSequence(long typeId, long assocDefId, AssociationDefinitionModel lastAssocDef)
           
private  void associateCardinality(long assocDefId, String cardinalityRoleTypeUri, String cardinalityUri)
           
private  void checkAssociationType(String assocTypeUri, Topic typeTopic)
           
private  void checkTopicType(String topicTypeUri, Topic typeTopic)
           
 AssociationDefinitionModel createAssociationDefinition(Association assoc)
           
(package private)  RoleModel createConfigurableAssocDef(long assocDefId)
           
(package private)  RoleModel createConfigurableType(long typeId)
           
private  String defaultCardinalityUri(Association assoc, String cardinalityRoleTypeUri)
           
private  void deleteSequence(Topic typeTopic)
           
private  ViewConfigurationModel fetchAssocDefViewConfig(Association assocDef)
           
 AssociationDefinitionModel fetchAssociationDefinition(Association assoc)
           
private  AssociationDefinitionModel fetchAssociationDefinition(Association assoc, String parentTypeUri, String childTypeUri)
           
private  List<AssociationDefinitionModel> fetchAssociationDefinitions(Topic typeTopic)
           
private  Map<Long,AssociationDefinitionModel> fetchAssociationDefinitionsUnsorted(Topic typeTopic)
           
private  AssociationTypeModel fetchAssociationType(String assocTypeUri)
           
private  RelatedTopicModel fetchCardinality(long assocDefId, String cardinalityRoleTypeUri)
           
private  RelatedTopicModel fetchCardinalityOrThrow(long assocDefId, String cardinalityRoleTypeUri)
           
 Topic fetchChildType(Association assoc)
           
private  String fetchCustomAssocTypeUri(Association assoc)
           
private  RelatedTopicModel fetchDataTypeTopic(long typeId, String typeUri, String className)
           
private  List<IndexMode> fetchIndexModes(long typeId)
           
private  List<String> fetchLabelConfig(List<AssociationDefinitionModel> assocDefs)
           
private  RelatedTopicModel fetchLabelConfigTopic(long assocDefId)
           
 Topic fetchParentType(Association assoc)
           
private  RelatedAssociationModel fetchPredecessor(long assocDefId)
           
private  List<RelatedAssociationModel> fetchSequence(Topic typeTopic)
           
private  RelatedAssociationModel fetchSequenceStart(long typeId)
           
private  RelatedAssociationModel fetchSuccessor(long assocDefId)
           
private  TopicTypeModel fetchTopicType(String topicTypeUri)
           
private  ViewConfigurationModel fetchTypeViewConfig(Topic typeTopic)
           
(package private)  AssociationTypeModel getAssociationType(String assocTypeUri)
           
(package private)  TopicTypeModel getTopicType(String topicTypeUri)
           
private  TypeModel getType(String typeUri)
           
(package private)  void insertAtSequenceStart(long typeId, long assocDefId)
           
(package private)  void insertIntoSequence(long assocDefId, long beforeAssocDefId)
           
private  void putInTypeCache(TypeModel type)
           
(package private)  void rebuildSequence(Type type)
           
 void removeAssociationDefinitionFromMemoryAndRebuildSequence(Type type, String childTypeUri)
           
private  void removeCardinalityAssignment(RelatedTopicModel cardinalityAssignment)
           
private  void removeCardinalityAssignmentIfExists(long assocDefId, String cardinalityRoleTypeUri)
           
(package private)  void removeFromTypeCache(String typeUri)
           
private  List<AssociationDefinitionModel> sortAssocDefs(Map<Long,AssociationDefinitionModel> assocDefs, List<Long> sequence)
           
private  void storeAssocDefs(long typeId, Collection<AssociationDefinitionModel> assocDefs)
           
(package private)  void storeAssociationDefinition(AssociationDefinitionModel assocDef)
           
private  void storeCardinalityUri(long assocDefId, String cardinalityRoleTypeUri, String cardinalityUri)
           
(package private)  void storeChildCardinalityUri(long assocDefId, String childCardinalityUri)
           
(package private)  void storeDataType(String typeUri, String dataTypeUri)
           
(package private)  void storeIndexMode(String typeUri, IndexMode indexMode)
           
private  void storeIndexModes(String typeUri, List<IndexMode> indexModes)
           
private  void storeLabelConfig(List<String> labelConfig, Collection<AssociationDefinitionModel> assocDefs)
          Stores the label configuration of a newly created type.
(package private)  void storeParentCardinalityUri(long assocDefId, String parentCardinalityUri)
           
private  void storeSequence(long typeId, Collection<AssociationDefinitionModel> assocDefs)
           
private  void storeSequenceSegment(long predAssocDefId, long succAssocDefId)
           
private  void storeSequenceStart(long typeId, long assocDefId)
           
(package private)  void storeType(TypeModel type)
          Stores the type-specific parts of the given type model.
private  void storeViewConfig(RoleModel configurable, ViewConfigurationModel viewConfig)
           
(package private)  Topic storeViewConfigTopic(RoleModel configurable, TopicModel configTopic)
           
(package private)  void updateLabelConfig(List<String> labelConfig, Collection<AssociationDefinition> assocDefs)
          Updates the label configuration of an existing type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARENT_CARDINALITY

private static final String PARENT_CARDINALITY
See Also:
Constant Field Values

CHILD_CARDINALITY

private static final String CHILD_CARDINALITY
See Also:
Constant Field Values

typeCache

private Map<String,TypeModel> typeCache

dms

private EmbeddedService dms

logger

private Logger logger
Constructor Detail

TypeStorageImpl

TypeStorageImpl(EmbeddedService dms)
Method Detail

getTopicType

TopicTypeModel getTopicType(String topicTypeUri)

getAssociationType

AssociationTypeModel getAssociationType(String assocTypeUri)

getType

private TypeModel getType(String typeUri)

putInTypeCache

private void putInTypeCache(TypeModel type)

removeFromTypeCache

void removeFromTypeCache(String typeUri)

fetchTopicType

private TopicTypeModel fetchTopicType(String topicTypeUri)

fetchAssociationType

private AssociationTypeModel fetchAssociationType(String assocTypeUri)

checkTopicType

private void checkTopicType(String topicTypeUri,
                            Topic typeTopic)

checkAssociationType

private void checkAssociationType(String assocTypeUri,
                                  Topic typeTopic)

storeType

void storeType(TypeModel type)
Stores the type-specific parts of the given type model. Prerequisite: the generic topic parts are stored already.

Called to store a newly created topic type or association type.


fetchDataTypeTopic

private RelatedTopicModel fetchDataTypeTopic(long typeId,
                                             String typeUri,
                                             String className)

storeDataType

void storeDataType(String typeUri,
                   String dataTypeUri)

fetchIndexModes

private List<IndexMode> fetchIndexModes(long typeId)

storeIndexModes

private void storeIndexModes(String typeUri,
                             List<IndexMode> indexModes)

storeIndexMode

void storeIndexMode(String typeUri,
                    IndexMode indexMode)

createAssociationDefinition

public AssociationDefinitionModel createAssociationDefinition(Association assoc)
Specified by:
createAssociationDefinition in interface TypeStorage

defaultCardinalityUri

private String defaultCardinalityUri(Association assoc,
                                     String cardinalityRoleTypeUri)

removeAssociationDefinitionFromMemoryAndRebuildSequence

public void removeAssociationDefinitionFromMemoryAndRebuildSequence(Type type,
                                                                    String childTypeUri)
Specified by:
removeAssociationDefinitionFromMemoryAndRebuildSequence in interface TypeStorage

fetchAssociationDefinitions

private List<AssociationDefinitionModel> fetchAssociationDefinitions(Topic typeTopic)

fetchAssociationDefinitionsUnsorted

private Map<Long,AssociationDefinitionModel> fetchAssociationDefinitionsUnsorted(Topic typeTopic)

fetchAssociationDefinition

public AssociationDefinitionModel fetchAssociationDefinition(Association assoc)
Specified by:
fetchAssociationDefinition in interface TypeStorage

fetchAssociationDefinition

private AssociationDefinitionModel fetchAssociationDefinition(Association assoc,
                                                              String parentTypeUri,
                                                              String childTypeUri)

fetchCustomAssocTypeUri

private String fetchCustomAssocTypeUri(Association assoc)

sortAssocDefs

private List<AssociationDefinitionModel> sortAssocDefs(Map<Long,AssociationDefinitionModel> assocDefs,
                                                       List<Long> sequence)

storeAssocDefs

private void storeAssocDefs(long typeId,
                            Collection<AssociationDefinitionModel> assocDefs)

storeAssociationDefinition

void storeAssociationDefinition(AssociationDefinitionModel assocDef)

fetchParentType

public Topic fetchParentType(Association assoc)
Specified by:
fetchParentType in interface TypeStorage

fetchChildType

public Topic fetchChildType(Association assoc)
Specified by:
fetchChildType in interface TypeStorage

fetchCardinality

private RelatedTopicModel fetchCardinality(long assocDefId,
                                           String cardinalityRoleTypeUri)

fetchCardinalityOrThrow

private RelatedTopicModel fetchCardinalityOrThrow(long assocDefId,
                                                  String cardinalityRoleTypeUri)

storeParentCardinalityUri

void storeParentCardinalityUri(long assocDefId,
                               String parentCardinalityUri)

storeChildCardinalityUri

void storeChildCardinalityUri(long assocDefId,
                              String childCardinalityUri)

storeCardinalityUri

private void storeCardinalityUri(long assocDefId,
                                 String cardinalityRoleTypeUri,
                                 String cardinalityUri)

removeCardinalityAssignmentIfExists

private void removeCardinalityAssignmentIfExists(long assocDefId,
                                                 String cardinalityRoleTypeUri)

removeCardinalityAssignment

private void removeCardinalityAssignment(RelatedTopicModel cardinalityAssignment)

associateCardinality

private void associateCardinality(long assocDefId,
                                  String cardinalityRoleTypeUri,
                                  String cardinalityUri)

fetchSequence

private List<RelatedAssociationModel> fetchSequence(Topic typeTopic)

fetchSequenceStart

private RelatedAssociationModel fetchSequenceStart(long typeId)

fetchSuccessor

private RelatedAssociationModel fetchSuccessor(long assocDefId)

fetchPredecessor

private RelatedAssociationModel fetchPredecessor(long assocDefId)

storeSequence

private void storeSequence(long typeId,
                           Collection<AssociationDefinitionModel> assocDefs)

appendToSequence

void appendToSequence(long typeId,
                      long assocDefId,
                      AssociationDefinitionModel lastAssocDef)

insertAtSequenceStart

void insertAtSequenceStart(long typeId,
                           long assocDefId)

insertIntoSequence

void insertIntoSequence(long assocDefId,
                        long beforeAssocDefId)

storeSequenceStart

private void storeSequenceStart(long typeId,
                                long assocDefId)

storeSequenceSegment

private void storeSequenceSegment(long predAssocDefId,
                                  long succAssocDefId)

rebuildSequence

void rebuildSequence(Type type)

deleteSequence

private void deleteSequence(Topic typeTopic)

fetchLabelConfig

private List<String> fetchLabelConfig(List<AssociationDefinitionModel> assocDefs)

fetchLabelConfigTopic

private RelatedTopicModel fetchLabelConfigTopic(long assocDefId)

storeLabelConfig

private void storeLabelConfig(List<String> labelConfig,
                              Collection<AssociationDefinitionModel> assocDefs)
Stores the label configuration of a newly created type.


updateLabelConfig

void updateLabelConfig(List<String> labelConfig,
                       Collection<AssociationDefinition> assocDefs)
Updates the label configuration of an existing type.


fetchTypeViewConfig

private ViewConfigurationModel fetchTypeViewConfig(Topic typeTopic)

fetchAssocDefViewConfig

private ViewConfigurationModel fetchAssocDefViewConfig(Association assocDef)

storeViewConfig

private void storeViewConfig(RoleModel configurable,
                             ViewConfigurationModel viewConfig)

storeViewConfigTopic

Topic storeViewConfigTopic(RoleModel configurable,
                           TopicModel configTopic)

createConfigurableType

RoleModel createConfigurableType(long typeId)

createConfigurableAssocDef

RoleModel createConfigurableAssocDef(long assocDefId)


Copyright © 2015. All Rights Reserved.