ace-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Willem Janssen <janwillem.jans...@luminis.eu>
Subject Re: Creating association based on multiple tags
Date Tue, 27 Oct 2015 13:44:28 GMT

> On 27 Oct 2015, at 11:35, Daan Veldhof <daanveldhof@gmail.com> wrote:
> 
> 2015-10-24 20:27 GMT+02:00 Marcel Offermans <marcel.offermans@luminis.nl>:
> 
>> On 23 October 2015 at 07:16:02, Jan Willem Janssen (
>> janwillem.janssen@luminis.eu(mailto:janwillem.janssen@luminis.eu)) wrote:
>> 
>>> Ergo: still not sure that the ‘target.’ prefix is necessary unless your
>>> tags actually use them in their names.
>> 
>> FYI, it is definitely wrong to use the “target.” prefix unless those tags
>> are actually prefixed with “target.”.
>> 
>> Greetings, Marcel
>> 
>> 
> Those tags are prefixed with "target." because that's how ACE works. When a
> target is started (deployment_admin is installed in the framework) it first
> sends the FRAMEWORK_STARTED auditlog and then the TARGETPROPERTIES_SET with
> the tags I want to give to the target. ACE automatically prefixes these
> tags with "target.”

Ah, you did not tell that you’ve been using the TARGETPROPERTIES_SET event
to push tags to the server. As [1] states in the Usage section (emphasis
mine):

  Make sure you always write the full set of properties, as any old ones
  will be erased. The keys of the properties you set will end up as tags,
  prefixed with **"target."** to distinguish them from **other** tags that
  might be set manually.

So, in that case you need to prefix your “custom” tags with “target.” in
the association filter. I’ve tried this with a local project (using either
the Gogo shell or the REST API directly) and this works fine.

>> On 23 October 2015 at 07:16:02, Jan Willem Janssen (
> janwillem.janssen@luminis.eu(mailto:janwillem.janssen@luminis.eu)) wrote:
>> I’ve used the following gogo script to test creating a feature,
> distribution
>> and a target with two tags along with the various associations using
> filters.
>> […]
> 
> Apparently when I change the order of the attributes in the REST call it
> works, so this fixed the issue:
> 
> {
>  attributes : {
>   "leftCardinality" : 1,
>   "leftEndpoint" : "(name=rand)",
>   "rightCardinality" : 100
>   "rightEndpoint" : "(&(target.tag1=foo)(target.tag2=bar)"
>  }
>  tags: {}
> }

Order is never considered when applying JSON data in ACE, so not sure that
is the root cause of your issue. I’ve created several distribution-target
associations with the attributes in varying order and they always produce
the same result.

>> Note that I didn’t set any cardinality values, since they default to 1.
> Why
>> are you using custom cardinality numbers?
> 
> When I leave out the cardinality values, they don't show up if I get the
> distribution2target (client/{WORKID}/distribution2target/{ID})
> I'm using custom cardinality values so multiple targets can get the same
> distribution. I already removed the leftcardinality.

The convention in ACE is that if you want to associate a distribution to
*any* target that you use a right cardinality of ’N’ (without quotes).


1. https://cwiki.apache.org/confluence/display/ACE/Target+Attributes+analysis

--
Met vriendelijke groeten | Kind regards

Jan Willem Janssen | Software Architect
+31 631 765 814

My world is revolving around INAETICS and Amdatu

Luminis Technologies B.V.
Churchillplein 1
7314 BZ   Apeldoorn
+31 88 586 46 00

http://www.luminis-technologies.com
http://www.luminis.eu

KvK (CoC) 09 16 28 93
BTW (VAT) NL8169.78.566.B.01


Mime
View raw message