Re: Multi schema join parse qualfier
I'm not sure where it is (because I haven't looked)but I imagine you could find it on the support site :) -Original Message- From: Action Request System discussion list(ARSList) [mailto:arslist@ARSLIST.ORG] On Behalf Of Eric Roys Sent: Tuesday, April 17, 2012 11:44 AM To: arslist@ARSLIST.ORG Subject: Re: Multi schema join parse qualfier LJ, Appreciate your time. I was hoping I had overlooked something but apparently not. Seems silly to have not provided an appropriate method as the long hand is unruly at best and rolling one's own, while better than long handing it, is still not ideal since this is something that seems to be a must if dealing with multiForm queries and I'm sure I won't be the last person who needs/wants it. Perhaps it made it into version 7.7 (sarcasm). Where does one find that enhancement request form, again? -Eric -Original Message- From: Action Request System discussion list(ARSList) [mailto:arslist@ARSLIST.ORG] On Behalf Of LJ LongWing Sent: Tuesday, April 17, 2012 12:31 PM To: arslist@ARSLIST.ORG Subject: Re: Multi schema join parse qualfier Ok….I’m going to try to document this for ‘the world’. Looking through the 7.6.4 JavaDocs, you can get a QualifierInfo object through numerous methods…the one outline in the appendix QuerySourceForm primaryForm = new QuerySourceForm("Form1"); QuerySourceForm secondaryForm = new QuerySourceForm("Form2"); ArithmeticOrRelationalOperand field1 = new ArithmeticOrRelationalOperand(123456, primaryForm); ArithmeticOrRelationalOperand field2 = new ArithmeticOrRelationalOperand(654321, secondaryForm); RelationalOperationInfo relOp = new RelationalOperationInfo(RelationalOperationInfo.AR_REL_OP_EQUAL, field1, field2); QualifierInfo joinQual = new QualifierInfo(relOp); Or, through more ‘normal’ methods which would be something like this String qual = "'Field1' = $Field2$"; // 'Product Name' = $Model$ List f1 = arConnection.getListFieldObjects("Form1"); List f2 = arConnection.getListFieldObjects("Form2"); QualifierInfo joinQual = arConnection.parseQualification(qual, f2, f1, Constants.AR_QUALCONTEXT_DEFAULT); The problem is that the first method creates a QualifierInfo object that looks something like this [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand Type=[type=1],Operand=[Field ID=123456,Func ID=0,Field Source=[Source Identifier=-6be110ff:136c144c57c:-8000,Source Name=Form1]]],Operand Right=[Operand Type=[type=1],Operand=[Field ID=654321,Func ID=0,Field Source=[Source Identifier=-6be110ff:136c144c57c:-7fff,Source Name=Form2,Operand Right=] Whereas the second presents something like [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand Type=[type=1],Operand=123456],Operand Right=[Operand Type=[type=1],Operand=654321]],Operand Right=] So...Eric, What I'm reading out of this is that the people over at BMC did not deem it necessary to either update the parseQualification method...or provide an appropriately overridden version of it to be able to create a QualifierInfo object that will work when utilizing the getListEntryObjects method with a RegularQuery object as one of the inputs This is a long, 'around the way' way of saying 'No' to your original questionit looks like you must use the 'long hand' method of creating the qualifier objects for the momentand in the long run, if you want to be able to use the shorthand...you could either write your own method to build it properlyor submit an enhancement request to BMC to have them do the leg work. From: LJ LongWing [mailto:lj.longw...@gmail.com] Sent: Monday, April 16, 2012 8:45 AM To: 'arslist@ARSLIST.ORG' Subject: RE: Multi schema join parse qualfier Eric, I see no reason why you wouldn’t be able to use that method to create the QualifierInfo object….I’m not entirely sure of the code you are using to get the cast error. Please feel free to contact me offlist if you would like, but I would love to try to help ☺ From: Action Request System discussion list(ARSList) [mailto:arslist@ARSLIST.ORG] On Behalf Of Eric Roys Sent: Sunday, April 15, 2012 9:02 PM To: arslist@ARSLIST.ORG Subject: Multi schema join parse qualfier ** For you java api folks… ARS 7.6.4 sp2 Java api 7.6.4 build 2 Java 7 Is there a parse qual method for translating a query string (i.e. ‘This’ = $This$ AND ‘That’ = $That$) for the QualifierInfo required by com.bmc.arsys.api.QuerySourceForm.setJoin(IQuerySource arg0, int arg1, QualifierInfo arg2) method [or does one have to embrace the long hand version and write out as indicated in the appendix of the C API reference doc (excerpt below)? I was hoping that the parseQualification(String queryString, List fieldList1, List fieldList2, int queryContext, boolean exceptionWhenFieldNotFound) method would do the tr
Re: Multi schema join parse qualfier
LJ, Appreciate your time. I was hoping I had overlooked something but apparently not. Seems silly to have not provided an appropriate method as the long hand is unruly at best and rolling one's own, while better than long handing it, is still not ideal since this is something that seems to be a must if dealing with multiForm queries and I'm sure I won't be the last person who needs/wants it. Perhaps it made it into version 7.7 (sarcasm). Where does one find that enhancement request form, again? -Eric -Original Message- From: Action Request System discussion list(ARSList) [mailto:arslist@ARSLIST.ORG] On Behalf Of LJ LongWing Sent: Tuesday, April 17, 2012 12:31 PM To: arslist@ARSLIST.ORG Subject: Re: Multi schema join parse qualfier Ok….I’m going to try to document this for ‘the world’. Looking through the 7.6.4 JavaDocs, you can get a QualifierInfo object through numerous methods…the one outline in the appendix QuerySourceForm primaryForm = new QuerySourceForm("Form1"); QuerySourceForm secondaryForm = new QuerySourceForm("Form2"); ArithmeticOrRelationalOperand field1 = new ArithmeticOrRelationalOperand(123456, primaryForm); ArithmeticOrRelationalOperand field2 = new ArithmeticOrRelationalOperand(654321, secondaryForm); RelationalOperationInfo relOp = new RelationalOperationInfo(RelationalOperationInfo.AR_REL_OP_EQUAL, field1, field2); QualifierInfo joinQual = new QualifierInfo(relOp); Or, through more ‘normal’ methods which would be something like this String qual = "'Field1' = $Field2$"; // 'Product Name' = $Model$ List f1 = arConnection.getListFieldObjects("Form1"); List f2 = arConnection.getListFieldObjects("Form2"); QualifierInfo joinQual = arConnection.parseQualification(qual, f2, f1, Constants.AR_QUALCONTEXT_DEFAULT); The problem is that the first method creates a QualifierInfo object that looks something like this [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand Type=[type=1],Operand=[Field ID=123456,Func ID=0,Field Source=[Source Identifier=-6be110ff:136c144c57c:-8000,Source Name=Form1]]],Operand Right=[Operand Type=[type=1],Operand=[Field ID=654321,Func ID=0,Field Source=[Source Identifier=-6be110ff:136c144c57c:-7fff,Source Name=Form2,Operand Right=] Whereas the second presents something like [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand Type=[type=1],Operand=123456],Operand Right=[Operand Type=[type=1],Operand=654321]],Operand Right=] So...Eric, What I'm reading out of this is that the people over at BMC did not deem it necessary to either update the parseQualification method...or provide an appropriately overridden version of it to be able to create a QualifierInfo object that will work when utilizing the getListEntryObjects method with a RegularQuery object as one of the inputs This is a long, 'around the way' way of saying 'No' to your original questionit looks like you must use the 'long hand' method of creating the qualifier objects for the momentand in the long run, if you want to be able to use the shorthand...you could either write your own method to build it properlyor submit an enhancement request to BMC to have them do the leg work. From: LJ LongWing [mailto:lj.longw...@gmail.com] Sent: Monday, April 16, 2012 8:45 AM To: 'arslist@ARSLIST.ORG' Subject: RE: Multi schema join parse qualfier Eric, I see no reason why you wouldn’t be able to use that method to create the QualifierInfo object….I’m not entirely sure of the code you are using to get the cast error. Please feel free to contact me offlist if you would like, but I would love to try to help ☺ From: Action Request System discussion list(ARSList) [mailto:arslist@ARSLIST.ORG] On Behalf Of Eric Roys Sent: Sunday, April 15, 2012 9:02 PM To: arslist@ARSLIST.ORG Subject: Multi schema join parse qualfier ** For you java api folks… ARS 7.6.4 sp2 Java api 7.6.4 build 2 Java 7 Is there a parse qual method for translating a query string (i.e. ‘This’ = $This$ AND ‘That’ = $That$) for the QualifierInfo required by com.bmc.arsys.api.QuerySourceForm.setJoin(IQuerySource arg0, int arg1, QualifierInfo arg2) method [or does one have to embrace the long hand version and write out as indicated in the appendix of the C API reference doc (excerpt below)? I was hoping that the parseQualification(String queryString, List fieldList1, List fieldList2, int queryContext, boolean exceptionWhenFieldNotFound) method would do the trick but it seems the getListEntryObjects fails with a cast exception (java.lang.Integer cannot be cast to com.bmc.arsys.api.QueryFormField). Excerpt: // Create join qualifier, which is used to generate the SQL query’s // ON clause. ArithmeticOrRelationalOperand field1 = new ArithmeticOrRelationalOperand(240001002, prodCat); Arithmet
Re: Multi schema join parse qualfier
Ok….I’m going to try to document this for ‘the world’. Looking through the 7.6.4 JavaDocs, you can get a QualifierInfo object through numerous methods…the one outline in the appendix QuerySourceForm primaryForm = new QuerySourceForm("Form1"); QuerySourceForm secondaryForm = new QuerySourceForm("Form2"); ArithmeticOrRelationalOperand field1 = new ArithmeticOrRelationalOperand(123456, primaryForm); ArithmeticOrRelationalOperand field2 = new ArithmeticOrRelationalOperand(654321, secondaryForm); RelationalOperationInfo relOp = new RelationalOperationInfo(RelationalOperationInfo.AR_REL_OP_EQUAL, field1, field2); QualifierInfo joinQual = new QualifierInfo(relOp); Or, through more ‘normal’ methods which would be something like this String qual = "'Field1' = $Field2$"; // 'Product Name' = $Model$ List f1 = arConnection.getListFieldObjects("Form1"); List f2 = arConnection.getListFieldObjects("Form2"); QualifierInfo joinQual = arConnection.parseQualification(qual, f2, f1, Constants.AR_QUALCONTEXT_DEFAULT); The problem is that the first method creates a QualifierInfo object that looks something like this [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand Type=[type=1],Operand=[Field ID=123456,Func ID=0,Field Source=[Source Identifier=-6be110ff:136c144c57c:-8000,Source Name=Form1]]],Operand Right=[Operand Type=[type=1],Operand=[Field ID=654321,Func ID=0,Field Source=[Source Identifier=-6be110ff:136c144c57c:-7fff,Source Name=Form2,Operand Right=] Whereas the second presents something like [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand Type=[type=1],Operand=123456],Operand Right=[Operand Type=[type=1],Operand=654321]],Operand Right=] So...Eric, What I'm reading out of this is that the people over at BMC did not deem it necessary to either update the parseQualification method...or provide an appropriately overridden version of it to be able to create a QualifierInfo object that will work when utilizing the getListEntryObjects method with a RegularQuery object as one of the inputs This is a long, 'around the way' way of saying 'No' to your original questionit looks like you must use the 'long hand' method of creating the qualifier objects for the momentand in the long run, if you want to be able to use the shorthand...you could either write your own method to build it properlyor submit an enhancement request to BMC to have them do the leg work. From: LJ LongWing [mailto:lj.longw...@gmail.com] Sent: Monday, April 16, 2012 8:45 AM To: 'arslist@ARSLIST.ORG' Subject: RE: Multi schema join parse qualfier Eric, I see no reason why you wouldn’t be able to use that method to create the QualifierInfo object….I’m not entirely sure of the code you are using to get the cast error. Please feel free to contact me offlist if you would like, but I would love to try to help ☺ From: Action Request System discussion list(ARSList) [mailto:arslist@ARSLIST.ORG] On Behalf Of Eric Roys Sent: Sunday, April 15, 2012 9:02 PM To: arslist@ARSLIST.ORG Subject: Multi schema join parse qualfier ** For you java api folks… ARS 7.6.4 sp2 Java api 7.6.4 build 2 Java 7 Is there a parse qual method for translating a query string (i.e. ‘This’ = $This$ AND ‘That’ = $That$) for the QualifierInfo required by com.bmc.arsys.api.QuerySourceForm.setJoin(IQuerySource arg0, int arg1, QualifierInfo arg2) method [or does one have to embrace the long hand version and write out as indicated in the appendix of the C API reference doc (excerpt below)? I was hoping that the parseQualification(String queryString, List fieldList1, List fieldList2, int queryContext, boolean exceptionWhenFieldNotFound) method would do the trick but it seems the getListEntryObjects fails with a cast exception (java.lang.Integer cannot be cast to com.bmc.arsys.api.QueryFormField). Excerpt: // Create join qualifier, which is used to generate the SQL query’s // ON clause. ArithmeticOrRelationalOperand field1 = new ArithmeticOrRelationalOperand(240001002, prodCat); ArithmeticOrRelationalOperand field2 = new ArithmeticOrRelationalOperand(240001002, products); RelationalOperationInfo relOp = new RelationalOperationInfo(RelationalOperationInfo.AR_REL_OP_EQUAL, field1, field2); QualifierInfo joinQual = new QualifierInfo(relOp); Thanks, Eric CONFIDENTIALITY NOTICE: This email communication is intended only for the personal and confidential use of the recipient(s) designated above and may contain information which is subject to Federal and/or State privacy laws. In the event that you are not the intended recipient or the agent of the intended recipient, you are hereby notified that any review, disclosure, or use of the information contained herein is strictly prohibited. Do not copy or use the information c
Re: Multi schema join parse qualfier
Eric, I see no reason why you wouldn’t be able to use that method to create the QualifierInfo object….I’m not entirely sure of the code you are using to get the cast error. Please feel free to contact me offlist if you would like, but I would love to try to help J From: Action Request System discussion list(ARSList) [mailto:arslist@ARSLIST.ORG] On Behalf Of Eric Roys Sent: Sunday, April 15, 2012 9:02 PM To: arslist@ARSLIST.ORG Subject: Multi schema join parse qualfier ** For you java api folks… ARS 7.6.4 sp2 Java api 7.6.4 build 2 Java 7 Is there a parse qual method for translating a query string (i.e. ‘This’ = $This$ AND ‘That’ = $That$) for the QualifierInfo required by com.bmc.arsys.api. QuerySourceForm.setJoin( IQuerySource arg0, int arg1, QualifierInfo arg2) method [or does one have to embrace the long hand version and write out as indicated in the appendix of the C API reference doc (excerpt below)? I was hoping that the parseQualification(String queryString, List fieldList1, List fieldList2, int queryContext, boolean exceptionWhenFieldNotFound) method would do the trick but it seems the getListEntryObjects fails with a cast exception (java.lang.Integer cannot be cast to com.bmc.arsys.api.QueryFormField). Excerpt: // Create join qualifier, which is used to generate the SQL query’s // ON clause. ArithmeticOrRelationalOperand field1 = new ArithmeticOrRelationalOperand(240001002, prodCat); ArithmeticOrRelationalOperand field2 = new ArithmeticOrRelationalOperand(240001002, products); RelationalOperationInfo relOp = new RelationalOperationInfo(RelationalOperationInfo.AR_REL_OP_EQUAL, field1, field2); QualifierInfo joinQual = new QualifierInfo(relOp); Thanks, Eric CONFIDENTIALITY NOTICE: This email communication is intended only for the personal and confidential use of the recipient(s) designated above and may contain information which is subject to Federal and/or State privacy laws. In the event that you are not the intended recipient or the agent of the intended recipient, you are hereby notified that any review, disclosure, or use of the information contained herein is strictly prohibited. Do not copy or use the information contained within this communication, or allow it to be read, copied or utilized in any manner by any other person(s). If you have received this communication in error, please notify the sender immediately, either by response e-mail or by phone, and permanently delete the original e-mail, any attachment(s), and copies. _attend WWRUG12 www.wwrug.com ARSlist: "Where the Answers Are"_ ___ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug12 www.wwrug12.com ARSList: "Where the Answers Are"
Multi schema join parse qualfier
For you java api folks… ARS 7.6.4 sp2 Java api 7.6.4 build 2 Java 7 Is there a parse qual method for translating a query string (i.e. ‘This’ = $This$ AND ‘That’ = $That$) for the QualifierInfo required by com.bmc.arsys.api.QuerySourceForm.setJoin(IQuerySource arg0, int arg1, QualifierInfo arg2) method [or does one have to embrace the long hand version and write out as indicated in the appendix of the C API reference doc (excerpt below)? I was hoping that the parseQualification(String queryString, List fieldList1, List fieldList2, int queryContext, boolean exceptionWhenFieldNotFound) method would do the trick but it seems the getListEntryObjects fails with a cast exception (java.lang.Integer cannot be cast to com.bmc.arsys.api.QueryFormField). Excerpt: // Create join qualifier, which is used to generate the SQL query’s // ON clause. ArithmeticOrRelationalOperand field1 = new ArithmeticOrRelationalOperand(240001002, prodCat); ArithmeticOrRelationalOperand field2 = new ArithmeticOrRelationalOperand(240001002, products); RelationalOperationInfo relOp = new RelationalOperationInfo(RelationalOperationInfo.AR_REL_OP_EQUAL, field1, field2); QualifierInfo joinQual = new QualifierInfo(relOp); Thanks, Eric CONFIDENTIALITY NOTICE: This email communication is intended only for the personal and confidential use of the recipient(s) designated above and may contain information which is subject to Federal and/or State privacy laws. In the event that you are not the intended recipient or the agent of the intended recipient, you are hereby notified that any review, disclosure, or use of the information contained herein is strictly prohibited. Do not copy or use the information contained within this communication, or allow it to be read, copied or utilized in any manner by any other person(s). If you have received this communication in error, please notify the sender immediately, either by response e-mail or by phone, and permanently delete the original e-mail, any attachment(s), and copies. ___ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug12 www.wwrug12.com ARSList: "Where the Answers Are"