Re: FIQL with relationships

2024-02-22 Thread Lionel SCHWARZ
Hi Francesco,

Thanks for your answer and for pointing me to this code
>From what I understand, FIQL 
>"$relationships==object2;$relationshipTypes==RELATION1" means "objects that 
>have at least one relation of type RELATION1 and that also have at least one 
>relation with object2"
And looking at the code, I guess there is no possible FIQL for "objects that 
have a relationship of type RELATION1 on object2"...

Regards
Lionel

- Le 19 Fév 24, à 10:51, Francesco Chicchiriccò ilgro...@apache.org a écrit 
:

> Hi Lionel,
> I think you are more than experienced enough to explore the code and find your
> answers.
> 
> The method to investigate is:
> 
> https://github.com/apache/syncope/blob/3_0_X/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java#L707-L732
> 
> or (in case of pgjsonb):
> 
> https://github.com/apache/syncope/blob/3_0_X/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java#L535-L561
> 
> Please share back your findings, thanks.
> Regards.
> 
> On 15/02/24 15:25, Lionel SCHWARZ wrote:
>> Hi all,
>>
>> Searching AnyObjects with a FIQL like
>> "$type==MYTYPE;$relationships==object2;$relationshipTypes==RELATION1" returns
>> the following object:
>>
>> {
>>"result": [
>>  {
>>"_class": "org.apache.syncope.common.lib.to.AnyObjectTO",
>>"type": "MYTYPE",
>>"name": "MyName",
>>"relationships": [
>>  {
>>"type": "RELATION1",
>>"otherEndType": "TYPE1",
>>"otherEndKey": "01862789-75eb-7c2b-9907-0818a48910b7",
>>"otherEndName": "object1"
>>  },
>>  {
>>"type": "RELATION2",
>>"otherEndType": "TYPE2",
>>"otherEndKey": "01862789-75eb-7c2b-9907-0818a48910b7",
>>"otherEndName": "object2"
>>  }
>>]
>>  }
>>]
>> }
>>
>> Is it a bug or a feature ;) ?
>> If it is a feature, I understand the query as "give me objects that have at
>> least one relation of type "RELATION1" and that also have at least one 
>> relation
>> with "object2".
>>
>> In this case, my question is: what is the FIQL for "give me objects that 
>> have a
>> relationship of type "RELATION1" on "object2" ? (this query should return 
>> empty
>> result then).
>>
>> Regards
>> Lionel
> 
> 
> --
> Francesco Chicchiriccò
> 
> Tirasa - Open Source Excellence
> http://www.tirasa.net/
> 
> Member at The Apache Software Foundation
> Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
> http://home.apache.org/~ilgrosso/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: FIQL with relationships

2024-02-19 Thread Francesco Chicchiriccò

Hi Lionel,
I think you are more than experienced enough to explore the code and find your 
answers.

The method to investigate is:

https://github.com/apache/syncope/blob/3_0_X/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java#L707-L732

or (in case of pgjsonb):

https://github.com/apache/syncope/blob/3_0_X/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java#L535-L561

Please share back your findings, thanks.
Regards.

On 15/02/24 15:25, Lionel SCHWARZ wrote:

Hi all,

Searching AnyObjects with a FIQL like 
"$type==MYTYPE;$relationships==object2;$relationshipTypes==RELATION1" returns 
the following object:

{
   "result": [
 {
   "_class": "org.apache.syncope.common.lib.to.AnyObjectTO",
   "type": "MYTYPE",
   "name": "MyName",
   "relationships": [
 {
   "type": "RELATION1",
   "otherEndType": "TYPE1",
   "otherEndKey": "01862789-75eb-7c2b-9907-0818a48910b7",
   "otherEndName": "object1"
 },
 {
   "type": "RELATION2",
   "otherEndType": "TYPE2",
   "otherEndKey": "01862789-75eb-7c2b-9907-0818a48910b7",
   "otherEndName": "object2"
 }
   ]
 }
   ]
}

Is it a bug or a feature ;) ?
If it is a feature, I understand the query as "give me objects that have at least one relation of 
type "RELATION1" and that also have at least one relation with "object2".

In this case, my question is: what is the FIQL for "give me objects that have a relationship of 
type "RELATION1" on "object2" ? (this query should return empty result then).

Regards
Lionel



--
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/