void storeAssociationDefinition(AssociationDefinitionModel assocDef) { try { // Note: creating the underlying association is conditional. It exists already for // an interactively created association definition. Its ID is already set. if (assocDef.getId() == -1) { dms.createAssociation(assocDef, null); // clientState=null } // Note: the assoc def ID is known only after creating the association long assocDefId = assocDef.getId(); // role types associateWholeRoleType(assocDefId, assocDef.getWholeRoleTypeUri()); associatePartRoleType(assocDefId, assocDef.getPartRoleTypeUri()); // cardinality associateWholeCardinality(assocDefId, assocDef.getWholeCardinalityUri()); associatePartCardinality(assocDefId, assocDef.getPartCardinalityUri()); // storeViewConfig(createConfigurableAssocDef(assocDefId), assocDef.getViewConfigModel()); } catch (Exception e) { throw new RuntimeException( "Storing association definition \"" + assocDef.getUri() + "\" of type \"" + assocDef.getWholeTypeUri() + "\" failed", e); } }