Skip to content
Snippets Groups Projects

Resolve "Feature: Send endpoint for relations"

Merged René Schöne requested to merge 37-feature-send-endpoint-for-relations into dev
5 files
+ 277
76
Compare changes
  • Side-by-side
  • Inline
Files
5
  • ab306beb
    working on relations · ab306beb
    René Schöne authored
    - relations use forwarding now
    - todo: new attribute used in mustache "relationEndpointWithListRole" not in YAML
    - first quarter of RelationTest done
@@ -429,9 +429,11 @@ aspect MustacheReceiveAndSendAndHandleUri {
eq AttributeEndpointTarget.parentTypeName() = getParentTypeDecl().getName();
eq AttributeEndpointTarget.entityName() = getName();
eq RelationEndpointTarget.getterMethodName() = "get" + getRole().getterMethodName();
eq RelationEndpointTarget.getterMethodName() = forwardingNTA_Name();
eq RelationEndpointTarget.parentTypeName() = getRole().getType().getName();
eq RelationEndpointTarget.entityName() = getRole().getName();
eq RelationEndpointTarget.realGetterMethodName() = "get" + getRole().getterMethodName();
eq RelationEndpointTarget.realGetterMethodCall() = realGetterMethodName() + (containingEndpointDefinition().indexedSend() ? "(index)" : "()");
syn String NavigableRole.getterMethodName() = getName();
eq ListRole.getterMethodName() = getName() + "List";
@@ -492,6 +494,8 @@ aspect MustacheSendDefinition {
syn String EndpointDefinition.forwardingNTA_Name() = getEndpointTarget().forwardingNTA_Name();
syn String EndpointDefinition.forwardingNTA_Type() = getEndpointTarget().forwardingNTA_Type();
syn boolean EndpointDefinition.relationEndpointWithListRole() = getEndpointTarget().relationEndpointWithListRole();
syn String EndpointDefinition.senderName() = getEndpointTarget().senderName();
syn boolean EndpointDefinition.shouldNotResetValue() = getSend() && !getEndpointTarget().hasAttributeResetMethod();
@@ -505,13 +509,17 @@ aspect MustacheSendDefinition {
// === attributes needed for computing above ones ===
syn boolean EndpointTarget.needForwardingNTA() = false;
eq TypeEndpointTarget.needForwardingNTA() = containingEndpointDefinition().getSend() && !getType().getNTA();
eq RelationEndpointTarget.needForwardingNTA() = containingEndpointDefinition().getSend();
syn String EndpointTarget.forwardingNTA_Name() = null;
syn String EndpointTarget.forwardingNTA_Name() = null; // only needed, if needForwardingNTA evaluates to true
eq TypeEndpointTarget.forwardingNTA_Name() = ragconnect().internalRagConnectPrefix() + getType().getName();
eq RelationEndpointTarget.forwardingNTA_Name() = ragconnect().internalRagConnectPrefix() + getRole().getName();
syn String EndpointTarget.forwardingNTA_Type() = null;
syn String EndpointTarget.forwardingNTA_Type() = null; // only needed, if needForwardingNTA evaluates to true
eq TypeEndpointTarget.forwardingNTA_Type() = getType().forwardingNTA_Type(
containingEndpointDefinition().getIndexBasedListAccess());
eq RelationEndpointTarget.forwardingNTA_Type() = getRole().forwardingNTA_Type(
containingEndpointDefinition().getIndexBasedListAccess());
syn String TypeComponent.forwardingNTA_Type(boolean indexBasedListAccess);
eq NormalComponent.forwardingNTA_Type(boolean indexBasedListAccess) = getTypeDecl().getName();
@@ -521,6 +529,14 @@ aspect MustacheSendDefinition {
getTypeDecl().getName() :
ragconnect().configJastAddList() + "<" + getTypeDecl().getName() + ">";
syn String Role.forwardingNTA_Type(boolean indexBasedListAccess) = oppositeRole().getType().getName();
eq ListRole.forwardingNTA_Type(boolean indexBasedListAccess) = indexBasedListAccess ?
oppositeRole().getType().getName() :
"java.util.List<" + oppositeRole().getType().getName() + ">";
syn boolean EndpointTarget.relationEndpointWithListRole() = false;
eq RelationEndpointTarget.relationEndpointWithListRole() = getRole().isListRole();
syn String EndpointTarget.senderName() = ragconnect().internalRagConnectPrefix() + "_sender_" + entityName();
eq ContextFreeTypeEndpointTarget.senderName() = null;
Loading