Re: Java API for Query based upon a composite qualification

2013-11-01 Thread LJ LongWing
Naveen,
To the best of my knowledge, the API itself cannot do this, never really
has been able to...but some versions ago (I think it was 7.6.04) BMC
introduced 'Multi-Form Search', or MFSif you read the docs you can read
up a bit about it, and once configured, the API would be able to utilize
your MFS Form to do what you want, I think.

https://docs.bmc.com/docs/display/public/ars81/Creating+a+form+and+workflow+to+search+across+multiple+forms


On Thu, Oct 31, 2013 at 9:57 PM, Setya, Naveen nse...@columnit.com wrote:

 **

 Greetings, 

 ** **

 Can someone please provide an example of java API that can be used to
 retrieve data from a form based upon a composite qualification?

 ** **

 e.g. Form A and Form B

 ** **

 Retrieve Data from Form A where FormA.Field1=FormB.Field2 ** **

 ** **

 Thanks in advance 

 Naveen 

 ** **

 ** **
  _ARSlist: Where the Answers Are and have been for 20 years_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API for Query based upon a composite qualification

2013-11-01 Thread Misi Mladoniczky
Hi,

There is indeed a new API-call introduced in verison 7.6.04, to allow BIRT to
do ad-hoc joins.

The C-API call is ARGetListEntryWithMultiSchemaFields(), and there should be a
Java-API equivalent.

Best Regards - Misi, RRR AB, http://www.rrr.se (ARSList MVP 2011)

Ask the Remedy Licensing Experts (Best R.O.I. Award at WWRUG10/11/12/13):
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
Find these products, and many free tools and utilities, at http://rrr.se.

 Naveen,
 To the best of my knowledge, the API itself cannot do this, never really
 has been able to...but some versions ago (I think it was 7.6.04) BMC
 introduced 'Multi-Form Search', or MFSif you read the docs you can read
 up a bit about it, and once configured, the API would be able to utilize
 your MFS Form to do what you want, I think.

 https://docs.bmc.com/docs/display/public/ars81/Creating+a+form+and+workflow+to+search+across+multiple+forms


 On Thu, Oct 31, 2013 at 9:57 PM, Setya, Naveen nse...@columnit.com wrote:

 **

 Greetings, 

 ** **

 Can someone please provide an example of java API that can be used to
 retrieve data from a form based upon a composite qualification?

 ** **

 e.g. Form A and Form B

 ** **

 Retrieve Data from Form A where FormA.Field1=FormB.Field2 ** **

 ** **

 Thanks in advance 

 Naveen 

 ** **

 ** **
  _ARSlist: Where the Answers Are and have been for 20 years_

 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 Where the Answers Are, and have been for 20 years


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API for Query based upon a composite qualification

2013-11-01 Thread LJ LongWing
Thank you Misi,
I think this is the method that is likely used

getListEntryObjects

public List 
http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=trueQuerySourceValues
file:///C:/Users/llongwing/Documents/ARJavaLib/ardoc81_build001/com/bmc/arsys/api/QuerySourceValues.html
*getListEntryObjects*(RegularQuery
file:///C:/Users/llongwing/Documents/ARJavaLib/ardoc81_build001/com/bmc/arsys/api/RegularQuery.html
query,
   int firstRetrieve,
   int maxRetrieve,
   boolean useLocale,
   OutputInteger
file:///C:/Users/llongwing/Documents/ARJavaLib/ardoc81_build001/com/bmc/arsys/api/OutputInteger.html
nMatches)
throws ARException
file:///C:/Users/llongwing/Documents/ARJavaLib/ardoc81_build001/com/bmc/arsys/api/ARException.html

Returns a list of
QuerySourceValuesfile:///C:/Users/llongwing/Documents/ARJavaLib/ardoc81_build001/com/bmc/arsys/api/QuerySourceValues.html
objects
that match the provided criteria. Supports joins, subqueries and
hierarchical queries constructs.

*Parameters:*query -
RegularQueryfile:///C:/Users/llongwing/Documents/ARJavaLib/ardoc81_build001/com/bmc/arsys/api/RegularQuery.html
query
that determines the set of entries to retrievefirstRetrieve - first entry
to retrieve. A value of 0 represent the first entry.maxRetrieve - maximum
number of entries to retrieveuseLocale - boolean flag that controls whether
the result includes only entries based on locale (1 or TRUE) or all enties
(0 or FALSE). The Localize Server option must be selected for the AR System
server to return only localized entries. For information about the Localize
Server option, see the *Configuring* guide.nMatches - returns the number of
(accessible) entries that match the qualification criteria. Specify null
for this parameter if you do not want to retrieve this count.*Returns:*list
of 
QuerySourceValuesfile:///C:/Users/llongwing/Documents/ARJavaLib/ardoc81_build001/com/bmc/arsys/api/QuerySourceValues.html
objects
that match the provided
criteria*Throws:*ARExceptionfile:///C:/Users/llongwing/Documents/ARJavaLib/ardoc81_build001/com/bmc/arsys/api/ARException.html
-
if list is not returned
where 'RegularQuery' is defined as
The RegularQuery class is used to define the properties of a dynamic query.

So this definitely looks like the method used to query 'dynamic' forms :)


On Fri, Nov 1, 2013 at 7:31 AM, Misi Mladoniczky m...@rrr.se wrote:

 Hi,

 There is indeed a new API-call introduced in verison 7.6.04, to allow BIRT
 to
 do ad-hoc joins.

 The C-API call is ARGetListEntryWithMultiSchemaFields(), and there should
 be a
 Java-API equivalent.

 Best Regards - Misi, RRR AB, http://www.rrr.se (ARSList MVP 2011)

 Ask the Remedy Licensing Experts (Best R.O.I. Award at WWRUG10/11/12/13):
 * RRR|License - Not enough Remedy licenses? Save money by optimizing.
 * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
 Find these products, and many free tools and utilities, at http://rrr.se.

  Naveen,
  To the best of my knowledge, the API itself cannot do this, never really
  has been able to...but some versions ago (I think it was 7.6.04) BMC
  introduced 'Multi-Form Search', or MFSif you read the docs you can
 read
  up a bit about it, and once configured, the API would be able to utilize
  your MFS Form to do what you want, I think.
 
 
 https://docs.bmc.com/docs/display/public/ars81/Creating+a+form+and+workflow+to+search+across+multiple+forms
 
 
  On Thu, Oct 31, 2013 at 9:57 PM, Setya, Naveen nse...@columnit.com
 wrote:
 
  **
 
  Greetings, 
 
  ** **
 
  Can someone please provide an example of java API that can be used to
  retrieve data from a form based upon a composite qualification?
 
  ** **
 
  e.g. Form A and Form B
 
  ** **
 
  Retrieve Data from Form A where FormA.Field1=FormB.Field2 ** **
 
  ** **
 
  Thanks in advance 
 
  Naveen 
 
  ** **
 
  ** **
   _ARSlist: Where the Answers Are and have been for 20 years_
 
 
 ___
  UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
  Where the Answers Are, and have been for 20 years
 


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 Where the Answers Are, and have been for 20 years


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API for Query based upon a composite qualification

2013-11-01 Thread Eric Roys
Naveen,

You can find reference to retrieving entries from multiple forms in the 7.6.4 C 
API Reference document provided by BMC. There is a section specific to this 
along with example in C and Java api. Beyond simple joins, it also covers 
recursion, and other interesting things, if needed. Hopefully that helps.

-Eric

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of LJ LongWing
Sent: Friday, November 01, 2013 8:27 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for Query based upon a composite qualification

**
Naveen,
To the best of my knowledge, the API itself cannot do this, never really has 
been able to...but some versions ago (I think it was 7.6.04) BMC introduced 
'Multi-Form Search', or MFSif you read the docs you can read up a bit about 
it, and once configured, the API would be able to utilize your MFS Form to do 
what you want, I think.

https://docs.bmc.com/docs/display/public/ars81/Creating+a+form+and+workflow+to+search+across+multiple+forms

On Thu, Oct 31, 2013 at 9:57 PM, Setya, Naveen 
nse...@columnit.commailto:nse...@columnit.com wrote:
**
Greetings,

Can someone please provide an example of java API that can be used to retrieve 
data from a form based upon a composite qualification?

e.g. Form A and Form B

Retrieve Data from Form A where FormA.Field1=FormB.Field2

Thanks in advance
Naveen


_ARSlist: Where the Answers Are and have been for 20 years_

_ARSlist: Where the Answers Are and have been for 20 years_
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
Where the Answers Are, and have been for 20 years


Re: Java API

2013-10-04 Thread Jonas Stumph Stevnsvig
Hi




firstly, It seems as if you are confusing Java and Javascript - i assume
that you are talking pure Java, and Java Script is a Java
Application - ie a java .class file run with java.exe




Java is a requirement of the Remedy installation as far as I recall, so
it is present on the server. with regards to the JDK, you have to check
by opening a commandline and typing javac -version (no quotes)




/Jonas



On 04/10/2013 12:36 Neha Khandelwal jbpn...@gmail.com wrote:

 Hi List,
 
 
 Please help me with your expertise on below query.
 I am working on ITSM 7.6 version. I have requirement to create a Java
 script which should extract HPD:Help Desk form data through Java API.
 
 Now I need to check do I have everything already installed or
 configured to run Java script at Remedy side.
 As I looked into installation directory of ARSystem I found at
 following path .../ARSystem/api, have direcories for
 Javaplugins
 Javadriver
 include
 lib
 
 Is that mean Java is already installed Or I need to install it
 specifically.
 
 Can you please assist?
 
 Regards
 Neha Khandelwal
 
 __
 _
 UNSUBSCRIBE or access ARSlist Archives at http://www.arslist.org
 Where the Answers Are, and have been for 20 years
 
___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API

2013-10-04 Thread Neha Khandelwal
Hi Jonas,

Thanks for replying. Yes, I am not very much invloved into Java. After typing 
command suggested by you, I got javac version as 1.6.0_30, which means jdk is 
installed, right?

Regards
Neha Khandelwal

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API

2013-10-04 Thread Jonas Stumph Stevnsvig
Correct



On 04/10/2013 13:02 Neha Khandelwal jbpn...@gmail.com wrote:

 Hi Jonas,
 
 Thanks for replying. Yes, I am not very much invloved into Java. After
 typing command suggested by you, I got javac version as 1.6.0_30,
 which means jdk is installed, right?
 
 Regards
 Neha Khandelwal
 
 __
 _
 UNSUBSCRIBE or access ARSlist Archives at http://www.arslist.org
 Where the Answers Are, and have been for 20 years
 
___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API changes in ARS v8.1

2013-08-28 Thread Longwing, Lj
Raj,
It's in the JavaDocs for each release, on the index page, they give you a
synopsis of things added, depreciated, etc in this releasewho knows how
accurate it is, but it's there :)


On Wed, Aug 28, 2013 at 7:42 AM, Raj ravi6...@gmail.com wrote:

 **
 Hi All,
 I am looking for changes in Java API after ARS v7.5.
 Would it be in release notes or what's new docs, where I can find this
 information?
 Also, are there any considerable changes?

 Thank you,
 Raj
 _ARSlist: Where the Answers Are and have been for 20 years_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API changes in ARS v8.1

2013-08-28 Thread Raj
Thanks LJ.
I am trying to browse through v8.1 docs. Could you please tell which 
JavaDocs you are referring to.
Are those the one under - Developing an API 
programhttps://docs.bmc.com/docs/display/ars81/Developing+an+API+program
BMC Remedy AR System Java API 
overviewhttps://docs.bmc.com/docs/display/ars81/BMC+Remedy+AR+System+Java+API+overview
?

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API changes in ARS v8.1

2013-08-28 Thread Longwing, Lj
on the server, there is a file named ardocversion.jar

If you unzip this file, those are the java docs for that version.


On Wed, Aug 28, 2013 at 10:11 AM, Raj ravi6...@gmail.com wrote:

 **
 Thanks LJ.
 I am trying to browse through v8.1 docs. Could you please tell which
 JavaDocs you are referring to.
 Are those the one under - Developing an API 
 programhttps://docs.bmc.com/docs/display/ars81/Developing+an+API+program
 BMC Remedy AR System Java API 
 overviewhttps://docs.bmc.com/docs/display/ars81/BMC+Remedy+AR+System+Java+API+overview
 ?
 _ARSlist: Where the Answers Are and have been for 20 years_


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API changes in ARS v8.1

2013-08-28 Thread Raj
I do not have the ARS Installed, is there any way to retrieve that document?

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API changes in ARS v8.1

2013-08-28 Thread Longwing, Lj
Well, you are looking for the changes in multiple versions
7.6.03
7.6.04
8.0
8.1

So, while I would have some of those...BMC is pretty stingy with people
just sending things out in the past...I would contact BMC directly to get
copies of the docs



On Wed, Aug 28, 2013 at 12:43 PM, Raj ravi6...@gmail.com wrote:

 I do not have the ARS Installed, is there any way to retrieve that
 document?


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API changes in ARS v8.1

2013-08-28 Thread Raj
Thanks LJ for you help. 
I will initiate a ticket with BMC to get those. Would appreciate if you 
could send it across otherwise no problem at all.
Forgot to mention earlier, we are on ARS upgrade path from v5.1.2 to v8.1.
We have some customizations/code which is using Java API v7.5.
Looking for Java API changes from ARS v7.5 onwards...
since I will upgrading from ARS v7.6.04 to v8.1...do we need to make code 
changes at our end reviewing just ARS v7.6.04  ARS v8.1 JAVA API changes 
or all four different versions ARS v7.6.03, 7.6.04, 8.0  8.1.

My understanding was reviewing just Java API changes of ARS v8.1  would 
suffice as it would be cumulative...but not sure?
 


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API and JSP

2013-01-08 Thread jayesh panchal
Yes..you can use use include directive as ARS is build on struts framework
but include is used with tiles to include another jsp in one jsp
bodyyou have given example is not for include directive but its a page
directive used to import other java files or package to use defined
function from that java file or package to jsp .

Regards
Jayesh
On Jan 8, 2013 2:13 PM, John Baker jba...@javasystemsolutions.com wrote:

 Hello

 Does the JSP contain the include directive?

 %@ page import=com.bmc.arsys.api.ARServerUser %


 John


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 Where the Answers Are, and have been for 20 years


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API and JSP

2013-01-08 Thread kanhu mohapatra
Yes, ARS can be used inside include directive. The include tag lib
directory is used to include other page into the current page. And the page
directive is used to import java files, package and directive in to the
page.

Regards,
Kanhu


On Wed, Jan 9, 2013 at 10:27 AM, jayesh panchal jhpancha...@gmail.comwrote:

 **

 Yes..you can use use include directive as ARS is build on struts framework
 but include is used with tiles to include another jsp in one jsp
 bodyyou have given example is not for include directive but its a page
 directive used to import other java files or package to use defined
 function from that java file or package to jsp .

 Regards
 Jayesh
 On Jan 8, 2013 2:13 PM, John Baker jba...@javasystemsolutions.com
 wrote:

 Hello

 Does the JSP contain the include directive?

 %@ page import=com.bmc.arsys.api.ARServerUser %


 John


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 Where the Answers Are, and have been for 20 years

 _ARSlist: Where the Answers Are and have been for 20 years_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API and JSP

2013-01-07 Thread Longwing, LJ CTR MDA/IC
Ken,
There is an interesting discussion that seems to have gotten it working on 
communities

https://communities.bmc.com/communities/message/262335#262335

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Leihkauff, Kenneth G
Sent: Monday, January 07, 2013 3:03 PM
To: arslist@ARSLIST.ORG
Subject: Java API and JSP

** 

Does anyone have experience using the BMC Java API in JSP web pages?  I am able 
to successfully write java programs that connect to ARS and query, insert, 
update data in Remedy forms, etc.  However, I am having a fundamental issue 
when trying to incorporate code within JSP pages.  I am using Eclipse IDE with 
Java 6 on a Windows platform and Apache Tomcat for the jsp engine.

 

You can see below the error ARServerUser cannot be resolved to a type when 
compiling.  The CLASSPATH and PATH variables have been set and the Eclipse 
Project build path is shown below too.

 

Thank you for your insight...

Ken L., SAIC

 

type Exception report

message Unable to compile class for JSP: 

description The server encountered an internal error that prevented it from 
fulfilling this request.

exception 

org.apache.jasper.JasperException: Unable to compile class for JSP: 

 

An error occurred at line: 20 in the jsp file: /NewFile.jsp

ARServerUser cannot be resolved to a type

17: Date run: %= new java.util.Date() %

18: 

19: %

20: ARServerUser connection1;

21: connection1 = new ARServerUser();

22: %

23: 

 



 

 


In the Eclipse (screenshot), you can see where the BMC api jar file is 
referenced in the project and the package is referenced in the jsp code to the 
right.

 

 



 

 

 

_ARSlist: Where the Answers Are and have been for 20 years_ 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Where the Answers Are, and have been for 20 years


Re: Java API connection pool question..

2012-04-13 Thread Mark Hodges
If the firewall is only closing the inactive connections, you might be able to 
persuade the mid tier to close them itself. 

Normally the mid tier keeps some unspecified number of idle connections in the 
pool for a certain time. In 7.6.4 there are options in the mid-tier config 
pages to set the number of idle connections that will remain in the pool and 
optionally the time they will remain there.

I haven't tried them to see if they actually work in earlier versions and it's 
just the config pages that have changed, so YMMV, but the corresponding 
settings in config.properties for the number of idle connections is: 

arsystem.pooling_min_connections_per_server=0 

And the time in minutes that an idle connection will remain in the pool:

arsystem.proxy_idle_time_per_server=0

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API connection pool question..

2012-04-13 Thread Dee
Thanks Mark, 

We are looking into both responses from you and Axton. 

Bmc eluded to connections to arserver are from the Java API connection pool,
with 7.6.4 there's a new option called Lifespan, which if enabled, a
connection will continue to talk to the same arserver it was linked to by
the Loadbalancer in front of the ARServer group until the connection's
lifespan expires, then the connection will be recycled.

However, we don't have loadbalancer between ars and mt app server and not a
7.6.4. We plan on upgrading to that version in the near future (behind the
firewall tier), so more funny times ahead.

We are looking at  KB and how changing the values to 
https://communities.bmc.com/communities/servlet/JiveServlet/previewBody/18162-102-3-39659/Mid-Tier_deployment_kb.pdf

in the configbo.properites file
# JavaAPI connection pooling parameters
arsystem.pooling_max_connections_per_server=80

and look at these two command which I don't see in the configbo.properites 
or config.properites 
arsystem.pooling_min_connections_per_server=0 
arsystem.proxy_idle_time_per_server=0 




--
View this message in context: 
http://ars-action-request-system.1093659.n2.nabble.com/Java-API-connection-pool-question-tp7454090p7463929.html
Sent from the ARS (Action Request System) mailing list archive at Nabble.com.

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API connection pool question..

2012-04-12 Thread Dee
Axton,

From our network admins, these points where made, in response to your post.

The connections from the midtier (Websphere) server to the ARserver are
persistent TCP connections.  These connections are not stateless.  
Our firewall is doing stateful inspection on these connections.
The firewall security policy allows all of these connections to be started.
Connections are flushed from the firewall state tables after 1 hour of
INACTIVITY.  Not active connections are ever flushed.
After an inactive connection has been flushed, any further packets (in
either direction) are dropped by the firewall.  No RST packets are sent to
the session endpoints at the time of the flush or at the time of the packet
drops.  A firewall log entry is created for each of these out-of-state
packet drops.
After attempting to re-use one of the inactive/flushed connections, the
application's session endpoint make take several minutes doing TCP retries
of their dropped packets before they give up and start a new connection.

We want to know how we can configure the AR product to either: 
1) keep these connections active by implementing the keepalive protocol or 
2) close the connections when the immediate unit of work is finished.




--
View this message in context: 
http://ars-action-request-system.1093659.n2.nabble.com/Java-API-connection-pool-question-tp7454090p7459721.html
Sent from the ARS (Action Request System) mailing list archive at Nabble.com.

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API connection pool question..

2012-04-12 Thread Axton
TCP (layer 4) is stateful.
RPC (layer 5) is not stateful.

So long as the transport layer is ok (new session, old session, does not
matter), then the session layer will be fine.

As long as the firewall allows the creation of a new state when the Remedy
API talks back (after a state entry has expired), it should create a new
state in the firewall's state table.

I do not know that it is possible to do either of the 2 things you are
asking to do.  You might be able to achieve point 2 if you disable the use
of the session pool (see the end of the email).  You might try
setting connectionMaxRetries to 1 and the timeLagBetweenRetriesMillSec to
100.  In the case of connectionMaxRetries, I don't know if 0 means do not
retry or retry forever.

One thing you could do is create a rule on the firewall to not use stateful
tracking when packets originate from the MT machine and a destined to the
ARServer on a defined destination port.  These types of rules are taxing
because they have to be evaluated for every packet that goes through the
firewall, but it will allow the packets to flow as needed.

You might also look at the firewall's policy on how it handles packets that
it receives that do not match a state.  Does it silently drop the packets
or does it send a RST packet?  If it is silently dropping the packets, I
would expect the behavior you are seeing.  If it sends an RST packet, it
should tell the MT that the TCP session is not valid and it should create a
new session (the Remedy API may not work in this way though, you will have
to experiment to find out; I have not personally poked the API in this way
to find out for sure and I don't have an environment readily available to
test this scenario).

(continued from above)
arsys.xml let's you define some parameters on how the API operates:

?xml version=1.0 encoding=UTF-8?

!--
This is a sample configuration file for AR System Java API.
The values of the API configuration parameters in this sample are
the default values. To override the default values, copy or rename
this file to arsys_api.xml and change the configuration parameter
values you want to override. You can remove or comment out the
configuration parameters that you do not want to override and keep
the default values.

Configuration parameters:

catalogFile: Base filename of XML message catalog.
Do not include the file extension or the language code.
Default value: arcatalog

maxProxiesPerServer: Maximum number of proxy connections per server
Valid values:   5, 10, 20
Default value:  10

connectionMaxRetries
Valid values:   0, 1, 2
Default value:  0

timeLagBetweenRetriesMillSec
Valid values:   1000, 2000 (in milliseconds)
Default value:  1000

toStringStyle - any static ToStringStyle member of a custom class
accessible to the current process.
Valid values:
org.apache.commons.lang.builder.ToStringStyle.DEFAULT_STYLE

org.apache.commons.lang.builder.ToStringStyle.MULTI_LINE_STYLE

org.apache.commons.lang.builder.ToStringStyle.NO_FIELD_NAMES_STYLE

org.apache.commons.lang.builder.ToStringStyle.SHORT_PREFIX_STYLE

org.apache.commons.lang.builder.ToStringStyle.SIMPLE_STYLE

com.bmc.arsys.api.NoPrefixToStringStyle.NO_PREFIX_STYLE
Default value:
 com.bmc.arsys.api.NoPrefixToStringStyle.NO_PREFIX_STYLE

stringizeFieldAssignments - Controls whether the FieldAssignInfo class
assignment members are stringized for easier access.
Valid values:   true, false
Default value:  false

stringizeSetIfQualification - Controls whether the SetFieldsFromForm
action set-if-qualification member is stringized for easier access.
Valid values:   true, false
Default value:  false

apiRecording - Turns on the client side api logging and produces a
command file(usernameservernameport_arapicmd.log)
   and a result output
file(usernameservernameport_arapires.log). The value is
   a bit mask to allow for combination of
features to be blended. e.g In order to have
   append mode for the log files and record
only elapsed time and no result data, the value
   should be set to 2+8+32 = 42.
Valid values: 0 No Logging
  1 Logging ON
  2 Record in append mode in the files.
  4 Record start and finish Time
  8 Record Elapsed Time in ms
  16 Combine the command and result files into the
result file
  32 Do not record result data output
  64 Buffer the file output
Default value  :  0

jniLoadMode - Parameter to control JNI library loading.
Valid values: 0 JNI library will never be loaded
  1 JNI library will 

Re: Java API connection pool question..

2012-04-11 Thread Dee
Thanks Axton,

I posed the question to your websphere admins, 

We use http server in this case is IBM HTTP Server - 6.1.0.25, j2ee server -
IBM WebSphere Application Server - ND - 6.1.0.25.




--
View this message in context: 
http://ars-action-request-system.1093659.n2.nabble.com/Java-API-connection-pool-question-tp7454090p7456744.html
Sent from the ARS (Action Request System) mailing list archive at Nabble.com.

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API connection pool question..

2012-04-11 Thread Axton
I don't know much about the IBM stack, but with Apache's AJP connector, you
have the option to define keep alives (see  socket_keepalive and  ping_mode
):
http://tomcat.apache.org/connectors-doc/reference/workers.html

If the IBM HTTP server is talking HTTP to the WebSphere server, the
firewall should not interfere with the communications since each HTTP
request/response can negotiate the session information (it is basically
stateless between request/response pairs).  Since the firewall is
interfering, I can only assume that some other protocol is in use.

Axton Grams

On Wed, Apr 11, 2012 at 12:04 PM, Dee ddus...@aim.com wrote:

 Thanks Axton,

 I posed the question to your websphere admins,

 We use http server in this case is IBM HTTP Server - 6.1.0.25, j2ee server
 -
 IBM WebSphere Application Server - ND - 6.1.0.25.




 --
 View this message in context:
 http://ars-action-request-system.1093659.n2.nabble.com/Java-API-connection-pool-question-tp7454090p7456744.html
 Sent from the ARS (Action Request System) mailing list archive at
 Nabble.com.


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug12 www.wwrug12.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


Re: Java API connection pool question..

2012-04-11 Thread RemedyAdmin
Thanks Axton,

We are exploring your suggestion. But in the interim we put a timer on
firewall for ports to 2 hour, to be safe.

Same question posed to BMC, the MT controls java connection pool and we
can't. And set the Session timeout in the user preference/mt general setting
 to less than firewall.

Which we have tested  but still 'out of state session in the firewall 
login issues. 

To your point there maybe another protocol to look into.

None of there additional responses, dove into the response you have
provided. 



Axton Grams wrote:
 
 I don't know much about the IBM stack, but with Apache's AJP connector,
 you
 have the option to define keep alives (see  socket_keepalive and 
 ping_mode
 ):
 http://tomcat.apache.org/connectors-doc/reference/workers.html
 
 If the IBM HTTP server is talking HTTP to the WebSphere server, the
 firewall should not interfere with the communications since each HTTP
 request/response can negotiate the session information (it is basically
 stateless between request/response pairs).  Since the firewall is
 interfering, I can only assume that some other protocol is in use.
 
 Axton Grams
 
 On Wed, Apr 11, 2012 at 12:04 PM, Dee ddus...@aim.com wrote:
 
 Thanks Axton,

 I posed the question to your websphere admins,

 We use http server in this case is IBM HTTP Server - 6.1.0.25, j2ee
 server
 -
 IBM WebSphere Application Server - ND - 6.1.0.25.




 --
 View this message in context:
 http://ars-action-request-system.1093659.n2.nabble.com/Java-API-connection-pool-question-tp7454090p7456744.html
 Sent from the ARS (Action Request System) mailing list archive at
 Nabble.com.


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug12 www.wwrug12.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
 
 

-- 
View this message in context: 
http://old.nabble.com/Java-API-connection-pool-question..-tp33663782p33672738.html
Sent from the ARS (Action Request System) mailing list archive at Nabble.com.

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API connection pool question..

2012-04-11 Thread Axton
In my previous replies I was under the impression that the firewall was
between the web servers and the websphere server.  Disregard my previous
messages.  This is a more common arrangement, and for whatever reason when
I read your message, I saw what I wanted to see.

You have to remember that connections to Remedy using the Remedy API are
stateless.   That is why you can open your user tool, log in to Remdy,
unplug your machine from the network, plug in and get a different IP
address and things just work.  I assume the same is true of the connection
pools since it is all built on the same stack.  Each RPC datagram contains
the authentication information, so if a connection is not already
established, a new one is created when packets come from the client
destined for the server.  This is different from stateful protocols, like
Oracle's OCI, SSH, etc.

If your firewall is blocking the connections between the midtier server and
the arserver, you need to look at the blocked packets and the firewall
policy to find out why.  Most firewalls are stateful for TCP connections,
and attempt to be stateful for UDP connections (they typically look at the
source IP/port and destination IP/port and create a state based on that
information).  They will generally accept SYN packets to add a new state to
the state table, then use the return SYN/ACK packet to finalize the state.
 From that point forward, packets that match that entry in the state table
are allowed to pass.  An RST packet will typically terminate/expire a TCP
state and UDP states just have to expire according to the threshold
configured on the firewall.

Check on the midtier server whether the connection is over UDP or TCP (use
tcpdump on unix/linux and WireShark on Windows).  If it is using UDP, check
the number of states the firewall is capable of tracking.  Make sure that
limit on the number of UDP states is not breached, because the firewall
will start expiring, throttling, or use some other means to stay under that
limit.  If it is using TCP, things are not so straight forward.

What does your firewall say?  Is it dropping packets or sending RST packets
for packets that try to pass through that do not match the state table?

Most firewalls keep track of the last packet for a given state and expire
only sessions that have been inactive (no packets) for a given amount of
time.  In your original message you stated that the firewall flushes
connections
on each session every hour.  If this in fact the case, it is
a brain-dead expiration policy that is bound to cause problems.

I don't know what kind of firewall you are using, but the person that
manages your firewalls should be able to see what is being blocked and
determine why those things are being blocked (if this in fact the cause of
your problems).  It could be something as simple as the firewall
is under-powered for the task at hand and is dropping old states to keep up
with the new states.  On the other hand, your problem may not be your
firewall.

Axton Grams

On Wed, Apr 11, 2012 at 9:03 PM, RemedyAdmin ddus...@aim.com wrote:

 Thanks Axton,

 We are exploring your suggestion. But in the interim we put a timer on
 firewall for ports to 2 hour, to be safe.

 Same question posed to BMC, the MT controls java connection pool and we
 can't. And set the Session timeout in the user preference/mt general
 setting
  to less than firewall.

 Which we have tested  but still 'out of state session in the firewall 
 login issues.

 To your point there maybe another protocol to look into.

 None of there additional responses, dove into the response you have
 provided.



 Axton Grams wrote:
 
  I don't know much about the IBM stack, but with Apache's AJP connector,
  you
  have the option to define keep alives (see  socket_keepalive and
  ping_mode
  ):
  http://tomcat.apache.org/connectors-doc/reference/workers.html
 
  If the IBM HTTP server is talking HTTP to the WebSphere server, the
  firewall should not interfere with the communications since each HTTP
  request/response can negotiate the session information (it is basically
  stateless between request/response pairs).  Since the firewall is
  interfering, I can only assume that some other protocol is in use.
 
  Axton Grams
 
  On Wed, Apr 11, 2012 at 12:04 PM, Dee ddus...@aim.com wrote:
 
  Thanks Axton,
 
  I posed the question to your websphere admins,
 
  We use http server in this case is IBM HTTP Server - 6.1.0.25, j2ee
  server
  -
  IBM WebSphere Application Server - ND - 6.1.0.25.
 
 
 
 
  --
  View this message in context:
 
 http://ars-action-request-system.1093659.n2.nabble.com/Java-API-connection-pool-question-tp7454090p7456744.html
  Sent from the ARS (Action Request System) mailing list archive at
  Nabble.com.
 
 
 
 ___
  UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
  attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are
 
 
 
 

Re: Java API connection pool question..

2012-04-11 Thread Dee
Awesome explanation, Thank you Axton.

The connection on the midtier is TCP, but will double for UDP. Question: our
MT points to TCP, would it in parallel use UDP? Although,  yesterday, I
enabled portmapper for a local application to ARServer, so UDP 111 could be
utilized.

I will followup with the network admin on what is actually being blocked and
let you know. 

To your point and even the n/w admins are saying the policy is as you put it
brain dead, they don't make policy, only implement and there are no
governors. This probably came from vender Checkpoint as a recommendation.
Even with no policy owners, they are currently looking at increasing the
1hour to 2 hour on the firewall connection table, which I presume is the
default. This is because all connections are logged; may be performance
issue on the firewall for the 1hour limit on the connection table. 

Currently, the production is in a legacy environment, no firewalls, and
portmapped. We don't encounter the issue. In the near future we will be
moving to new server behind firewall. 

--
View this message in context: 
http://ars-action-request-system.1093659.n2.nabble.com/Java-API-connection-pool-question-tp7454090p7458264.html
Sent from the ARS (Action Request System) mailing list archive at Nabble.com.

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API connection pool question..

2012-04-10 Thread Axton
What do you use to connect the http server to the j2ee server?  If using
something like ajp, you can set up a keepalive.

Axton Grams
On Apr 10, 2012 2:22 PM, Dee ddus...@aim.com wrote:

 Hello List,

 Senario,

 Browser -- Loadbalancer -- 2 http server -- UNIX + Websphere App Server
 (MT) -- F/W-- ARSERVER UNIX + DB=Oracle 10g)


 This is the first time the ARS is behind firewall. The firewall flushes
 connection on each session every hour.
 Midtier configuration session timeout is set to 60 min.

 We see  slow/long logins and 'out of state session in the firewall.

 So if the Connections to arserver are from the Java API connection pool,

 - How can the connection pool be managed?
 - If the keepalive protocol is enabled, will this keep session to database
 open?
 - If the connection pool is has stale connection, how can they flushed
 immediately such that less time to create new session?
 - if the unix default  keepalive 2 hour variable is changed to 1hour, how
 does this impact the  Java API connection pool.


 Basically, how can we either keep the session alive across a f/w that
 flushes sessions every hour?
 or Manage the pool to flush stale connections very quickly, such that
 establishing another session (login) is in seconds rather than minutes?



 --
 View this message in context:
 http://ars-action-request-system.1093659.n2.nabble.com/Java-API-connection-pool-question-tp7454090p7454090.html
 Sent from the ARS (Action Request System) mailing list archive at
 Nabble.com.


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug12 www.wwrug12.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


Re: Java API question - how to save a filter

2012-04-07 Thread John Sundberg
(Found my own answer) -- actually - walked away from the computer -- did
some dishes -- then thought uggg - the user needs to save it -- not the
filter itself…

Often the best way to solve a problem - is to walk away from the computer.

My wife would say -- would be to do some dishes :)


user.setFilter(f)

UG -- sorry for the wasted post.

-John



On Sat, Apr 7, 2012 at 4:10 PM, John Sundberg john.sundb...@kineticdata.com
 wrote:

 Java ARS API 7.6


 Any idea how to save a filter….

 f = user.getFilter(SomeSampleFilter)
 f.setHelpText(John was here)


 f.save ???
 f.commit ???
 f. 

 I looked through the docs -- couldn't find anything ….

 I may have totally missed it. ???


 -John




 --

 *John Sundberg*
 Kinetic Data, Inc.
 Your Business. Your Process.
 *WWRUG10 Best Customer Service/Support Award*
 *WWRUG09 Innovator of the Year Award*
 *
 *
 651-556-0930 I john.sundb...@kineticdata.com
  www.kineticdata.com I community.kineticdata.com






-- 

*John Sundberg*
Kinetic Data, Inc.
Your Business. Your Process.
*WWRUG10 Best Customer Service/Support Award*
*WWRUG09 Innovator of the Year Award*
*
*
651-556-0930 I john.sundb...@kineticdata.com
www.kineticdata.com I community.kineticdata.com

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API: how to really log out ? (v7.1)

2012-02-02 Thread Thibaut Barrère
Hi Ben,


 Not being a Java guy, I hesitate to ask, but should you not logout first
 then clear the context?


that wa a good suggestion :) I tried both orders but the leak still occurs.

I'll see with a more recent version of ARS later on.

thanks anyway!

Thibaut
--
http://www.logeek.fr

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API: how to really log out ? (v7.1)

2012-01-24 Thread Ben Chernys
Not being a Java guy, I hesitate to ask, but should you not logout first
then clear the context?

Ben

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Thibaut Barrère
Sent: January-24-12 08:59
To: arslist@ARSLIST.ORG
Subject: Re: Java API: how to really log out ? (v7.1)

 

** 

Hi

 

Leaks are almost always the app’s fault and not the API’s fault.

 

Well in this case, the repro was fairly simple. I used JRuby and the Java
ARS API 5.1, basically the following code:

 

require 'arapi51'

include_class 'com.remedy.arsys.api.ARServerUser'

 

while true

  context = ARServerUser.new(user,password,'', host)

  context.login

  sleep(5)

  context.clear

  context.logout

end

 

Following along with TaskInfo, the process leaks 3 connections at each
login.

 

I did not run this against ARS 7+ but will soon and will report back here
(as my customer is planning to upgrade).

 

-- Thibaut

 

 


_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


Re: Java API: how to really log out ? (v7.1)

2012-01-23 Thread Misi Mladoniczky
Hi Ben,

Are not MetaUpdate linked to the C-API?

In the C-API, you have to issue an ARTermination() or each session you
have created, which is typically one if you work against one server.

In the Java-API, I would expect that this is handled automatically when
your (single) server object is destroyed.

It seems difficult to write a Java-API-program that leaks sessions, unless
there is some problem with the Java-API itself.

On the other hand, it seems unlikely that BMC has left such a bug in the
Java-API.

Have you tried running a newer version of the Java-API?

Best Regards - Misi, RRR AB, http://www.rrr.se (ARSList MVP 2011)

Products from RRR Scandinavia (Best R.O.I. Award at WWRUG10/11):
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
Find these products, and many free tools and utilities, at http://rrr.se.

 I cannot comment on the logout leaking handles as Meta-Update issues
 logouts
 at end of job.  Currently, a Meta-Update job is a single process that
 begins
 and ends.  However, it can be very log lived and hammers on the API quite
 heavily.  So, I can comment on leaks.



 Leaks are almost always the app’s fault and not the API’s fault.  You must
 call the API’s free() functions as required and your own as well.  It is
 best to have a routine to dump allocated blocks at appropriate points and
 then go through them manually.  This is part of a special version I build
 on
 Windows.  gcc does not have equivalent functions without a special
 library.
 In this version, I replace the standard allocation functions with one that
 cuts a trace and calls the original functions.  Then it is no problem to
 determine where the leaked memory was allocated (with the exception of API
 calls).



 The API is not completely documented on the subject of what arguments
 return
 allocated memory etc.  I always have had grief with mixing memory
 allocation
 even for the same structure, so I have replicated the ARFree functions and
 use them for my own allocations and use the API for its allocations.



 There were some API leaks in older versions.  I do not think 7.1 was one
 of
 them.  There were patches applied.  I think they were around the 5.2 area
 but have kept to formal logs on the subject.  I know that huge jobs (50k
 records * 5 outputs etc) do not leak memory.



 Cheers

 Ben Chernys


 Senior Software Architect
 Description: logoSthInc-sm

 Canada / Deutschland / Germany
 Mobile:  +49 171 380 2329GMT + 1 + [ DST ]
 Email:   Ben.Chernys _AT_ softwaretoolhouse.com
 Web:  http://www.softwaretoolhouse.com/
 www.softwaretoolhouse.com

 Check out Software Tool House's free Diary Editor.

 Meta-Update, our premium ARS Data tool, lets you automate
 your imports, migrations, in no time at all, without programming,
 without staging forms, without merge workflow.
  http://www.softwaretoolhouse.com/ http://www.softwaretoolhouse.com/









 From: Action Request System discussion list(ARSList)
 [mailto:arslist@ARSLIST.ORG] On Behalf Of Thibaut Barrère
 Sent: January-22-12 12:30
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API: how to really log out ? (v7.1)



 ** Hi,

 On Tue, May 31, 2011 at 5:42 PM, Papolu, Appajee appajee_pap...@bmc.com
 wrote:

 AR API methoods in essense have a notion of establishing connection,
 authenticating, performing the eventual network api call to the Server and
 so on. That is why your subsequent ops after logout just work seamlessly.
 Of
 course all this noted additional work happens conditionally on as needed
 basis.

 So, be assured that --  if you do a login at first and logout at the very
 end, then expected logout semantics are upheld (i.e. this specific user's
 acquired license is released etc).



 Some extra feedback much later on, in case it helps someone (and I think
 we
 have some leaking somewhere).



 I must mention that earlier on, I faced the same situation with an ARS 5.1
 installation.



 What I diagnosed in the end (using tools like TaskInfo) is that the
 process
 was leaking 3 handles per login, but logout (with or without clear in 5.1)
 did not release the connections (using ARServerUser to login/logout).



 I'm concerned that this may be happening as well with 7.1 (although I
 cannot
 test right now).



 This is a bit of a concern for long running processes, such as job
 processing workers.



 I'd love to hear from others, in case someone has experimented more leaks
 on
 long running processes!



 -- Thibaut

 _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


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12

Re: Java API: how to really log out ? (v7.1)

2012-01-23 Thread Ben Chernys
Indeed.  C-API  As I stated.  Indeed ARTermination.  As I stated :).  
Meta-Update can have multiple sessions (and hence issue multiple ARTermination 
calls.

Cheers Misi.
Ben.

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Misi Mladoniczky
Sent: January-23-12 09:05
To: arslist@ARSLIST.ORG
Subject: Re: Java API: how to really log out ? (v7.1)

Hi Ben,

Are not MetaUpdate linked to the C-API?

In the C-API, you have to issue an ARTermination() or each session you have 
created, which is typically one if you work against one server.

In the Java-API, I would expect that this is handled automatically when your 
(single) server object is destroyed.

It seems difficult to write a Java-API-program that leaks sessions, unless 
there is some problem with the Java-API itself.

On the other hand, it seems unlikely that BMC has left such a bug in the 
Java-API.

Have you tried running a newer version of the Java-API?

Best Regards - Misi, RRR AB, http://www.rrr.se (ARSList MVP 2011)

Products from RRR Scandinavia (Best R.O.I. Award at WWRUG10/11):
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
Find these products, and many free tools and utilities, at http://rrr.se.

 I cannot comment on the logout leaking handles as Meta-Update issues 
 logouts at end of job.  Currently, a Meta-Update job is a single 
 process that begins and ends.  However, it can be very log lived and 
 hammers on the API quite heavily.  So, I can comment on leaks.



 Leaks are almost always the app?s fault and not the API?s fault.  You 
 must call the API?s free() functions as required and your own as well.  
 It is best to have a routine to dump allocated blocks at appropriate 
 points and then go through them manually.  This is part of a special 
 version I build on Windows.  gcc does not have equivalent functions 
 without a special library.
 In this version, I replace the standard allocation functions with one 
 that cuts a trace and calls the original functions.  Then it is no 
 problem to determine where the leaked memory was allocated (with the 
 exception of API calls).



 The API is not completely documented on the subject of what arguments 
 return allocated memory etc.  I always have had grief with mixing 
 memory allocation even for the same structure, so I have replicated 
 the ARFree functions and use them for my own allocations and use the 
 API for its allocations.



 There were some API leaks in older versions.  I do not think 7.1 was 
 one of them.  There were patches applied.  I think they were around 
 the 5.2 area but have kept to formal logs on the subject.  I know that 
 huge jobs (50k records * 5 outputs etc) do not leak memory.



 Cheers

 Ben Chernys


 Senior Software Architect
 Description: logoSthInc-sm

 Canada / Deutschland / Germany
 Mobile:  +49 171 380 2329GMT + 1 + [ DST ]
 Email:   Ben.Chernys _AT_ softwaretoolhouse.com
 Web:  http://www.softwaretoolhouse.com/
 www.softwaretoolhouse.com

 Check out Software Tool House's free Diary Editor.

 Meta-Update, our premium ARS Data tool, lets you automate your 
 imports, migrations, in no time at all, without programming, without 
 staging forms, without merge workflow.
  http://www.softwaretoolhouse.com/ http://www.softwaretoolhouse.com/









 From: Action Request System discussion list(ARSList) 
 [mailto:arslist@ARSLIST.ORG] On Behalf Of Thibaut Barr re
 Sent: January-22-12 12:30
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API: how to really log out ? (v7.1)



 ** Hi,

 On Tue, May 31, 2011 at 5:42 PM, Papolu, Appajee 
 appajee_pap...@bmc.com
 wrote:

 AR API methoods in essense have a notion of establishing connection, 
 authenticating, performing the eventual network api call to the Server 
 and so on. That is why your subsequent ops after logout just work seamlessly.
 Of
 course all this noted additional work happens conditionally on as 
 needed basis.

 So, be assured that --  if you do a login at first and logout at the 
 very end, then expected logout semantics are upheld (i.e. this 
 specific user's acquired license is released etc).



 Some extra feedback much later on, in case it helps someone (and I 
 think we have some leaking somewhere).



 I must mention that earlier on, I faced the same situation with an ARS 
 5.1 installation.



 What I diagnosed in the end (using tools like TaskInfo) is that the 
 process was leaking 3 handles per login, but logout (with or without 
 clear in 5.1) did not release the connections (using ARServerUser to 
 login/logout).



 I'm concerned that this may be happening as well with 7.1 (although I 
 cannot test right now).



 This is a bit of a concern for long running processes, such as job 
 processing workers.



 I'd love to hear from others, in case someone has experimented more 
 leaks on long running

Re: Java API: how to really log out ? (v7.1)

2012-01-23 Thread Misi Mladoniczky
Hi,

Sorry, did not see that as I only read the last post that I replied to...

Best Regards - Misi, RRR AB, http://www.rrr.se (ARSList MVP 2011)

Products from RRR Scandinavia (Best R.O.I. Award at WWRUG10/11):
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
Find these products, and many free tools and utilities, at http://rrr.se.

 Indeed.  C-API  As I stated.  Indeed ARTermination.  As I stated :).
 Meta-Update can have multiple sessions (and hence issue multiple
 ARTermination calls.

 Cheers Misi.
 Ben.

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arslist@ARSLIST.ORG] On Behalf Of Misi Mladoniczky
 Sent: January-23-12 09:05
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API: how to really log out ? (v7.1)

 Hi Ben,

 Are not MetaUpdate linked to the C-API?

 In the C-API, you have to issue an ARTermination() or each session you
 have created, which is typically one if you work against one server.

 In the Java-API, I would expect that this is handled automatically when
 your (single) server object is destroyed.

 It seems difficult to write a Java-API-program that leaks sessions, unless
 there is some problem with the Java-API itself.

 On the other hand, it seems unlikely that BMC has left such a bug in the
 Java-API.

 Have you tried running a newer version of the Java-API?

 Best Regards - Misi, RRR AB, http://www.rrr.se (ARSList MVP 2011)

 Products from RRR Scandinavia (Best R.O.I. Award at WWRUG10/11):
 * RRR|License - Not enough Remedy licenses? Save money by optimizing.
 * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
 Find these products, and many free tools and utilities, at http://rrr.se.

 I cannot comment on the logout leaking handles as Meta-Update issues
 logouts at end of job.  Currently, a Meta-Update job is a single
 process that begins and ends.  However, it can be very log lived and
 hammers on the API quite heavily.  So, I can comment on leaks.



 Leaks are almost always the app?s fault and not the API?s fault.  You
 must call the API?s free() functions as required and your own as well.
 It is best to have a routine to dump allocated blocks at appropriate
 points and then go through them manually.  This is part of a special
 version I build on Windows.  gcc does not have equivalent functions
 without a special library.
 In this version, I replace the standard allocation functions with one
 that cuts a trace and calls the original functions.  Then it is no
 problem to determine where the leaked memory was allocated (with the
 exception of API calls).



 The API is not completely documented on the subject of what arguments
 return allocated memory etc.  I always have had grief with mixing
 memory allocation even for the same structure, so I have replicated
 the ARFree functions and use them for my own allocations and use the
 API for its allocations.



 There were some API leaks in older versions.  I do not think 7.1 was
 one of them.  There were patches applied.  I think they were around
 the 5.2 area but have kept to formal logs on the subject.  I know that
 huge jobs (50k records * 5 outputs etc) do not leak memory.



 Cheers

 Ben Chernys


 Senior Software Architect
 Description: logoSthInc-sm

 Canada / Deutschland / Germany
 Mobile:  +49 171 380 2329GMT + 1 + [ DST ]
 Email:   Ben.Chernys _AT_ softwaretoolhouse.com
 Web:  http://www.softwaretoolhouse.com/
 www.softwaretoolhouse.com

 Check out Software Tool House's free Diary Editor.

 Meta-Update, our premium ARS Data tool, lets you automate your
 imports, migrations, in no time at all, without programming, without
 staging forms, without merge workflow.
  http://www.softwaretoolhouse.com/ http://www.softwaretoolhouse.com/









 From: Action Request System discussion list(ARSList)
 [mailto:arslist@ARSLIST.ORG] On Behalf Of Thibaut Barr re
 Sent: January-22-12 12:30
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API: how to really log out ? (v7.1)



 ** Hi,

 On Tue, May 31, 2011 at 5:42 PM, Papolu, Appajee
 appajee_pap...@bmc.com
 wrote:

 AR API methoods in essense have a notion of establishing connection,
 authenticating, performing the eventual network api call to the Server
 and so on. That is why your subsequent ops after logout just work
 seamlessly.
 Of
 course all this noted additional work happens conditionally on as
 needed basis.

 So, be assured that --  if you do a login at first and logout at the
 very end, then expected logout semantics are upheld (i.e. this
 specific user's acquired license is released etc).



 Some extra feedback much later on, in case it helps someone (and I
 think we have some leaking somewhere).



 I must mention that earlier on, I faced the same situation with an ARS
 5.1 installation.



 What I diagnosed in the end (using tools like TaskInfo) is that the
 process was leaking 3

Re: Java API: how to really log out ? (v7.1)

2012-01-23 Thread Thibaut Barrère
Hi


 Leaks are almost always the app’s fault and not the API’s fault.


Well in this case, the repro was fairly simple. I used JRuby and the Java
ARS API 5.1, basically the following code:

require 'arapi51'
include_class 'com.remedy.arsys.api.ARServerUser'

while true
  context = ARServerUser.new(user,password,'', host)
  context.login
  sleep(5)
  context.clear
  context.logout
end

Following along with TaskInfo, the process leaks 3 connections at each
login.

I did not run this against ARS 7+ but will soon and will report back here
(as my customer is planning to upgrade).

-- Thibaut

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API: how to really log out ? (v7.1)

2012-01-22 Thread Thibaut Barrère
Hi,

On Tue, May 31, 2011 at 5:42 PM, Papolu, Appajee appajee_pap...@bmc.comwrote:

 AR API methoods in essense have a notion of establishing connection,
 authenticating, performing the eventual network api call to the Server and
 so on. That is why your subsequent ops after logout just work seamlessly.
 Of course all this noted additional work happens conditionally on as needed
 basis.

 So, be assured that --  if you do a login at first and logout at the very
 end, then expected logout semantics are upheld (i.e. this specific user's
 acquired license is released etc).


Some extra feedback much later on, in case it helps someone (and I think we
have some leaking somewhere).

I must mention that earlier on, I faced the same situation with an ARS 5.1
installation.

What I diagnosed in the end (using tools like TaskInfo) is that the process
was leaking 3 handles per login, but logout (with or without clear in 5.1)
did not release the connections (using ARServerUser to login/logout).

I'm concerned that this may be happening as well with 7.1 (although I
cannot test right now).

This is a bit of a concern for long running processes, such as job
processing workers.

I'd love to hear from others, in case someone has experimented more leaks
on long running processes!

-- Thibaut

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API: how to really log out ? (v7.1)

2012-01-22 Thread Ben Chernys
I cannot comment on the logout leaking handles as Meta-Update issues logouts
at end of job.  Currently, a Meta-Update job is a single process that begins
and ends.  However, it can be very log lived and hammers on the API quite
heavily.  So, I can comment on leaks.

 

Leaks are almost always the app’s fault and not the API’s fault.  You must
call the API’s free() functions as required and your own as well.  It is
best to have a routine to dump allocated blocks at appropriate points and
then go through them manually.  This is part of a special version I build on
Windows.  gcc does not have equivalent functions without a special library.
In this version, I replace the standard allocation functions with one that
cuts a trace and calls the original functions.  Then it is no problem to
determine where the leaked memory was allocated (with the exception of API
calls).

 

The API is not completely documented on the subject of what arguments return
allocated memory etc.  I always have had grief with mixing memory allocation
even for the same structure, so I have replicated the ARFree functions and
use them for my own allocations and use the API for its allocations.

 

There were some API leaks in older versions.  I do not think 7.1 was one of
them.  There were patches applied.  I think they were around the 5.2 area
but have kept to formal logs on the subject.  I know that huge jobs (50k
records * 5 outputs etc) do not leak memory.

 

Cheers

Ben Chernys


Senior Software Architect
Description: logoSthInc-sm  

Canada / Deutschland / Germany
Mobile:  +49 171 380 2329GMT + 1 + [ DST ]
Email:   Ben.Chernys _AT_ softwaretoolhouse.com
Web:  http://www.softwaretoolhouse.com/ www.softwaretoolhouse.com

Check out Software Tool House's free Diary Editor.

Meta-Update, our premium ARS Data tool, lets you automate 
your imports, migrations, in no time at all, without programming, 
without staging forms, without merge workflow. 
 http://www.softwaretoolhouse.com/ http://www.softwaretoolhouse.com/  

 

 

 

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Thibaut Barrère
Sent: January-22-12 12:30
To: arslist@ARSLIST.ORG
Subject: Re: Java API: how to really log out ? (v7.1)

 

** Hi,

On Tue, May 31, 2011 at 5:42 PM, Papolu, Appajee appajee_pap...@bmc.com
wrote:

AR API methoods in essense have a notion of establishing connection,
authenticating, performing the eventual network api call to the Server and
so on. That is why your subsequent ops after logout just work seamlessly. Of
course all this noted additional work happens conditionally on as needed
basis.

So, be assured that --  if you do a login at first and logout at the very
end, then expected logout semantics are upheld (i.e. this specific user's
acquired license is released etc).

 

Some extra feedback much later on, in case it helps someone (and I think we
have some leaking somewhere).

 

I must mention that earlier on, I faced the same situation with an ARS 5.1
installation.

 

What I diagnosed in the end (using tools like TaskInfo) is that the process
was leaking 3 handles per login, but logout (with or without clear in 5.1)
did not release the connections (using ARServerUser to login/logout).

 

I'm concerned that this may be happening as well with 7.1 (although I cannot
test right now).

 

This is a bit of a concern for long running processes, such as job
processing workers.

 

I'd love to hear from others, in case someone has experimented more leaks on
long running processes!

 

-- Thibaut 

_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
image003.jpg

Re: Java API Help - SelectionFieldLimit

2011-12-16 Thread LJ LongWing
John and I communicated offline on this process for several days.  After
explaining what I was trying to do (move a field from server A to Server B
through static file), he suggested that I look into serializing the object

http://java.sun.com/developer/technicalArticles/Programming/serialization/

not being a java developer that came by my knowledge from school, I'm not
familiar with some of the nuances of Java that I maybe should have been
familiar with.  After reading up on serialization, it proved to be EXACTLY
what I was looking for.

John,
Thank you for your time and considerable knowledge on this matter

The rest of you,
Hopefully you find this nugget of information useful in your travels.

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of John Baker
Sent: Monday, December 12, 2011 8:09 AM
To: arslist@ARSLIST.ORG
Subject: Java API Help - SelectionFieldLimit

LJ,

If you looked up the meaning of snide, you'd find the following
definition: Malicious, derogatory, counterfeit, sham.

Clearly, stating it's not obvious - which it isn't, given you've asked
the question and come to the same conclusion - is entirely reasonable.

I made time to help you and avoid you wasting any more of your time. And
I spent 20 minutes on Sunday looking at your previous question, too. 


John


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.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


Re: Java API Help - SelectionFieldLimit

2011-12-12 Thread Danny Kellett
The last line... really?

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of John Baker
Sent: 12 December 2011 08:31
To: arslist@ARSLIST.ORG
Subject: Java API Help - SelectionFieldLimit

LJ,

If you use the constructor or set method that takes an array of Strings,
you get a regular list. If you use the constructor or set method that
takes a list of EnumItems, you get a custom list.

I'll leave it to you for feedback on how obvious this seems :-)


John


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.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


Re: Java API Help - StructItemInfo

2011-12-12 Thread Mark Hodges
I find a good strategy sometimes is to locate the corresponding item in the C 
API as it's usually better documented.

In this case, it seems these are used when you are importing or exporting VUIs 
(type = VUI) or mail templates (type = MAIL), and they allow you to specify the 
specific VUI or mail template you want to import/export for the schema named in 
the name field. So unless you are dealing with VUIs or mail templates you can 
probably ignore them.

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: Where the Answers Are


Re: Java API Help - SelectionFieldLimit

2011-12-12 Thread LJ LongWing
John,
I then apologize...sarcasm is extremely difficult to pick up in this medium.
Going back and re-reading your post, I can read it in a different frame of
mind and see that were was no malicious or derogatory intent :)

Thank you for the time you spent helping a fellow lister...it allows me to
build my code to create 'regular' lists :)

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of John Baker
Sent: Monday, December 12, 2011 8:09 AM
To: arslist@ARSLIST.ORG
Subject: Java API Help - SelectionFieldLimit

LJ,

If you looked up the meaning of snide, you'd find the following
definition: Malicious, derogatory, counterfeit, sham.

Clearly, stating it's not obvious - which it isn't, given you've asked
the question and come to the same conclusion - is entirely reasonable.

I made time to help you and avoid you wasting any more of your time. And
I spent 20 minutes on Sunday looking at your previous question, too. 


John


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.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


Re: Java API: how to really log out ? (v7.1)

2011-05-31 Thread LJ LongWing
Thibaut,

Give this a try….turn on user logging log in, do your normal stuff, log out,
and then perform your query….check to see if it does another login
automatically….I think you will find that it does.  In my mind I only do a
log out when my program is terminating…so I’ve never tried to do anything
after issuing the logout statement.  If you are concerned about it I would
set the ARServerUser object to null after logging out if you don’t want it
used again.

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Thibaut Barrère
Sent: Tuesday, May 31, 2011 9:04 AM
To: arslist@ARSLIST.ORG
Subject: Java API: how to really log out ? (v7.1)

 

** Hello,

 

if I issue an ARServerUser.logout via the Java API (7.1), I can still
connect to the server, retrieve entries etc.

 

Is it a known issue ? Is there a work-around ?

 

thanks!

 

-- Thibaut

_attend WWRUG11 www.wwrug.com ARSlist: Where the Answers Are_ 


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: Where the Answers Are


Re: Java API: how to really log out ? (v7.1)

2011-05-31 Thread Papolu, Appajee
AR API methoods in essense have a notion of establishing connection, 
authenticating, performing the eventual network api call to the Server and so 
on. That is why your subsequent ops after logout just work seamlessly. Of 
course all this noted additional work happens conditionally on as needed basis.

So, be assured that --  if you do a login at first and logout at the very end, 
then expected logout semantics are upheld (i.e. this specific user's acquired 
license is released etc).

Appajee



From: Action Request System discussion list(ARSList) [arslist@ARSLIST.ORG] On 
Behalf Of Thibaut Barrère [thibaut.barr...@gmail.com]
Sent: Tuesday, May 31, 2011 8:03 AM
To: arslist@ARSLIST.ORG
Subject: Java API: how to really log out ? (v7.1)

** Hello,

if I issue an ARServerUser.logout via the Java API (7.1), I can still connect 
to the server, retrieve entries etc.

Is it a known issue ? Is there a work-around ?

thanks!

-- Thibaut
_attend WWRUG11 www.wwrug.com ARSlist: Where the Answers Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: Where the Answers Are


Re: JAVA API in a x64 machine using x32 dlls

2011-02-06 Thread Frex Popo
Many thanks Axton.

--- En date de : Sam 5.2.11, Axton axton.gr...@gmail.com a écrit :


De: Axton axton.gr...@gmail.com
Objet: Re: JAVA API in a x64 machine using x32 dlls
À: arslist@ARSLIST.ORG
Date: Samedi 5 février 2011, 16h45


** 
These are the option I see:- Use a 32-bit JVM and use the Remedy Java API
- Use a 64-bit JVM and don't use the Remedy Java API



I don't know if the JVM requirements have changed with the 7.6 versions.  Maybe 
someone else can comment on that.


Axton



The opinions, statements, and/or suggested courses of action expressed in this 
E-mail do not necessarily reflect those of BMC Software, Inc.  My voluntary 
participation in this forum is not intended to convey a role as a spokesperson, 
liaison or public relations representative for BMC Software, Inc.

On Sat, Feb 5, 2011 at 6:52 AM, Frex Popo frexp...@yahoo.fr wrote:

** 




Many thanks for all our replies.
 
So by Native Java API, you mean discard the remedy libraries and write your own 
like reinventing te wheel so to speak.
 
Or 
 
Install a 32x JVM on a 64x OS and - assuming it will happily reside with a 64x 
JVM in the same machine - use the correct Java version when compiling and 
running the API? Am I right?
 
Regards
frex

--- En date de : Ven 4.2.11, Axton axton.gr...@gmail.com a écrit :


De: Axton axton.gr...@gmail.com
Objet: Re: JAVA API in a x64 machine using x32 dlls
À: arslist@ARSLIST.ORG
Date: Vendredi 4 février 2011, 16h39


** Hot deployments would sure make development and deployments a lot easier 
(and more productive - less development time and less downtime).  Getting rid 
of the native library dependencies would make that possible.





Axton Grams



The opinions, statements, and/or suggested courses of action expressed in this 
E-mail do not necessarily reflect those of BMC Software, Inc.  My voluntary 
participation in this forum is not intended to convey a role as a spokesperson, 
liaison or public relations representative for BMC Software, Inc.

On Fri, Feb 4, 2011 at 9:24 AM, John Baker jba...@javasystemsolutions.com 
wrote:

Axton is correct, however you almost certainly don't want to really use
a 64bit VM, and if this isn't Midtier, you could probably use the native
Java API.

The Midtier, last time I checked, is 99.9% native library free.
Curiously, the only part of the native library it still uses is checking
the Midtier configuration password is valid.

Perhaps someone at BMC could comment out the one or two lines of code,
eject the API, allowing us to deploy much smaller WAR files without
Tomcat (and other servlet engines) crashing when the Midtier is
restarted (because the JVM can't share the native libraries between
classloaders).


--
Single Sign On for AR System
http://www.javasystemsolutions.com/jss/ssplugin

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: Where the Answers Are

_attend WWRUG11 www.wwrug.com ARSlist: Where the Answers Are_ 
_attend WWRUG11 www.wwrug.com ARSlist: Where the Answers Are_
_attend WWRUG11 www.wwrug.com ARSlist: Where the Answers Are_ 


  
___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: Where the Answers Are


Re: JAVA API in a x64 machine using x32 dlls

2011-02-05 Thread Frex Popo
Many thanks for all our replies.
 
So by Native Java API, you mean discard the remedy libraries and write your own 
like reinventing te wheel so to speak.
 
Or 
 
Install a 32x JVM on a 64x OS and - assuming it will happily reside with a 64x 
JVM in the same machine - use the correct Java version when compiling and 
running the API? Am I right?
 
Regards
frex

--- En date de : Ven 4.2.11, Axton axton.gr...@gmail.com a écrit :


De: Axton axton.gr...@gmail.com
Objet: Re: JAVA API in a x64 machine using x32 dlls
À: arslist@ARSLIST.ORG
Date: Vendredi 4 février 2011, 16h39


** Hot deployments would sure make development and deployments a lot easier 
(and more productive - less development time and less downtime).  Getting rid 
of the native library dependencies would make that possible.


Axton Grams



The opinions, statements, and/or suggested courses of action expressed in this 
E-mail do not necessarily reflect those of BMC Software, Inc.  My voluntary 
participation in this forum is not intended to convey a role as a spokesperson, 
liaison or public relations representative for BMC Software, Inc.

On Fri, Feb 4, 2011 at 9:24 AM, John Baker jba...@javasystemsolutions.com 
wrote:

Axton is correct, however you almost certainly don't want to really use
a 64bit VM, and if this isn't Midtier, you could probably use the native
Java API.

The Midtier, last time I checked, is 99.9% native library free.
Curiously, the only part of the native library it still uses is checking
the Midtier configuration password is valid.

Perhaps someone at BMC could comment out the one or two lines of code,
eject the API, allowing us to deploy much smaller WAR files without
Tomcat (and other servlet engines) crashing when the Midtier is
restarted (because the JVM can't share the native libraries between
classloaders).


--
Single Sign On for AR System
http://www.javasystemsolutions.com/jss/ssplugin

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: Where the Answers Are

_attend WWRUG11 www.wwrug.com ARSlist: Where the Answers Are_ 


  
___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: Where the Answers Are


Re: JAVA API in a x64 machine using x32 dlls

2011-02-05 Thread Axton
These are the option I see:
- Use a 32-bit JVM and use the Remedy Java API
- Use a 64-bit JVM and don't use the Remedy Java API

I don't know if the JVM requirements have changed with the 7.6 versions.
 Maybe someone else can comment on that.

Axton

The opinions, statements, and/or suggested courses of action expressed in
this E-mail do not necessarily reflect those of BMC Software, Inc.  My
voluntary participation in this forum is not intended to convey a role as a
spokesperson, liaison or public relations representative for BMC Software,
Inc.

On Sat, Feb 5, 2011 at 6:52 AM, Frex Popo frexp...@yahoo.fr wrote:

 **
 Many thanks for all our replies.

 So by Native Java API, you mean discard the remedy libraries and write your
 own like reinventing te wheel so to speak.

 Or

 Install a 32x JVM on a 64x OS and - assuming it will happily reside with a
 64x JVM in the same machine - use the correct Java version when compiling
 and running the API? Am I right?

 Regards
 frex

 --- En date de : *Ven 4.2.11, Axton axton.gr...@gmail.com* a écrit :


 De: Axton axton.gr...@gmail.com
 Objet: Re: JAVA API in a x64 machine using x32 dlls
 À: arslist@ARSLIST.ORG
 Date: Vendredi 4 février 2011, 16h39

 ** Hot deployments would sure make development and deployments a lot
 easier (and more productive - less development time and less downtime).
  Getting rid of the native library dependencies would make that possible.

 Axton Grams

  The opinions, statements, and/or suggested courses of action expressed in
 this E-mail do not necessarily reflect those of BMC Software, Inc.  My
 voluntary participation in this forum is not intended to convey a role as a
 spokesperson, liaison or public relations representative for BMC Software,
 Inc.

 On Fri, Feb 4, 2011 at 9:24 AM, John Baker 
 jba...@javasystemsolutions.comhttp://fr.mc265.mail.yahoo.com/mc/compose?to=jba...@javasystemsolutions.com
  wrote:

 Axton is correct, however you almost certainly don't want to really use
 a 64bit VM, and if this isn't Midtier, you could probably use the native
 Java API.

 The Midtier, last time I checked, is 99.9% native library free.
 Curiously, the only part of the native library it still uses is checking
 the Midtier configuration password is valid.

 Perhaps someone at BMC could comment out the one or two lines of code,
 eject the API, allowing us to deploy much smaller WAR files without
 Tomcat (and other servlet engines) crashing when the Midtier is
 restarted (because the JVM can't share the native libraries between
 classloaders).


 --
 Single Sign On for AR System
 http://www.javasystemsolutions.com/jss/ssplugin


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug11 www.wwrug.com ARSList: Where the Answers Are


 _attend WWRUG11 www.wwrug.com ARSlist: Where the Answers Are_


 _attend WWRUG11 www.wwrug.com ARSlist: Where the Answers Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: Where the Answers Are


Re: JAVA API in a x64 machine using x32 dlls

2011-02-04 Thread Axton
You can not classload a 32-bit native library (JNI) using a 64-bit JVM, and
vice versa.  You will be constrained to a 32-bit JVM as long as those 32-bit
native libraries are required.

Axton

The opinions, statements, and/or suggested courses of action expressed in
this E-mail do not necessarily reflect those of BMC Software, Inc.  My
voluntary participation in this forum is not intended to convey a role as a
spokesperson, liaison or public relations representative for BMC Software,
Inc.

On Fri, Feb 4, 2011 at 8:27 AM, Frex Popo frexp...@yahoo.fr wrote:

 **
 Dear listers,

 I am not a Java person and would need some pointers from those who wrote
 Java API in the past.

 The company integrated with some supplier's application using web services.
 They got into all kind of problems so they decided to go it the Java API
 route.

 Someone from the supplier's end wrote some Java program which connects to
 the remedy server and creates/updates some tickets etc.. He started with a
 stand alone server which he installed in his machine. He used all the dll.
 file listed in the API integration manual. He got his program working.

 He then deployed his program in a WAS61 (websphere web server) in a 32x
 machine. It worked just fine, or at least what I was told. He then did the
 same in one of our x64 but machine but it bails during deployment the
 application gives errors (please see below).

 They are all pointing to the fact that the dlls are x32 and not 64x.

 My question is if this is the case, why is it that we got a Mid-Tier which
 uses x32 libraries working fine in a WAS61 x64 machine? What's different?

 Where do I look to start with, in order to compare what's on both machines
 (x32 [where the API works] and x64 [where it does not]), simply because the
 two machines are different with different software/components/specs etc and
 not just the Remedy API libraries??

 Also, could the Java driver or C driver be used as a test to prove that the
 API libraries are the culprit?

 Is there anyway you can emulate a x64 JVM to run the 32x API?

 Anyway pointers will be very much appreciated as we are quite stuck as to
 what do next!!

 Regards

 frex
 3/02/11 9:30:07:663 CET] 006e DispatchActio E
 org.apache.struts.actions.DispatchAction dispatchMethod
 Dispatch[/editInspeccion] to method 'guardar' returned an exception

 java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
 at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:618)
 at
 org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
 at
 org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
 at
 com.eptisa.pavimentos.control.action.GenericAction.execute(GenericAction.java:106)
 at
 org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
 at
 org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
 at
 org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
 at
 org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
 at
 com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1096)
 at
 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:570)
 at
 com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
 at
 com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
 at
 com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
 at
 com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
 at
 com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)
 at
 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
 at
 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
 at
 com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
 at
 com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
 at
 com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
 at
 com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
 at 

Re: JAVA API in a x64 machine using x32 dlls

2011-02-04 Thread LJ LongWing
Frex,

I agree with Axton.  Despite the fact that Remedy 32Bit apps will run on
64Bit machines, they must use the 32Bit JVM to do so..I don't have any
experience in your problem, but if the Java program was written using the
32Bit API's, and needs them, then you must use the 32Bit JVM.

 

From: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] On Behalf Of Frex Popo
Sent: Friday, February 04, 2011 7:28 AM
To: arslist@ARSLIST.ORG
Subject: JAVA API in a x64 machine using x32 dlls

 

** 


Dear listers,

 

I am not a Java person and would need some pointers from those who wrote
Java API in the past.

 

The company integrated with some supplier's application using web services.
They got into all kind of problems so they decided to go it the Java API
route.

 

Someone from the supplier's end wrote some Java program which connects to
the remedy server and creates/updates some tickets etc.. He started with a
stand alone server which he installed in his machine. He used all the dll.
file listed in the API integration manual. He got his program working.

 

He then deployed his program in a WAS61 (websphere web server) in a 32x
machine. It worked just fine, or at least what I was told. He then did the
same in one of our x64 but machine but it bails during deployment the
application gives errors (please see below).

 

They are all pointing to the fact that the dlls are x32 and not 64x.

 

My question is if this is the case, why is it that we got a Mid-Tier which
uses x32 libraries working fine in a WAS61 x64 machine? What's different?

 

Where do I look to start with, in order to compare what's on both machines
(x32 [where the API works] and x64 [where it does not]), simply because the
two machines are different with different software/components/specs etc and
not just the Remedy API libraries??

 

Also, could the Java driver or C driver be used as a test to prove that the
API libraries are the culprit?

 

Is there anyway you can emulate a x64 JVM to run the 32x API?

 

Anyway pointers will be very much appreciated as we are quite stuck as to
what do next!!

 

Regards

 

frex

3/02/11 9:30:07:663 CET] 006e DispatchActio E
org.apache.struts.actions.DispatchAction dispatchMethod
Dispatch[/editInspeccion] to method 'guardar' returned an exception

 java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79
)

at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:43)

at java.lang.reflect.Method.invoke(Method.java:618)

at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:
269)

at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)

at
com.eptisa.pavimentos.control.action.GenericAction.execute(GenericAction.jav
a:106)

at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
sor.java:425)

at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)

at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)

at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1
096)

at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.
java:570)

at
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrappe
r.java:478)

at
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServl
etWrapper.java:90)

at
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)

at
com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)

at
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)

at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(Ht
tpInboundLink.java:458)

at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(Ht
tpInboundLink.java:387)

at
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLRea
dCallback.java:102)

at
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioRea
dCompletionListener.java:165)

at
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java
:217)

at
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture
.java:161)

at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)

 

Re: JAVA API in a x64 machine using x32 dlls

2011-02-04 Thread Axton
Hot deployments would sure make development and deployments a lot easier
(and more productive - less development time and less downtime).  Getting
rid of the native library dependencies would make that possible.

Axton Grams

The opinions, statements, and/or suggested courses of action expressed in
this E-mail do not necessarily reflect those of BMC Software, Inc.  My
voluntary participation in this forum is not intended to convey a role as a
spokesperson, liaison or public relations representative for BMC Software,
Inc.

On Fri, Feb 4, 2011 at 9:24 AM, John Baker
jba...@javasystemsolutions.comwrote:

 Axton is correct, however you almost certainly don't want to really use
 a 64bit VM, and if this isn't Midtier, you could probably use the native
 Java API.

 The Midtier, last time I checked, is 99.9% native library free.
 Curiously, the only part of the native library it still uses is checking
 the Midtier configuration password is valid.

 Perhaps someone at BMC could comment out the one or two lines of code,
 eject the API, allowing us to deploy much smaller WAR files without
 Tomcat (and other servlet engines) crashing when the Midtier is
 restarted (because the JVM can't share the native libraries between
 classloaders).


 --
 Single Sign On for AR System
 http://www.javasystemsolutions.com/jss/ssplugin


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug11 www.wwrug.com ARSList: Where the Answers Are


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: Where the Answers Are


Re: Java API Account Management

2010-10-04 Thread LJ LongWing
Rob,

The Java API is just a client, as such it runs with whatever permissions the
user that logs into it uses.it does not require Admin, unless the functions
you have the api program doing are admin only stuff, but that is entirely up
to you.  Also remember, that the Java API client does not execute active
links unless you program it to do so.

 

What sort of actions is your program doing that you feel makes it need to be
Admin?

 

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Robert Lardy
Sent: Monday, October 04, 2010 8:22 AM
To: arslist@ARSLIST.ORG
Subject: Java API Account Management

 

** 

I want to manage and restrict the permissions Java API user, however I think
we must assign the Java API the Remedy Administrator privileges. 

 

I can manage any User changes using a filter for the critical User tables,
but I don't know how to restrict the changes of Remedy active links and
filters through the Java API since it must have Remedy Administrator
Priviledges. 

Any ideas on how to do this?

 

I was hoping to keep this in Remedy, and not create a Java Adapter external
to Remedy to restrict method calls, but this might be the only solution.

 

 

Thank you.


-- 
Rob Lardy

_attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_ 


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Java API - Help

2010-08-05 Thread Gopal-srg
Hi LJ,
Thanks for your information.
Guess i need to increase my patience for going through the API doc..:)

Regards,
gopal

LJ LongWing (Head) wrote:
 
 Gopal,
 Honestly I've never 'created' anything with the API...almost everything I
 write just reads thingsso I'm not really experienced in the creation
 of
 forms and suchbut from looking at the docs you simply find the type of
 field you want to create, look at its 'set' methods, set the attributes
 you
 want...once you have the object constructed you would look into the
 ARServerUser object and find the method that lets you add what you are
 looking forI'm not saying it's easy...but it is documented and as long
 as you are patient while looking through the docs you should be able to
 make
 steady progress.
 
 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Gopal-srg
 Sent: Wednesday, August 04, 2010 1:44 AM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API - Help
 
 Hi LJ,
 Thanks a lot for the info.I was able to create a viewform with only
 keyfield.
 I tried adding other fields from the external table, but these fields
 needs
 to be initialized with empty field and i dont know how to go about it ..
 
 can you guide in this front also? It will be very helpful
 
 Regards,
 Gopal
 
 LJ LongWing (Head) wrote:
 
 Gopal,
 You would look at the constructor for the Class ViewForm, setting the
 appropriate values for setTableName and setKeyField, adding any fields as
 appropriate, then call the ARServerUser.createForm method with that form
 object.
 
 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Gopal-srg
 Sent: Tuesday, August 03, 2010 6:11 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API - Help
 
 Hi List,
 i want to create a remedy view form using Java API, Please guide me how
 to
 do this?
 
 regards,
 Gopal
 -- 
 View this message in context:
 http://old.nabble.com/Java-API---Help-tp29334630p29334630.html
 Sent from the ARS (Action Request System) mailing list archive at
 Nabble.com.
 

 
 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are
 

 
 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are
 
 
 
 -- 
 View this message in context:
 http://old.nabble.com/Java-API---Help-tp29334630p29342868.html
 Sent from the ARS (Action Request System) mailing list archive at
 Nabble.com.
 
 
 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are
 
 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are
 
 

-- 
View this message in context: 
http://old.nabble.com/Java-API---Help-tp29334630p29355052.html
Sent from the ARS (Action Request System) mailing list archive at Nabble.com.

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Java API - Help

2010-08-04 Thread Gopal-srg
Hi LJ,
Thanks a lot for the info.I was able to create a viewform with only
keyfield.
I tried adding other fields from the external table, but these fields needs
to be initialized with empty field and i dont know how to go about it ..

can you guide in this front also? It will be very helpful

Regards,
Gopal

LJ LongWing (Head) wrote:
 
 Gopal,
 You would look at the constructor for the Class ViewForm, setting the
 appropriate values for setTableName and setKeyField, adding any fields as
 appropriate, then call the ARServerUser.createForm method with that form
 object.
 
 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Gopal-srg
 Sent: Tuesday, August 03, 2010 6:11 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API - Help
 
 Hi List,
 i want to create a remedy view form using Java API, Please guide me how to
 do this?
 
 regards,
 Gopal
 -- 
 View this message in context:
 http://old.nabble.com/Java-API---Help-tp29334630p29334630.html
 Sent from the ARS (Action Request System) mailing list archive at
 Nabble.com.
 
 
 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are
 
 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are
 
 

-- 
View this message in context: 
http://old.nabble.com/Java-API---Help-tp29334630p29342868.html
Sent from the ARS (Action Request System) mailing list archive at Nabble.com.

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Java API - Help

2010-08-04 Thread LJ LongWing
Gopal,
Honestly I've never 'created' anything with the API...almost everything I
write just reads thingsso I'm not really experienced in the creation of
forms and suchbut from looking at the docs you simply find the type of
field you want to create, look at its 'set' methods, set the attributes you
want...once you have the object constructed you would look into the
ARServerUser object and find the method that lets you add what you are
looking forI'm not saying it's easy...but it is documented and as long
as you are patient while looking through the docs you should be able to make
steady progress.

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Gopal-srg
Sent: Wednesday, August 04, 2010 1:44 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - Help

Hi LJ,
Thanks a lot for the info.I was able to create a viewform with only
keyfield.
I tried adding other fields from the external table, but these fields needs
to be initialized with empty field and i dont know how to go about it ..

can you guide in this front also? It will be very helpful

Regards,
Gopal

LJ LongWing (Head) wrote:
 
 Gopal,
 You would look at the constructor for the Class ViewForm, setting the
 appropriate values for setTableName and setKeyField, adding any fields as
 appropriate, then call the ARServerUser.createForm method with that form
 object.
 
 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Gopal-srg
 Sent: Tuesday, August 03, 2010 6:11 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API - Help
 
 Hi List,
 i want to create a remedy view form using Java API, Please guide me how to
 do this?
 
 regards,
 Gopal
 -- 
 View this message in context:
 http://old.nabble.com/Java-API---Help-tp29334630p29334630.html
 Sent from the ARS (Action Request System) mailing list archive at
 Nabble.com.
 


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are
 


___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are
 
 

-- 
View this message in context:
http://old.nabble.com/Java-API---Help-tp29334630p29342868.html
Sent from the ARS (Action Request System) mailing list archive at
Nabble.com.


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Java API - Help

2010-08-03 Thread LJ LongWing
Gopal,
You would look at the constructor for the Class ViewForm, setting the
appropriate values for setTableName and setKeyField, adding any fields as
appropriate, then call the ARServerUser.createForm method with that form
object.

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Gopal-srg
Sent: Tuesday, August 03, 2010 6:11 AM
To: arslist@ARSLIST.ORG
Subject: Java API - Help

Hi List,
i want to create a remedy view form using Java API, Please guide me how to
do this?

regards,
Gopal
-- 
View this message in context:
http://old.nabble.com/Java-API---Help-tp29334630p29334630.html
Sent from the ARS (Action Request System) mailing list archive at
Nabble.com.


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: JAVA API code - Figuring out what is in a Selection field

2010-04-24 Thread Appajee Papolu
Check these out...

http://communities.bmc.com/communities/message/80328?tstart=0
http://communities.bmc.com/communities/message/69002;jsessionid=6D5C8E6C4E2040625EA2A28E5108F74C


//1. get the field defiintion to get at the limit definition
SelectionFieldLimit limit = ((SelectionField)context.getField(form,
7)).getLimit(); // or some thing like that.

// your code to get an entry
ListEntry entries = context.getListEntryObjects(form, qualification, 0,
999, null, fieldIDsToRetrieve, false, matches);
Entry entry = entries.get(0);
int val = entry.get(7).getValue();

//Now match this int value to the enumeration using the 'limit'
// doing this lookup in Java API is more type-safe, in .NET API isn't
bad either
// just look at the 'limit' object in your VS.NET debugger to get what
you need!


HTH
appajee

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: JAVA API code - Figuring out what is in a Selection field

2010-04-23 Thread LJ LongWing
Yea, what ya need?

 

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Ibrahim Akar
Sent: Friday, April 23, 2010 10:30 AM
To: arslist@ARSLIST.ORG
Subject: JAVA API code - Figuring out what is in a Selection field

 

** 

Has anyone written code in Java that can figure out the values/IDs in a
selection field as long as the field ID is provided? 

 

Thanks,

-- 
-Ibrahim Akar
The foregoing e-mail communication (together with any attachments thereto)
is intended for the designated recipient(s) only.  Its terms are
Confidential and may be protected by Attorney/Client, or other applicable,
privilege.  Unauthorized use, dissemination, distribution, or reproduction
of this message is Strictly Prohibited.  

PLEASE CONSIDER THE ENVIRONMENT BEFORE PRINTING THIS EMAIL

_attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_ 


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: JAVA API code - Figuring out what is in a Selection field

2010-04-23 Thread Chintan Shah
Did you check this? I havent tried it...but it looks like this is what you are 
looking for?

http://www.javasystemsolutions.com/documentation/thirdparty/arapiv75/com/bmc/arsys/api/SelectionField.html#SelectionField%28%29

Thnx
Chintan.

--- On Fri, 4/23/10, Ibrahim Akar i...@pyrasoft.com wrote:

From: Ibrahim Akar i...@pyrasoft.com
Subject: JAVA API code - Figuring out what is in a Selection field
To: arslist@ARSLIST.ORG
Date: Friday, April 23, 2010, 9:30 AM

**
Has anyone written code in Java that can figure out the values/IDs in a 
selection field as long as the field ID is provided? 
Thanks,

-- 
-Ibrahim Akar
The foregoing e-mail communication (together with any attachments thereto) is 
intended for the designated recipient(s) only.  Its terms are Confidential and 
may be protected by Attorney/Client, or other applicable, privilege.  
Unauthorized use, dissemination, distribution, or reproduction of this message 
is Strictly Prohibited.  


PLEASE CONSIDER THE ENVIRONMENT BEFORE PRINTING THIS EMAIL


_attend WWRUG10 www.wwrug.com  ARSlist: Where the Answers Are_





___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are

Re: Java API Error - No suitable Log implementation

2010-04-08 Thread Derek Berube
If you create a directory on your local hard disk drive with the following 
files:

arapi75.jar
log4j-1.2.15.jar
Go.java (contents contained below)

Then your Java API program should run.  The following is the contents of the 
Go.java file.

import com.bmc.arsys.api.ARServerUser;
import com.bmc.arsys.api.ARException;

public class Go {
public static void main(String argv[]) {
ARServerUser ctx=new 
ARServerUser(argv[0],[argv[1],null,argv[2]);
try {
ctx.login();
} catch (ARException ex) {
ex.printStackTrace(System.err);
}
ctx.logout();
}
}

You can compile the program using the following command:

javac -cp ./arapi75.jar Go.java

You can run the program using the following command:

java -classpath ./:./arapi75.jar:./log4j-1.2.15.jar Go MyUserName MyPassword 
MyARSystemServer

Please note that you will have to specify values for the boldface parameters 
that are suitable for your environment.

Derek

On Apr 7, 2010, at 10:49 AM, Ibrahim Akar wrote:

 **
 I can send this directly to Derek Berube but he has helped me a lot and he 
 has a job to do.  Thanks, D. 
 
 I am trying to create a Java app .. API JAVA 7.5 
 
 Everything is fine right up to the point where the communication to the 
 server gets invoked.  The failure I am getting is with the logging that is 
 embedded into the Remedy JAR:  It cannot initialize its internal logger 
 wrapper.   I am getting an unfortunately rather general error message: No 
 suitable Log implementation, with no more detail than that.  (The API call 
 is ARServerUser.createEntry(), to create/insert a record.  Inside that call, 
 the Remedy client tries to initialize its logging.)   
 
 It appears that the log4j package (log4j.jar) is being used for logging, 
 along with some classes re-packaged by BMC from apache 
 (bmc.com.thirdparty.org.apache.logging.*).   There are a number of things 
 that could be going wrong, and at the moment I've explored them all to the 
 limit of my knowledge. Any help will be greatly appreciated. 
 
 
 -- 
 -Ibrahim Akar
 
 PLEASE CONSIDER THE ENVIRONMENT BEFORE PRINTING THIS EMAIL
 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Java API Error - No suitable Log implementation

2010-04-07 Thread LJ Longwing
Ibrahim,
I work fairly heavily with the Java API.  If you could provide maybe the
complete message as it comes out...and depending on how that looks, maybe
your path and your classpath, or if defining specifically at runtime, the
jar files you are including.

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Ibrahim Akar
Sent: Wednesday, April 07, 2010 8:50 AM
To: arslist@ARSLIST.ORG
Subject: Java API Error - No suitable Log implementation


** 
I can send this directly to Derek Berube but he has helped me a lot and he
has a job to do.  Thanks, D.  

I am trying to create a Java app .. API JAVA 7.5 


Everything is fine right up to the point where the communication to the
server gets invoked.  The failure I am getting is with the logging that is
embedded into the Remedy JAR:  It cannot initialize its internal logger
wrapper.   I am getting an unfortunately rather general error message: No
suitable Log implementation, with no more detail than that.  (The API call
is ARServerUser.createEntry(), to create/insert a record.  Inside that call,
the Remedy client tries to initialize its logging.)   

It appears that the log4j package (log4j.jar) is being used for logging,
along with some classes re-packaged by BMC from apache
(bmc.com.thirdparty.org.apache.logging.*).   There are a number of things
that could be going wrong, and at the moment I've explored them all to the
limit of my knowledge. Any help will be greatly appreciated. 




-- 
-Ibrahim Akar

PLEASE CONSIDER THE ENVIRONMENT BEFORE PRINTING THIS EMAIL

_attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_ 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Java API Error - No suitable Log implementation

2010-04-07 Thread Derek Berube
Ibrahim,

You're going to need the commons-logging.jar file in your classpath.  That way, 
the Remedy API can use either the Log4j libraries or the java.util.logging APIs.

Derek

On Apr 7, 2010, at 12:04 PM, LJ Longwing wrote:

 **
 Ibrahim,
 I work fairly heavily with the Java API.  If you could provide maybe the 
 complete message as it comes out...and depending on how that looks, maybe 
 your path and your classpath, or if defining specifically at runtime, the jar 
 files you are including.
 
 From: Action Request System discussion list(ARSList) 
 [mailto:arsl...@arslist.org] On Behalf Of Ibrahim Akar
 Sent: Wednesday, April 07, 2010 8:50 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API Error - No suitable Log implementation
 
 **
 I can send this directly to Derek Berube but he has helped me a lot and he 
 has a job to do.  Thanks, D. 
 
 I am trying to create a Java app .. API JAVA 7.5 
 
 Everything is fine right up to the point where the communication to the 
 server gets invoked.  The failure I am getting is with the logging that is 
 embedded into the Remedy JAR:  It cannot initialize its internal logger 
 wrapper.   I am getting an unfortunately rather general error message: No 
 suitable Log implementation, with no more detail than that.  (The API call 
 is ARServerUser.createEntry(), to create/insert a record.  Inside that call, 
 the Remedy client tries to initialize its logging.)   
 
 It appears that the log4j package (log4j.jar) is being used for logging, 
 along with some classes re-packaged by BMC from apache 
 (bmc.com.thirdparty.org.apache.logging.*).   There are a number of things 
 that could be going wrong, and at the moment I've explored them all to the 
 limit of my knowledge. Any help will be greatly appreciated. 
 
 
 -- 
 -Ibrahim Akar
 
 PLEASE CONSIDER THE ENVIRONMENT BEFORE PRINTING THIS EMAIL
 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_
 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Java API - parseQualification Error - Part 2

2009-11-30 Thread Roys, Eric D
Defect SW00351474  :-)




From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Thursday, November 12, 2009 5:59 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
I would personally push them to admit and log a defect.  Point being
that if they say you can use an ARServerUser object as such
 
parseQualification(String form, String qualification) 
  Parses a given readable qualification string into internal
structure.
 
And they are going to put a qualification on that of oh, unless your
qualification string is referencing an integer value that's negative,
that's completely bogus.  They need to make sure that their function is
functioning properly, the fact that it works if you use an overloaded
version of the function is irrelevant.  They have a bug in that
function.  You can use the overloaded version as a workaround if you
need to while they fix the bug, but they need to fix it.  I have an open
defect with BMC regarding the 
 
getListFilterObjects() 
  return the detail of all (accessible) Filter objects
 
Function, throws a null pointer error on my server.  I have the
workaround of using getListFilter() and looping through that list to get
EVERY filter object, but it's not as efficientjust because there is
a workaround doesn't mean there isn't a bug.



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 4:38 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
LJ, 
 
Field ID or Name is irrelevant. What is suggested is instead of writing:

QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
-90); //works in 7.1 just fine also works just fine for qual not
having negative sign
 
the work-around is to add the following: 
List Field fields = ctl.getListFieldObjects(formName);  // not
required for non-negatives apparently
 
then change qualifier inputs to use the 'fields' reference: 
QualifierInfo qual = ctl.parseQualification(qualStr, fields, null,
Constants.AR_QUALCONTEXT_DEFAULT);
 
So tell me... defect or no defect? I was told no defect by support,
therefore no ETA on a fix. I suppose that's fine if you don't have a
negative outlook on things ;-)
Maybe that's a polite way of saying I have no idea what I'm doing. All I
know is it worked and then it didn't but only for one minor situational
change.
 
 
-Eric




From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Thursday, November 12, 2009 12:21 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
Eric,
So they are saying the problem is looking up the field name, and if you
use the Field ID it works just fine?



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 10:40 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 


For anyone interested (part 2 of 2)... 

Secondary response from support (it doesn't error as before): 

Sample API program that works for me.. customer will need to change the
details marked with a  -- for his test.. 

import com.bmc.arsys.api.*; 
import java.util.*; 

public class JavaAPITest { 
private ARServerUser server; 
private String formName= Roles; -- 

public JavaAPITest() { 
   server = new ARServerUser(); 
   server.setServer(atlwin01);-- 
   server.setPort(0);   -- 
   server.setUser(Demo);   -- 
   server.setPassword(); -- 
   } 

public static void main(String[] args) { 
   JavaAPITest test = new JavaAPITest(); 
   test.connect(); 
   test.queryEntrysByQual(( \'Create Date\'  \1/1/2009\ )); 
   test.queryEntrysByQual(( \'1702\' = -1210 ));
-- 
   test.cleanup(); 
   } 

// 
// Connect the current user to the server. 
// 
void connect() { 
   System.out.println(); 
   System.out.println(Connecting to AR Server...); 
   try { 
  server.verifyUser(); 
  } 
   catch (ARException e) { 
  // 
  //This exception is triggered by a bad server, password or, 
  //if guest access is turned off, by an unknown username. 
  // 
  ARExceptionHandler(e, Cannot verify user  + server.getUser() +
.); 
  System.exit(1); 
  } 
   System.out.println(Connected to AR Server  + 
   server.getServer()); 
   } 

// 
// Retrieve entries from the form using the given qualification. With //
the returned entry set, print out the ID of each entry and the //
contents in its shortDescription field.

// 
void queryEntrysByQual(String qualStr) { 
   System.out.println(); 
   System.out.println

Re: Java API - parseQualification Error - Part 2

2009-11-30 Thread LJ Longwing
Sweet :)

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Monday, November 30, 2009 3:30 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
Defect SW00351474  :-)


  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Thursday, November 12, 2009 5:59 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
I would personally push them to admit and log a defect.  Point being that if
they say you can use an ARServerUser object as such
 
parseQualification(String form, String qualification) 
  Parses a given readable qualification string into internal
structure.
 
And they are going to put a qualification on that of oh, unless your
qualification string is referencing an integer value that's negative,
that's completely bogus.  They need to make sure that their function is
functioning properly, the fact that it works if you use an overloaded
version of the function is irrelevant.  They have a bug in that function.
You can use the overloaded version as a workaround if you need to while they
fix the bug, but they need to fix it.  I have an open defect with BMC
regarding the 
 
getListFilterObjects() 
  return the detail of all (accessible) Filter objects
 
Function, throws a null pointer error on my server.  I have the workaround
of using getListFilter() and looping through that list to get EVERY filter
object, but it's not as efficientjust because there is a workaround
doesn't mean there isn't a bug.

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 4:38 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
LJ, 
 
Field ID or Name is irrelevant. What is suggested is instead of writing: 
QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' = -90);
//works in 7.1 just fine also works just fine for qual not having negative
sign
 
the work-around is to add the following: 
List Field fields = ctl.getListFieldObjects(formName);  // not required
for non-negatives apparently
 
then change qualifier inputs to use the 'fields' reference: 
QualifierInfo qual = ctl.parseQualification(qualStr, fields, null,
Constants.AR_QUALCONTEXT_DEFAULT);
 
So tell me... defect or no defect? I was told no defect by support,
therefore no ETA on a fix. I suppose that's fine if you don't have a
negative outlook on things ;-)
Maybe that's a polite way of saying I have no idea what I'm doing. All I
know is it worked and then it didn't but only for one minor situational
change.
 
 
-Eric


  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Thursday, November 12, 2009 12:21 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
Eric,
So they are saying the problem is looking up the field name, and if you use
the Field ID it works just fine?

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 10:40 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 


For anyone interested (part 2 of 2)... 

Secondary response from support (it doesn't error as before): 

Sample API program that works for me.. customer will need to change the
details marked with a  -- for his test.. 

import com.bmc.arsys.api.*; 
import java.util.*; 

public class JavaAPITest { 
private ARServerUser server; 
private String formName= Roles; -- 

public JavaAPITest() { 
   server = new ARServerUser(); 
   server.setServer(atlwin01);-- 
   server.setPort(0);   -- 
   server.setUser(Demo);   -- 
   server.setPassword(); -- 
   } 

public static void main(String[] args) { 
   JavaAPITest test = new JavaAPITest(); 
   test.connect(); 
   test.queryEntrysByQual(( \'Create Date\'  \1/1/2009\ )); 
   test.queryEntrysByQual(( \'1702\' = -1210 ));
-- 
   test.cleanup(); 
   } 

// 
// Connect the current user to the server. 
// 
void connect() { 
   System.out.println(); 
   System.out.println(Connecting to AR Server...); 
   try { 
  server.verifyUser(); 
  } 
   catch (ARException e) { 
  // 
  //This exception is triggered by a bad server, password or, 
  //if guest access is turned off, by an unknown username. 
  // 
  ARExceptionHandler(e, Cannot verify user  + server.getUser() + .);

  System.exit(1); 
  } 
   System.out.println(Connected to AR Server  + 
   server.getServer()); 
   } 

// 
// Retrieve entries from the form using the given qualification. With // the
returned entry set, print out the ID

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-11-19 Thread Rod Harris
Yes Misi,

I too am seeing the same bugs with the way that the dev studio parses
qualifications  expressions. In patch 2 I found a number of perfectly
valid table field qualifications were being rejected by the parser. In
patch 3 this is not occuring but it is removing parentheses in set
fields and totally changing the meaning of the expression on
occasions. Sometimes I have had to break things up into multiple
operations just to be sure that the parser wouldn't break it.

I'm hoping that patch 4 improves things a bit. There are a few little
bugs in Dev studio that are holding development speed back a little at
the moment. This is one as well as the need to sometimes select fields
more than once to get them to take in a set fields.

I'd rather go back to the old admin tool parser where it went overkill
with all of the parenthesis than the current flawed parsing.

The ideal solution would be to be able to store qualifications in the
schema as entered in dev studio and have the system honour the
precedence rules as documented. Surely this is possible but I expect
we will have to wait for release 8.


Rod



2009/11/19 Misi Mladoniczky m...@rrr.se:
 Hi Fred,

 Why would this have anything to do with flat files???

 The only reason for this that I can think of, is that the developers did
 not get enough time to do it right.

 I can not imagine a programmer that would not LOVE the challenge of
 optimizing a thing like this, and get payed to do it ;-)

        Best Regards - Misi, RRR AB, http://www.rrr.se

 Products from RRR Scandinavia:
 * RRR|License - Not enough Remedy licenses? Save money by optimizing.
 * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
 * RRR|Translator - Manage and automate your language translations.
 Find these products, and many free tools and utilities, at http://rrr.se.

 According to the Workflow Objects docs there is a operator precedence.

 Operator precedence

 When you use multiple operators to construct qualification criteria, they
 are evaluated in the following order:
   1 ( )
   2 NOT (!) - (unary minus)
   3 * / %
   4 + -
   5  =  = = != LIKE
   6 AND ()
   7 OR (||)
 Operators of the same precedence are performed left to right.
 You can use parentheses in an expression to override operator precedence.
 AR System evaluates expressions inside parentheses first before evaluating
 those outside.

 Part of the design of adding parenthesis probably goes back to when Remedy
 supported using flat files as a database.

 Fred

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Lyle Taylor
 Sent: Monday, November 02, 2009 2:12 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 It's possible that that's the motivation behind how it's currently
 architected, but it's not a very good excuse.  The SQL will all get
 dynamically generated based on the qualification tree generated by parsing
 the qualification string, not on the qualification string itself.  It's
 very doable to define qualification strings so that operator precedence,
 etc., is in line with common practice, and that wouldn't affect Remedy's
 ability to be DB agnostic in the slightest.  The only difference that it
 makes is that parsing the qualification strings becomes slightly more
 complicated (but still very doable - there are tools that will write much
 of this code for you - e.g., lex/yacc, etc.).  Once you've parsed the
 qualification string according to whatever rules you've put in place, you
 end up with the same data structure that they currently have which will
 then be used to generate the SQL just like they do now.  The current
 scheme is unnecessarily simplistic and actually makes the system more
 difficult to use because of the excessive number of parentheses in
 qualification schemese.

 Lyle

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Rick Cook
 Sent: Monday, November 02, 2009 12:46 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 Lyle, my take on that is that Remedy is trying to be DB agnostic.  Rather
 than compete with how each DB processes SQL, or trying to anticipate how a
 receiver of an API call might do so, they just kept it simple.


 Rick

 -Original Message-
 From:         Lyle Taylor tayl...@ldschurch.org
 Date:         Mon, 2 Nov 2009 12:29:40
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

From what I've been able to tell, there is no such thing as operator
 precedence in AR System aside from parentheses.  It all seems to be
 dictated on the parentheses which seems to correspond to the tree that
 their parser build internally.  There's a lot of room for improvement in
 the area

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-11-19 Thread Grooms, Frederick W
I mentioned flat files for the following reason...  

I believe all flavors of a version of Remedy share a common code base. This is 
developed to use the common functions across the supported databases.
That's why in older versions of Remedy when you deleted a field on a form it 
would have to rename the table, create a new table, copy all the data from the 
old table to the new one, and then drop the renamed table (One of the databases 
supported at the time did not support the drop column).  

Some of the core routines probably have been reused from version to version.  
The routines to add parenthesis are old enough that they could go back to the 
time when the Remedy system supported using flat files as a database.

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Thursday, November 19, 2009 1:18 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Hi Fred,

Why would this have anything to do with flat files???

The only reason for this that I can think of, is that the developers did
not get enough time to do it right.

I can not imagine a programmer that would not LOVE the challenge of
optimizing a thing like this, and get payed to do it ;-)

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 According to the Workflow Objects docs there is a operator precedence.

 Operator precedence

 When you use multiple operators to construct qualification criteria, they
 are evaluated in the following order:
   1 ( )
   2 NOT (!) - (unary minus)
   3 * / %
   4 + -
   5  =  = = != LIKE
   6 AND ()
   7 OR (||)
 Operators of the same precedence are performed left to right.
 You can use parentheses in an expression to override operator precedence.
 AR System evaluates expressions inside parentheses first before evaluating
 those outside.

 Part of the design of adding parenthesis probably goes back to when Remedy
 supported using flat files as a database.

 Fred

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Lyle Taylor
 Sent: Monday, November 02, 2009 2:12 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 It's possible that that's the motivation behind how it's currently
 architected, but it's not a very good excuse.  The SQL will all get
 dynamically generated based on the qualification tree generated by parsing
 the qualification string, not on the qualification string itself.  It's
 very doable to define qualification strings so that operator precedence,
 etc., is in line with common practice, and that wouldn't affect Remedy's
 ability to be DB agnostic in the slightest.  The only difference that it
 makes is that parsing the qualification strings becomes slightly more
 complicated (but still very doable - there are tools that will write much
 of this code for you - e.g., lex/yacc, etc.).  Once you've parsed the
 qualification string according to whatever rules you've put in place, you
 end up with the same data structure that they currently have which will
 then be used to generate the SQL just like they do now.  The current
 scheme is unnecessarily simplistic and actually makes the system more
 difficult to use because of the excessive number of parentheses in
 qualification schemese.

 Lyle

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Rick Cook
 Sent: Monday, November 02, 2009 12:46 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 Lyle, my take on that is that Remedy is trying to be DB agnostic.  Rather
 than compete with how each DB processes SQL, or trying to anticipate how a
 receiver of an API call might do so, they just kept it simple.


 Rick

 -Original Message-
 From: Lyle Taylor tayl...@ldschurch.org
 Date: Mon, 2 Nov 2009 12:29:40
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

From what I've been able to tell, there is no such thing as operator
 precedence in AR System aside from parentheses.  It all seems to be
 dictated on the parentheses which seems to correspond to the tree that
 their parser build internally.  There's a lot of room for improvement in
 the area of qualifications in Remedy, in my opinion.

 Lyle


 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-11-18 Thread Misi Mladoniczky
Hi Fred,

Why would this have anything to do with flat files???

The only reason for this that I can think of, is that the developers did
not get enough time to do it right.

I can not imagine a programmer that would not LOVE the challenge of
optimizing a thing like this, and get payed to do it ;-)

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 According to the Workflow Objects docs there is a operator precedence.

 Operator precedence

 When you use multiple operators to construct qualification criteria, they
 are evaluated in the following order:
   1 ( )
   2 NOT (!) - (unary minus)
   3 * / %
   4 + -
   5  =  = = != LIKE
   6 AND ()
   7 OR (||)
 Operators of the same precedence are performed left to right.
 You can use parentheses in an expression to override operator precedence.
 AR System evaluates expressions inside parentheses first before evaluating
 those outside.

 Part of the design of adding parenthesis probably goes back to when Remedy
 supported using flat files as a database.

 Fred

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Lyle Taylor
 Sent: Monday, November 02, 2009 2:12 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 It's possible that that's the motivation behind how it's currently
 architected, but it's not a very good excuse.  The SQL will all get
 dynamically generated based on the qualification tree generated by parsing
 the qualification string, not on the qualification string itself.  It's
 very doable to define qualification strings so that operator precedence,
 etc., is in line with common practice, and that wouldn't affect Remedy's
 ability to be DB agnostic in the slightest.  The only difference that it
 makes is that parsing the qualification strings becomes slightly more
 complicated (but still very doable - there are tools that will write much
 of this code for you - e.g., lex/yacc, etc.).  Once you've parsed the
 qualification string according to whatever rules you've put in place, you
 end up with the same data structure that they currently have which will
 then be used to generate the SQL just like they do now.  The current
 scheme is unnecessarily simplistic and actually makes the system more
 difficult to use because of the excessive number of parentheses in
 qualification schemese.

 Lyle

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Rick Cook
 Sent: Monday, November 02, 2009 12:46 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 Lyle, my take on that is that Remedy is trying to be DB agnostic.  Rather
 than compete with how each DB processes SQL, or trying to anticipate how a
 receiver of an API call might do so, they just kept it simple.


 Rick

 -Original Message-
 From: Lyle Taylor tayl...@ldschurch.org
 Date: Mon, 2 Nov 2009 12:29:40
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

From what I've been able to tell, there is no such thing as operator
 precedence in AR System aside from parentheses.  It all seems to be
 dictated on the parentheses which seems to correspond to the tree that
 their parser build internally.  There's a lot of room for improvement in
 the area of qualifications in Remedy, in my opinion.

 Lyle


 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
 Sent: Thursday, October 29, 2009 2:13 AM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 Hi,

 Just tested some things.

 I am working on ARServer/Developer 7.5.0 patch 3.

 In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
 brackets:

 What I entered:
 'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = Active
 After reopen:
 (('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = Active)

 It seems like they did some efforts on the the VALUE in the
 Set/Push-Fields Action.

 The problem is that i does not work, the new BMC parenthesis optimizer is
 faulty!!!

 I entered:
 (1.0 + 2.0) * 3.0
 This is shown after reopening the filter:
 1.0 + 2.0 * 3.0

 They must take into account that the * has a higher priority than the +,
 and put in parenthesis accordingly, if needed.

 Best Regards - Misi, RRR AB, http://www.rrr.se

 Products from RRR Scandinavia

Re: Java API - parseQualification Error - Part 1

2009-11-12 Thread Roys, Eric D
 For anyone interested (part 1 of 2)... 
  
 From support: 
 We've tested this issue internally using both 7.1 and 7.5 API. It
 looks like there is a defect in the API on how it handles the negative
 value. Strangely enough the Mid Tier is able to process the request
 with no problems.
 
 However according to the arapi logging for the java test it shows that
 it never makes the call; seems internal processing of the qual rejects
 it.
 
 Connecting to AR Server...
 Connected to AR Server atlwin01
 Retrieving entryies with qualification ( 'Create Date'  1/1/2009 )
 Query returned 2 matches.
 Request Id Short Description
 003 Demo
 002 Demo
 Retrieving entryies with qualification ( 'Integer Field' = -9 )
 Problem while querying by qualifier.
 Status List is empty.
 Stack Trace:ERROR (1587): Unknown field referenced in query line; at
 position 2 ( 'Integer Field' )
 at com.bmc.arsys.qual.a.a.c.a(Unknown Source)
 at com.bmc.arsys.qual.a.a.b.int(Unknown Source)
 at com.bmc.arsys.qual.a.a.b.a(Unknown Source)
 at com.bmc.arsys.qual.a.a.b.if(Unknown Source)
 at com.bmc.arsys.qual.a.a.b.for(Unknown Source)
 at com.bmc.arsys.qual.n.a(Unknown Source)
 at com.bmc.arsys.api.ARServerUser.parseQualification(Unknown Source)
 at JavaAPITest.queryEntrysByQual(JavaAPITest.java:67)
 at JavaAPITest.main(JavaAPITest.java:22)
 Retrieving entryies with qualification ( 'Integer Field' = -(9) )
 Problem while querying by qualifier.
 Status List is empty.
 Stack Trace:ERROR (1587): Unknown field referenced in query line; at
 position 2 ( 'Integer Field' )
 at com.bmc.arsys.qual.a.a.c.a(Unknown Source)
 at com.bmc.arsys.qual.a.a.b.int(Unknown Source)
 at com.bmc.arsys.qual.a.a.b.a(Unknown Source)
 at com.bmc.arsys.qual.a.a.b.if(Unknown Source)
 at com.bmc.arsys.qual.a.a.b.for(Unknown Source)
 at com.bmc.arsys.qual.n.a(Unknown Source)
 at com.bmc.arsys.api.ARServerUser.parseQualification(Unknown Source)
 at JavaAPITest.queryEntrysByQual(JavaAPITest.java:67)
 at JavaAPITest.main(JavaAPITest.java:23)
 User logged out.
 
 So we will create a defect for the Java API and let you know once it's
 been accepted.
 
 
 
 
 
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
 Sent: Tuesday, November 03, 2009 3:19 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API - parseQualification Error
 
 
 ** 
 good luck, let us know how it goes...:)
 
 
 
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
 Sent: Tuesday, November 03, 2009 2:13 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API - parseQualification Error
 
 
 ** 
 Thanks, LJ. 
  
 I'll try to uprev to patch 3 before dropping this in support's lap
 since I know that's always the first step in troubleshooting according
 to support ;-)
  
 -Eric
 
 
 
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
 Sent: Tuesday, November 03, 2009 3:03 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API - parseQualification Error
 
 
 ** 
 Well...using the 7.1P6 Java API the output of both are
  
 [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
 Type=[type=1],Operand=1702],Operand Right=[Operand
 Type=[type=3],Operand=[Operation=6,Operand Left=null,Operand
 Right=[Operand Type=[type=2],Operand=90,Operand Right=null]
 
 [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
 Type=[type=1],Operand=1702],Operand Right=[Operand
 Type=[type=2],Operand=90]],Operand Right=null]
  
 Obviously the two are different...the only difference between the two
 is that the top one has -90 and the bottom has 90...so I would
 say that we have an API bug...big surprise
 
 
 
 
 
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
 Sent: Tuesday, November 03, 2009 12:37 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API - parseQualification Error
 
 
 ** 
 LJ, 
  
 This is the string output from the latter :
  
 [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
 Type=[type=1],Operand=1702],Operand Right=[Operand
 Type=[type=2],Operand=90]],Operand Right=null]
  
 // where 1702 is the db id for Role ID field and 90 is the
 value.
  
 -Eric
 
 
 
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
 Sent: Tuesday, November 03, 2009 1:24 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API - parseQualification Error
 
 
 ** 
 I would say you have likely found a bugbut if you use the second,
 and then output the .toString() of it, what does it give you?
 
 
 
 From: Action Request System discussion list(ARSList

Re: Java API - parseQualification Error - Part 2

2009-11-12 Thread Roys, Eric D

 For anyone interested (part 2 of 2)...
 
 Secondary response from support (it doesn't error as before):
 
 Sample API program that works for me.. customer will need to change
 the details marked with a  -- for his test..
 
 import com.bmc.arsys.api.*;
 import java.util.*;
 
 public class JavaAPITest {
 private ARServerUser server;
 private String formName= Roles; --
 
 public JavaAPITest() {
server = new ARServerUser();
server.setServer(atlwin01);--
server.setPort(0);   --
server.setUser(Demo);   --
server.setPassword(); --
}
 
 public static void main(String[] args) {
JavaAPITest test = new JavaAPITest();
test.connect();
test.queryEntrysByQual(( \'Create Date\'  \1/1/2009\ ));
test.queryEntrysByQual(( \'1702\' = -1210 ));
 --
test.cleanup();
}
 
 //
 // Connect the current user to the server.
 //
 void connect() {
System.out.println();
System.out.println(Connecting to AR Server...);
try {
   server.verifyUser();
   }
catch (ARException e) {
   //
   //This exception is triggered by a bad server, password or,
   //if guest access is turned off, by an unknown username.
   //
   ARExceptionHandler(e, Cannot verify user  + server.getUser() +
 .);
   System.exit(1);
   }
System.out.println(Connected to AR Server  +
server.getServer());
}
 
 //
 // Retrieve entries from the form using the given qualification. With
 // the returned entry set, print out the ID of each entry and the //
 contents in its shortDescription field.
 //
 void queryEntrysByQual(String qualStr) {
System.out.println();
System.out.println (Retrieving entryies with qualification  +
 qualStr);
 
try {
   // Retrieve the detail info of all fields from the form.
   List Field fields = server.getListFieldObjects(formName);
 
   // Create the search qualifier.
   QualifierInfo qual = server.parseQualification(qualStr, fields,
 null, Constants.AR_QUALCONTEXT_DEFAULT);
   int[] fieldIds = {2, 7, 8};
   OutputInteger nMatches = new OutputInteger();
   ListSortInfo sortOrder = new ArrayListSortInfo();
   sortOrder.add(new SortInfo(2, Constants.AR_SORT_DESCENDING));
 
   // Retrieve entries from the form using the given
   // qualification.
   ListEntry entryList = server.getListEntryObjects(formName,
 qual, 0, Constants.AR_NO_MAX_LIST_RETRIEVE, sortOrder, fieldIds, true,
 nMatches);
   System.out.println (Query returned  + nMatches +  matches.);
   
   if( nMatches.intValue()  0){
  // Print out the matches.
  System.out.println(Request Id  + Short Description );
  for( int i = 0; i  entryList.size(); i++ ){
 System.out.println (entryList.get(i).getEntryId() +   +
 entryList.get(i).get(Constants.AR_CORE_SHORT_DESCRIPTION));
 }
  }
   } 

catch( ARException e ) {
   ARExceptionHandler(e, Problem while querying by qualifier. );
   }
}
 
 public void ARExceptionHandler(ARException e, String errMessage){
 System.out.println(errMessage);
 printStatusList(server.getLastStatus());
 System.out.print(Stack Trace:);
 e.printStackTrace();
 }
 
 public void printStatusList(ListStatusInfo statusList) { if
 (statusList == null || statusList.size()==0) {
 System.out.println(Status List is empty.); return; }
 
 System.out.print(Message type: );
 switch(statusList.get(0).getMessageType())
 {
 case Constants.AR_RETURN_OK:
 System.out.println(Note);
 break;
 case Constants.AR_RETURN_WARNING:
 System.out.println(Warning);
 break;
 case Constants.AR_RETURN_ERROR:
 System.out.println(Error);
 break;
 case Constants.AR_RETURN_FATAL:
 System.out.println(Fatal Error);
 break;
 default:
 System.out.println(Unknown ( +
 statusList.get(0).getMessageType() + )); break; }
 System.out.println(Status List:); for (int i=0; i 
 statusList.size(); i++) {
 System.out.println(statusList.get(i).getMessageText());
 System.out.println(statusList.get(i).getAppendedText());
 }
 }
 
 
 public void cleanup() {
 // Logout the user from the server. This releases the resource //
 allocated on the server for the user.
 server.logout();
 System.out.println();
 System.out.println(User logged out.);
 }
 }
 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API - parseQualification Error - Part 2

2009-11-12 Thread LJ Longwing
Eric,
So they are saying the problem is looking up the field name, and if you use
the Field ID it works just fine?

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 10:40 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 


For anyone interested (part 2 of 2)... 

Secondary response from support (it doesn't error as before): 

Sample API program that works for me.. customer will need to change the
details marked with a  -- for his test.. 

import com.bmc.arsys.api.*; 
import java.util.*; 

public class JavaAPITest { 
private ARServerUser server; 
private String formName= Roles; -- 

public JavaAPITest() { 
   server = new ARServerUser(); 
   server.setServer(atlwin01);-- 
   server.setPort(0);   -- 
   server.setUser(Demo);   -- 
   server.setPassword(); -- 
   } 

public static void main(String[] args) { 
   JavaAPITest test = new JavaAPITest(); 
   test.connect(); 
   test.queryEntrysByQual(( \'Create Date\'  \1/1/2009\ )); 
   test.queryEntrysByQual(( \'1702\' = -1210 ));
-- 
   test.cleanup(); 
   } 

// 
// Connect the current user to the server. 
// 
void connect() { 
   System.out.println(); 
   System.out.println(Connecting to AR Server...); 
   try { 
  server.verifyUser(); 
  } 
   catch (ARException e) { 
  // 
  //This exception is triggered by a bad server, password or, 
  //if guest access is turned off, by an unknown username. 
  // 
  ARExceptionHandler(e, Cannot verify user  + server.getUser() + .);

  System.exit(1); 
  } 
   System.out.println(Connected to AR Server  + 
   server.getServer()); 
   } 

// 
// Retrieve entries from the form using the given qualification. With // the
returned entry set, print out the ID of each entry and the // contents in
its shortDescription field.

// 
void queryEntrysByQual(String qualStr) { 
   System.out.println(); 
   System.out.println (Retrieving entryies with qualification  + qualStr);


   try { 
  // Retrieve the detail info of all fields from the form. 
  List Field fields = server.getListFieldObjects(formName); 

  // Create the search qualifier. 
  QualifierInfo qual = server.parseQualification(qualStr, fields, null,
Constants.AR_QUALCONTEXT_DEFAULT); 
  int[] fieldIds = {2, 7, 8}; 
  OutputInteger nMatches = new OutputInteger(); 
  ListSortInfo sortOrder = new ArrayListSortInfo(); 
  sortOrder.add(new SortInfo(2, Constants.AR_SORT_DESCENDING)); 

  // Retrieve entries from the form using the given 
  // qualification. 
  ListEntry entryList = server.getListEntryObjects(formName, qual, 0,
Constants.AR_NO_MAX_LIST_RETRIEVE, sortOrder, fieldIds, true, nMatches);

  System.out.println (Query returned  + nMatches +  matches.); 
  
  if( nMatches.intValue()  0){ 
 // Print out the matches. 
 System.out.println(Request Id  + Short Description ); 
 for( int i = 0; i  entryList.size(); i++ ){ 
System.out.println (entryList.get(i).getEntryId() +   +
entryList.get(i).get(Constants.AR_CORE_SHORT_DESCRIPTION));

} 
 } 
  } 
   
   catch( ARException e ) { 
  ARExceptionHandler(e, Problem while querying by qualifier. ); 
  } 
   } 

public void ARExceptionHandler(ARException e, String errMessage){
System.out.println(errMessage); printStatusList(server.getLastStatus());

System.out.print(Stack Trace:); 
e.printStackTrace(); 
} 

public void printStatusList(ListStatusInfo statusList) { if (statusList ==
null || statusList.size()==0) { System.out.println(Status List is empty.);
return; }

System.out.print(Message type: ); 
switch(statusList.get(0).getMessageType()) 
{ 
case Constants.AR_RETURN_OK: 
System.out.println(Note); 
break; 
case Constants.AR_RETURN_WARNING: 
System.out.println(Warning); 
break; 
case Constants.AR_RETURN_ERROR: 
System.out.println(Error); 
break; 
case Constants.AR_RETURN_FATAL: 
System.out.println(Fatal Error); 
break; 
default: 
System.out.println(Unknown ( + 
statusList.get(0).getMessageType() + )); break; }
System.out.println(Status List:); for (int i=0; i  statusList.size();
i++) { System.out.println(statusList.get(i).getMessageText());

System.out.println(statusList.get(i).getAppendedText()); 
} 
} 


public void cleanup() { 
// Logout the user from the server. This releases the resource // allocated
on the server for the user. 
server.logout(); 
System.out.println(); 
System.out.println(User logged out.); 
} 
} 

_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API - parseQualification Error - Part 2

2009-11-12 Thread Roys, Eric D
LJ, 
 
Field ID or Name is irrelevant. What is suggested is instead of writing:

QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
-90); //works in 7.1 just fine also works just fine for qual not
having negative sign
 
the work-around is to add the following: 
List Field fields = ctl.getListFieldObjects(formName);  // not
required for non-negatives apparently
 
then change qualifier inputs to use the 'fields' reference: 
QualifierInfo qual = ctl.parseQualification(qualStr, fields, null,
Constants.AR_QUALCONTEXT_DEFAULT);
 
So tell me... defect or no defect? I was told no defect by support,
therefore no ETA on a fix. I suppose that's fine if you don't have a
negative outlook on things ;-)
Maybe that's a polite way of saying I have no idea what I'm doing. All I
know is it worked and then it didn't but only for one minor situational
change.
 
 
-Eric




From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Thursday, November 12, 2009 12:21 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
Eric,
So they are saying the problem is looking up the field name, and if you
use the Field ID it works just fine?



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 10:40 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 


For anyone interested (part 2 of 2)... 

Secondary response from support (it doesn't error as before): 

Sample API program that works for me.. customer will need to change the
details marked with a  -- for his test.. 

import com.bmc.arsys.api.*; 
import java.util.*; 

public class JavaAPITest { 
private ARServerUser server; 
private String formName= Roles; -- 

public JavaAPITest() { 
   server = new ARServerUser(); 
   server.setServer(atlwin01);-- 
   server.setPort(0);   -- 
   server.setUser(Demo);   -- 
   server.setPassword(); -- 
   } 

public static void main(String[] args) { 
   JavaAPITest test = new JavaAPITest(); 
   test.connect(); 
   test.queryEntrysByQual(( \'Create Date\'  \1/1/2009\ )); 
   test.queryEntrysByQual(( \'1702\' = -1210 ));
-- 
   test.cleanup(); 
   } 

// 
// Connect the current user to the server. 
// 
void connect() { 
   System.out.println(); 
   System.out.println(Connecting to AR Server...); 
   try { 
  server.verifyUser(); 
  } 
   catch (ARException e) { 
  // 
  //This exception is triggered by a bad server, password or, 
  //if guest access is turned off, by an unknown username. 
  // 
  ARExceptionHandler(e, Cannot verify user  + server.getUser() +
.); 
  System.exit(1); 
  } 
   System.out.println(Connected to AR Server  + 
   server.getServer()); 
   } 

// 
// Retrieve entries from the form using the given qualification. With //
the returned entry set, print out the ID of each entry and the //
contents in its shortDescription field.

// 
void queryEntrysByQual(String qualStr) { 
   System.out.println(); 
   System.out.println (Retrieving entryies with qualification  +
qualStr); 

   try { 
  // Retrieve the detail info of all fields from the form. 
  List Field fields = server.getListFieldObjects(formName); 

  // Create the search qualifier. 
  QualifierInfo qual = server.parseQualification(qualStr, fields,
null, Constants.AR_QUALCONTEXT_DEFAULT); 
  int[] fieldIds = {2, 7, 8}; 
  OutputInteger nMatches = new OutputInteger(); 
  ListSortInfo sortOrder = new ArrayListSortInfo(); 
  sortOrder.add(new SortInfo(2, Constants.AR_SORT_DESCENDING)); 

  // Retrieve entries from the form using the given 
  // qualification. 
  ListEntry entryList = server.getListEntryObjects(formName, qual,
0, Constants.AR_NO_MAX_LIST_RETRIEVE, sortOrder, fieldIds, true,
nMatches);

  System.out.println (Query returned  + nMatches +  matches.); 
  
  if( nMatches.intValue()  0){ 
 // Print out the matches. 
 System.out.println(Request Id  + Short Description ); 
 for( int i = 0; i  entryList.size(); i++ ){ 
System.out.println (entryList.get(i).getEntryId() +   +
entryList.get(i).get(Constants.AR_CORE_SHORT_DESCRIPTION));

} 
 } 
  } 
   
   catch( ARException e ) { 
  ARExceptionHandler(e, Problem while querying by qualifier. ); 
  } 
   } 

public void ARExceptionHandler(ARException e, String errMessage){
System.out.println(errMessage); printStatusList(server.getLastStatus());

System.out.print(Stack Trace:); 
e.printStackTrace(); 
} 

public void printStatusList(ListStatusInfo statusList) { if
(statusList == null || statusList.size()==0) {
System.out.println(Status List is empty.); return

Re: Java API - parseQualification Error - Part 2

2009-11-12 Thread LJ Longwing
I would personally push them to admit and log a defect.  Point being that if
they say you can use an ARServerUser object as such
 
parseQualification(String form, String qualification) 
  Parses a given readable qualification string into internal
structure.
 
And they are going to put a qualification on that of oh, unless your
qualification string is referencing an integer value that's negative,
that's completely bogus.  They need to make sure that their function is
functioning properly, the fact that it works if you use an overloaded
version of the function is irrelevant.  They have a bug in that function.
You can use the overloaded version as a workaround if you need to while they
fix the bug, but they need to fix it.  I have an open defect with BMC
regarding the 
 
getListFilterObjects() 
  return the detail of all (accessible) Filter objects
 
Function, throws a null pointer error on my server.  I have the workaround
of using getListFilter() and looping through that list to get EVERY filter
object, but it's not as efficientjust because there is a workaround
doesn't mean there isn't a bug.

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 4:38 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
LJ, 
 
Field ID or Name is irrelevant. What is suggested is instead of writing: 
QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' = -90);
//works in 7.1 just fine also works just fine for qual not having negative
sign
 
the work-around is to add the following: 
List Field fields = ctl.getListFieldObjects(formName);  // not required
for non-negatives apparently
 
then change qualifier inputs to use the 'fields' reference: 
QualifierInfo qual = ctl.parseQualification(qualStr, fields, null,
Constants.AR_QUALCONTEXT_DEFAULT);
 
So tell me... defect or no defect? I was told no defect by support,
therefore no ETA on a fix. I suppose that's fine if you don't have a
negative outlook on things ;-)
Maybe that's a polite way of saying I have no idea what I'm doing. All I
know is it worked and then it didn't but only for one minor situational
change.
 
 
-Eric


  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Thursday, November 12, 2009 12:21 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
Eric,
So they are saying the problem is looking up the field name, and if you use
the Field ID it works just fine?

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 10:40 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 


For anyone interested (part 2 of 2)... 

Secondary response from support (it doesn't error as before): 

Sample API program that works for me.. customer will need to change the
details marked with a  -- for his test.. 

import com.bmc.arsys.api.*; 
import java.util.*; 

public class JavaAPITest { 
private ARServerUser server; 
private String formName= Roles; -- 

public JavaAPITest() { 
   server = new ARServerUser(); 
   server.setServer(atlwin01);-- 
   server.setPort(0);   -- 
   server.setUser(Demo);   -- 
   server.setPassword(); -- 
   } 

public static void main(String[] args) { 
   JavaAPITest test = new JavaAPITest(); 
   test.connect(); 
   test.queryEntrysByQual(( \'Create Date\'  \1/1/2009\ )); 
   test.queryEntrysByQual(( \'1702\' = -1210 ));
-- 
   test.cleanup(); 
   } 

// 
// Connect the current user to the server. 
// 
void connect() { 
   System.out.println(); 
   System.out.println(Connecting to AR Server...); 
   try { 
  server.verifyUser(); 
  } 
   catch (ARException e) { 
  // 
  //This exception is triggered by a bad server, password or, 
  //if guest access is turned off, by an unknown username. 
  // 
  ARExceptionHandler(e, Cannot verify user  + server.getUser() + .);

  System.exit(1); 
  } 
   System.out.println(Connected to AR Server  + 
   server.getServer()); 
   } 

// 
// Retrieve entries from the form using the given qualification. With // the
returned entry set, print out the ID of each entry and the // contents in
its shortDescription field.

// 
void queryEntrysByQual(String qualStr) { 
   System.out.println(); 
   System.out.println (Retrieving entryies with qualification  + qualStr);


   try { 
  // Retrieve the detail info of all fields from the form. 
  List Field fields = server.getListFieldObjects(formName); 

  // Create the search qualifier. 
  QualifierInfo qual = server.parseQualification(qualStr, fields, null,
Constants.AR_QUALCONTEXT_DEFAULT); 
  int[] fieldIds

Re: Java API - parseQualification Error - Part 2

2009-11-12 Thread Roys, Eric D
Thanks for the second opinion, LJ. I'll push and see where that goes.
I'm not sure I've reached my bug submission quota for the year, yet, so
maybe they'll let me slide this time.



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Thursday, November 12, 2009 5:59 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
I would personally push them to admit and log a defect.  Point being
that if they say you can use an ARServerUser object as such
 
parseQualification(String form, String qualification) 
  Parses a given readable qualification string into internal
structure.
 
And they are going to put a qualification on that of oh, unless your
qualification string is referencing an integer value that's negative,
that's completely bogus.  They need to make sure that their function is
functioning properly, the fact that it works if you use an overloaded
version of the function is irrelevant.  They have a bug in that
function.  You can use the overloaded version as a workaround if you
need to while they fix the bug, but they need to fix it.  I have an open
defect with BMC regarding the 
 
getListFilterObjects() 
  return the detail of all (accessible) Filter objects
 
Function, throws a null pointer error on my server.  I have the
workaround of using getListFilter() and looping through that list to get
EVERY filter object, but it's not as efficientjust because there is
a workaround doesn't mean there isn't a bug.



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 4:38 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
LJ, 
 
Field ID or Name is irrelevant. What is suggested is instead of writing:

QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
-90); //works in 7.1 just fine also works just fine for qual not
having negative sign
 
the work-around is to add the following: 
List Field fields = ctl.getListFieldObjects(formName);  // not
required for non-negatives apparently
 
then change qualifier inputs to use the 'fields' reference: 
QualifierInfo qual = ctl.parseQualification(qualStr, fields, null,
Constants.AR_QUALCONTEXT_DEFAULT);
 
So tell me... defect or no defect? I was told no defect by support,
therefore no ETA on a fix. I suppose that's fine if you don't have a
negative outlook on things ;-)
Maybe that's a polite way of saying I have no idea what I'm doing. All I
know is it worked and then it didn't but only for one minor situational
change.
 
 
-Eric




From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Thursday, November 12, 2009 12:21 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 
Eric,
So they are saying the problem is looking up the field name, and if you
use the Field ID it works just fine?



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Thursday, November 12, 2009 10:40 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error - Part 2


** 


For anyone interested (part 2 of 2)... 

Secondary response from support (it doesn't error as before): 

Sample API program that works for me.. customer will need to change the
details marked with a  -- for his test.. 

import com.bmc.arsys.api.*; 
import java.util.*; 

public class JavaAPITest { 
private ARServerUser server; 
private String formName= Roles; -- 

public JavaAPITest() { 
   server = new ARServerUser(); 
   server.setServer(atlwin01);-- 
   server.setPort(0);   -- 
   server.setUser(Demo);   -- 
   server.setPassword(); -- 
   } 

public static void main(String[] args) { 
   JavaAPITest test = new JavaAPITest(); 
   test.connect(); 
   test.queryEntrysByQual(( \'Create Date\'  \1/1/2009\ )); 
   test.queryEntrysByQual(( \'1702\' = -1210 ));
-- 
   test.cleanup(); 
   } 

// 
// Connect the current user to the server. 
// 
void connect() { 
   System.out.println(); 
   System.out.println(Connecting to AR Server...); 
   try { 
  server.verifyUser(); 
  } 
   catch (ARException e) { 
  // 
  //This exception is triggered by a bad server, password or, 
  //if guest access is turned off, by an unknown username. 
  // 
  ARExceptionHandler(e, Cannot verify user  + server.getUser() +
.); 
  System.exit(1); 
  } 
   System.out.println(Connected to AR Server  + 
   server.getServer()); 
   } 

// 
// Retrieve entries from the form using the given qualification. With //
the returned entry set, print out the ID of each

Re: Java API - parseQualification Error

2009-11-03 Thread LJ Longwing
Well...using the 7.1P6 Java API the output of both are
 
[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=3],Operand=[Operation=6,Operand Left=null,Operand
Right=[Operand Type=[type=2],Operand=90,Operand Right=null]

[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=2],Operand=90]],Operand Right=null]
 
Obviously the two are different...the only difference between the two is
that the top one has -90 and the bottom has 90...so I would say that
we have an API bug...big surprise


  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Tuesday, November 03, 2009 12:37 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
LJ, 
 
This is the string output from the latter :
 
[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=2],Operand=90]],Operand Right=null]
 
// where 1702 is the db id for Role ID field and 90 is the value.
 
-Eric

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Tuesday, November 03, 2009 1:24 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
I would say you have likely found a bugbut if you use the second, and
then output the .toString() of it, what does it give you?

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Tuesday, November 03, 2009 12:07 PM
To: arslist@ARSLIST.ORG
Subject: Java API - parseQualification Error


** 

I hope someone can provide some clarity to this or substantiate that this is
a bug... 
  
ARS7.5 p1 (server/api) 
Win2003 
Java 1.6 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
-90); // has negative sign 
  
returns ERROR (0) : Message not in catalog; Message number = 0; Error while
decoding. 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
90);  // no negative although invalid role id


returns no error and also no matching results (as expected). 
  
So it appears the parseQualification is having some issues with -
interpretation. 
  
Thoughts/suggestions? 

Kind Regards, 
  
Eric Roys 
Sr. Sales Engineer 
GSSI 
Verizon Business 


_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the
Answers Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where
the Answers Are_ 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API - parseQualification Error

2009-11-03 Thread Roys, Eric D
LJ, 
 
This is the string output from the latter :
 
[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=2],Operand=90]],Operand Right=null]
 
// where 1702 is the db id for Role ID field and 90 is the value.
 
-Eric



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Tuesday, November 03, 2009 1:24 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
I would say you have likely found a bugbut if you use the second,
and then output the .toString() of it, what does it give you?



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Tuesday, November 03, 2009 12:07 PM
To: arslist@ARSLIST.ORG
Subject: Java API - parseQualification Error


** 

I hope someone can provide some clarity to this or substantiate that
this is a bug... 
  
ARS7.5 p1 (server/api) 
Win2003 
Java 1.6 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
-90); // has negative sign 
  
returns ERROR (0) : Message not in catalog; Message number = 0; Error
while decoding. 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
90);  // no negative although invalid role id


returns no error and also no matching results (as expected). 
  
So it appears the parseQualification is having some issues with -
interpretation. 
  
Thoughts/suggestions? 

Kind Regards, 
  
Eric Roys 
Sr. Sales Engineer 
GSSI 
Verizon Business 


_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the
Answers Are_ 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API - parseQualification Error

2009-11-03 Thread Roys, Eric D
Thanks, LJ. 
 
I'll try to uprev to patch 3 before dropping this in support's lap since
I know that's always the first step in troubleshooting according to
support ;-)
 
-Eric



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Tuesday, November 03, 2009 3:03 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
Well...using the 7.1P6 Java API the output of both are
 
[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=3],Operand=[Operation=6,Operand Left=null,Operand
Right=[Operand Type=[type=2],Operand=90,Operand Right=null]

[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=2],Operand=90]],Operand Right=null]
 
Obviously the two are different...the only difference between the two is
that the top one has -90 and the bottom has 90...so I would say
that we have an API bug...big surprise




From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Tuesday, November 03, 2009 12:37 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
LJ, 
 
This is the string output from the latter :
 
[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=2],Operand=90]],Operand Right=null]
 
// where 1702 is the db id for Role ID field and 90 is the value.
 
-Eric



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Tuesday, November 03, 2009 1:24 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
I would say you have likely found a bugbut if you use the second,
and then output the .toString() of it, what does it give you?



From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Tuesday, November 03, 2009 12:07 PM
To: arslist@ARSLIST.ORG
Subject: Java API - parseQualification Error


** 

I hope someone can provide some clarity to this or substantiate that
this is a bug... 
  
ARS7.5 p1 (server/api) 
Win2003 
Java 1.6 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
-90); // has negative sign 
  
returns ERROR (0) : Message not in catalog; Message number = 0; Error
while decoding. 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
90);  // no negative although invalid role id


returns no error and also no matching results (as expected). 
  
So it appears the parseQualification is having some issues with -
interpretation. 
  
Thoughts/suggestions? 

Kind Regards, 
  
Eric Roys 
Sr. Sales Engineer 
GSSI 
Verizon Business 


_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the
Answers Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist:
Where the Answers Are_ _Platinum Sponsor: rmisoluti...@verizon.net
ARSlist: Where the Answers Are_ 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API - parseQualification Error

2009-11-03 Thread LJ Longwing
I would say you have likely found a bugbut if you use the second, and
then output the .toString() of it, what does it give you?

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Tuesday, November 03, 2009 12:07 PM
To: arslist@ARSLIST.ORG
Subject: Java API - parseQualification Error


** 

I hope someone can provide some clarity to this or substantiate that this is
a bug... 
  
ARS7.5 p1 (server/api) 
Win2003 
Java 1.6 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
-90); // has negative sign 
  
returns ERROR (0) : Message not in catalog; Message number = 0; Error while
decoding. 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
90);  // no negative although invalid role id


returns no error and also no matching results (as expected). 
  
So it appears the parseQualification is having some issues with -
interpretation. 
  
Thoughts/suggestions? 

Kind Regards, 
  
Eric Roys 
Sr. Sales Engineer 
GSSI 
Verizon Business 


_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API - parseQualification Error

2009-11-03 Thread LJ Longwing
good luck, let us know how it goes...:)

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Tuesday, November 03, 2009 2:13 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
Thanks, LJ. 
 
I'll try to uprev to patch 3 before dropping this in support's lap since I
know that's always the first step in troubleshooting according to support
;-)
 
-Eric

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Tuesday, November 03, 2009 3:03 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
Well...using the 7.1P6 Java API the output of both are
 
[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=3],Operand=[Operation=6,Operand Left=null,Operand
Right=[Operand Type=[type=2],Operand=90,Operand Right=null]

[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=2],Operand=90]],Operand Right=null]
 
Obviously the two are different...the only difference between the two is
that the top one has -90 and the bottom has 90...so I would say that
we have an API bug...big surprise


  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Tuesday, November 03, 2009 12:37 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
LJ, 
 
This is the string output from the latter :
 
[Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
Type=[type=1],Operand=1702],Operand Right=[Operand
Type=[type=2],Operand=90]],Operand Right=null]
 
// where 1702 is the db id for Role ID field and 90 is the value.
 
-Eric

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Tuesday, November 03, 2009 1:24 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API - parseQualification Error


** 
I would say you have likely found a bugbut if you use the second, and
then output the .toString() of it, what does it give you?

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
Sent: Tuesday, November 03, 2009 12:07 PM
To: arslist@ARSLIST.ORG
Subject: Java API - parseQualification Error


** 

I hope someone can provide some clarity to this or substantiate that this is
a bug... 
  
ARS7.5 p1 (server/api) 
Win2003 
Java 1.6 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
-90); // has negative sign 
  
returns ERROR (0) : Message not in catalog; Message number = 0; Error while
decoding. 
  
Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
90);  // no negative although invalid role id


returns no error and also no matching results (as expected). 
  
So it appears the parseQualification is having some issues with -
interpretation. 
  
Thoughts/suggestions? 

Kind Regards, 
  
Eric Roys 
Sr. Sales Engineer 
GSSI 
Verizon Business 


_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the
Answers Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where
the Answers Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist:
Where the Answers Are_ _Platinum Sponsor: rmisoluti...@verizon.net
ARSlist: Where the Answers Are_ 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API - parseQualification Error

2009-11-03 Thread Misi Mladoniczky
Hi,

I guess you can allways try a ('1702' = 0-90). This workaround for the
bug should work even after it is fixed.

Best Regards - Misi, RRR AB, http://rrr.se

 Thanks, LJ.

 I'll try to uprev to patch 3 before dropping this in support's lap since
 I know that's always the first step in troubleshooting according to
 support ;-)

 -Eric

 

 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
 Sent: Tuesday, November 03, 2009 3:03 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API - parseQualification Error


 **
 Well...using the 7.1P6 Java API the output of both are

 [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
 Type=[type=1],Operand=1702],Operand Right=[Operand
 Type=[type=3],Operand=[Operation=6,Operand Left=null,Operand
 Right=[Operand Type=[type=2],Operand=90,Operand Right=null]

 [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
 Type=[type=1],Operand=1702],Operand Right=[Operand
 Type=[type=2],Operand=90]],Operand Right=null]

 Obviously the two are different...the only difference between the two is
 that the top one has -90 and the bottom has 90...so I would say
 that we have an API bug...big surprise


 

 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
 Sent: Tuesday, November 03, 2009 12:37 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API - parseQualification Error


 **
 LJ,

 This is the string output from the latter :

 [Operation=4,Operand Left=[Operation=1,Operand Left=[Operand
 Type=[type=1],Operand=1702],Operand Right=[Operand
 Type=[type=2],Operand=90]],Operand Right=null]

 // where 1702 is the db id for Role ID field and 90 is the value.

 -Eric

 

 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
 Sent: Tuesday, November 03, 2009 1:24 PM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API - parseQualification Error


 **
 I would say you have likely found a bugbut if you use the second,
 and then output the .toString() of it, what does it give you?

 

 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Roys, Eric D
 Sent: Tuesday, November 03, 2009 12:07 PM
 To: arslist@ARSLIST.ORG
 Subject: Java API - parseQualification Error


 **

 I hope someone can provide some clarity to this or substantiate that
 this is a bug...

 ARS7.5 p1 (server/api)
 Win2003
 Java 1.6

 Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
 -90); // has negative sign

 returns ERROR (0) : Message not in catalog; Message number = 0; Error
 while decoding.

 Using QualifierInfo qual = ctl.parseQualification(Roles, 'Role ID' =
 90);  // no negative although invalid role id


 returns no error and also no matching results (as expected).

 So it appears the parseQualification is having some issues with -
 interpretation.

 Thoughts/suggestions?

 Kind Regards,

 Eric Roys
 Sr. Sales Engineer
 GSSI
 Verizon Business


 _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
 Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the
 Answers Are_ _Platinum Sponsor: rmisoluti...@verizon.net ARSlist:
 Where the Answers Are_ _Platinum Sponsor: rmisoluti...@verizon.net
 ARSlist: Where the Answers Are_

 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are

 --
 This message was scanned by ESVA and is believed to be clean.



___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-11-02 Thread Lyle Taylor
From what I've been able to tell, there is no such thing as operator 
precedence in AR System aside from parentheses.  It all seems to be dictated 
on the parentheses which seems to correspond to the tree that their parser 
build internally.  There's a lot of room for improvement in the area of 
qualifications in Remedy, in my opinion.

Lyle


-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Thursday, October 29, 2009 2:13 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Hi,

Just tested some things.

I am working on ARServer/Developer 7.5.0 patch 3.

In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
brackets:

What I entered:
'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = Active
After reopen:
(('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = Active)

It seems like they did some efforts on the the VALUE in the
Set/Push-Fields Action.

The problem is that i does not work, the new BMC parenthesis optimizer is
faulty!!!

I entered:
(1.0 + 2.0) * 3.0
This is shown after reopening the filter:
1.0 + 2.0 * 3.0

They must take into account that the * has a higher priority than the +,
and put in parenthesis accordingly, if needed.

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 Misi,
 There was a fix put in toI think it was set/push action qualifications
 to fix their excess parenthesis, but I wasn't aware of any more still
 being
 in existence.  Can you give me an example of where you are seeing it?

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
 Sent: Wednesday, October 28, 2009 4:31 AM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 Hi,

 It would be very nice if someone could take the time to create an
 algorithm
 that removed the unnecessary grouping parentheses...

 Best Regards - Misi, RRR AB, http://www.rrr.se

 Products from RRR Scandinavia:
 * RRR|License - Not enough Remedy licenses? Save money by optimizing.
 * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
 * RRR|Translator - Manage and automate your language translations.
 Find these products, and many free tools and utilities, at http://rrr.se.

 Wow...ask a tough oneoktook me FOREVER to figure out
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation,
 and RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo object, here are your pieces

 LeftOperand = ('Status' = Fixed)
 Operation = AND
 RightOperand = ('Create Date'  $DATE$)

 So, what I have done in several programs now is to write an iterative
 subroutine, if you check the operation to determine if it is a
 relational operation (  = != etc).  If it's not, I throw
 RightOperand back into the sub till it is, If it is then you know you
 are down to a single operand, and then you can parse the field/value
 on left and right for what you want to check/test for.

 Please let me know if this helps anyit's still a bit fuzzy in my
 head, but I understand it well enough as it is to do what I need to do.

   _

 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of David Morgan
 Sent: Tuesday, October 27, 2009 8:33 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)


 **

 Hi ARSListers,



 I have been looking at the Java API but am stumped by Qualifiers.



 String name1 = Demo;

 String swd = etno;

 String sname = dclha002;

 Integer tcpport = 8001;

 Integer rpcnum = 0;





 ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

 // Check and verify user login:

  try {

// If User Pass/Acct name is wrong, this gens an error.

context.login();



  } catch( ARException e ) {

System.out.println( Login Error :  +  Possible Bad password
 or acct name.  );

//This return ends all further processing and exits...

 return;

  }

 ListActiveLink
 aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);

 int x = 0;

 for (int i = 0; i  aLinkObjs.size(); i++) {

 System.out.format(\n%20s%60s\n\n, i,
 aLinkObjs.get(i).getName());

 //ActiveLink alink = aLinkObjs.get(x);



 try

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-11-02 Thread Rick Cook
Lyle, my take on that is that Remedy is trying to be DB agnostic.  Rather than 
compete with how each DB processes SQL, or trying to anticipate how a receiver 
of an API call might do so, they just kept it simple. 


Rick

-Original Message-
From: Lyle Taylor tayl...@ldschurch.org
Date: Mon, 2 Nov 2009 12:29:40 
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

From what I've been able to tell, there is no such thing as operator precedence 
in AR System aside from parentheses.  It all seems to be dictated on the 
parentheses which seems to correspond to the tree that their parser build 
internally.  There's a lot of room for improvement in the area of 
qualifications in Remedy, in my opinion.

Lyle


-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Thursday, October 29, 2009 2:13 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Hi,

Just tested some things.

I am working on ARServer/Developer 7.5.0 patch 3.

In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
brackets:

What I entered:
'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = Active
After reopen:
(('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = Active)

It seems like they did some efforts on the the VALUE in the
Set/Push-Fields Action.

The problem is that i does not work, the new BMC parenthesis optimizer is
faulty!!!

I entered:
(1.0 + 2.0) * 3.0
This is shown after reopening the filter:
1.0 + 2.0 * 3.0

They must take into account that the * has a higher priority than the +,
and put in parenthesis accordingly, if needed.

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 Misi,
 There was a fix put in toI think it was set/push action qualifications
 to fix their excess parenthesis, but I wasn't aware of any more still
 being
 in existence.  Can you give me an example of where you are seeing it?

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
 Sent: Wednesday, October 28, 2009 4:31 AM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 Hi,

 It would be very nice if someone could take the time to create an
 algorithm
 that removed the unnecessary grouping parentheses...

 Best Regards - Misi, RRR AB, http://www.rrr.se

 Products from RRR Scandinavia:
 * RRR|License - Not enough Remedy licenses? Save money by optimizing.
 * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
 * RRR|Translator - Manage and automate your language translations.
 Find these products, and many free tools and utilities, at http://rrr.se.

 Wow...ask a tough oneoktook me FOREVER to figure out
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation,
 and RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo object, here are your pieces

 LeftOperand = ('Status' = Fixed)
 Operation = AND
 RightOperand = ('Create Date'  $DATE$)

 So, what I have done in several programs now is to write an iterative
 subroutine, if you check the operation to determine if it is a
 relational operation (  = != etc).  If it's not, I throw
 RightOperand back into the sub till it is, If it is then you know you
 are down to a single operand, and then you can parse the field/value
 on left and right for what you want to check/test for.

 Please let me know if this helps anyit's still a bit fuzzy in my
 head, but I understand it well enough as it is to do what I need to do.

_

 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of David Morgan
 Sent: Tuesday, October 27, 2009 8:33 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)


 **

 Hi ARSListers,



 I have been looking at the Java API but am stumped by Qualifiers.



 String name1 = Demo;

 String swd = etno;

 String sname = dclha002;

 Integer tcpport = 8001;

 Integer rpcnum = 0;





 ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

 // Check and verify user login:

  try {

// If User Pass/Acct name is wrong, this gens an error.

context.login();



  } catch( ARException e

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-11-02 Thread Lyle Taylor
It's possible that that's the motivation behind how it's currently architected, 
but it's not a very good excuse.  The SQL will all get dynamically generated 
based on the qualification tree generated by parsing the qualification string, 
not on the qualification string itself.  It's very doable to define 
qualification strings so that operator precedence, etc., is in line with common 
practice, and that wouldn't affect Remedy's ability to be DB agnostic in the 
slightest.  The only difference that it makes is that parsing the qualification 
strings becomes slightly more complicated (but still very doable - there are 
tools that will write much of this code for you - e.g., lex/yacc, etc.).  Once 
you've parsed the qualification string according to whatever rules you've put 
in place, you end up with the same data structure that they currently have 
which will then be used to generate the SQL just like they do now.  The current 
scheme is unnecessarily simplistic and actually makes the system more difficult 
to use because of the excessive number of parentheses in qualification schemese.

Lyle

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Rick Cook
Sent: Monday, November 02, 2009 12:46 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Lyle, my take on that is that Remedy is trying to be DB agnostic.  Rather than 
compete with how each DB processes SQL, or trying to anticipate how a receiver 
of an API call might do so, they just kept it simple. 


Rick

-Original Message-
From: Lyle Taylor tayl...@ldschurch.org
Date: Mon, 2 Nov 2009 12:29:40 
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

From what I've been able to tell, there is no such thing as operator 
precedence in AR System aside from parentheses.  It all seems to be dictated 
on the parentheses which seems to correspond to the tree that their parser 
build internally.  There's a lot of room for improvement in the area of 
qualifications in Remedy, in my opinion.

Lyle


-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Thursday, October 29, 2009 2:13 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Hi,

Just tested some things.

I am working on ARServer/Developer 7.5.0 patch 3.

In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
brackets:

What I entered:
'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = Active
After reopen:
(('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = Active)

It seems like they did some efforts on the the VALUE in the
Set/Push-Fields Action.

The problem is that i does not work, the new BMC parenthesis optimizer is
faulty!!!

I entered:
(1.0 + 2.0) * 3.0
This is shown after reopening the filter:
1.0 + 2.0 * 3.0

They must take into account that the * has a higher priority than the +,
and put in parenthesis accordingly, if needed.

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 Misi,
 There was a fix put in toI think it was set/push action qualifications
 to fix their excess parenthesis, but I wasn't aware of any more still
 being
 in existence.  Can you give me an example of where you are seeing it?

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
 Sent: Wednesday, October 28, 2009 4:31 AM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 Hi,

 It would be very nice if someone could take the time to create an
 algorithm
 that removed the unnecessary grouping parentheses...

 Best Regards - Misi, RRR AB, http://www.rrr.se

 Products from RRR Scandinavia:
 * RRR|License - Not enough Remedy licenses? Save money by optimizing.
 * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
 * RRR|Translator - Manage and automate your language translations.
 Find these products, and many free tools and utilities, at http://rrr.se.

 Wow...ask a tough oneoktook me FOREVER to figure out
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation,
 and RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-11-02 Thread Grooms, Frederick W
According to the Workflow Objects docs there is a operator precedence.

Operator precedence

When you use multiple operators to construct qualification criteria, they are 
evaluated in the following order:   
  1 ( )   
  2 NOT (!) - (unary minus)   
  3 * / %   
  4 + -   
  5  =  = = != LIKE   
  6 AND ()   
  7 OR (||)   
Operators of the same precedence are performed left to right.   
You can use parentheses in an expression to override operator precedence.   
AR System evaluates expressions inside parentheses first before evaluating 
those outside.   

Part of the design of adding parenthesis probably goes back to when Remedy 
supported using flat files as a database.  

Fred

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Lyle Taylor
Sent: Monday, November 02, 2009 2:12 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

It's possible that that's the motivation behind how it's currently architected, 
but it's not a very good excuse.  The SQL will all get dynamically generated 
based on the qualification tree generated by parsing the qualification string, 
not on the qualification string itself.  It's very doable to define 
qualification strings so that operator precedence, etc., is in line with common 
practice, and that wouldn't affect Remedy's ability to be DB agnostic in the 
slightest.  The only difference that it makes is that parsing the qualification 
strings becomes slightly more complicated (but still very doable - there are 
tools that will write much of this code for you - e.g., lex/yacc, etc.).  Once 
you've parsed the qualification string according to whatever rules you've put 
in place, you end up with the same data structure that they currently have 
which will then be used to generate the SQL just like they do now.  The current 
scheme is unnecessarily simplistic and actually makes the system more difficult 
to use because of the excessive number of parentheses in qualification schemese.

Lyle

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Rick Cook
Sent: Monday, November 02, 2009 12:46 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Lyle, my take on that is that Remedy is trying to be DB agnostic.  Rather than 
compete with how each DB processes SQL, or trying to anticipate how a receiver 
of an API call might do so, they just kept it simple. 


Rick

-Original Message-
From: Lyle Taylor tayl...@ldschurch.org
Date: Mon, 2 Nov 2009 12:29:40 
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

From what I've been able to tell, there is no such thing as operator 
precedence in AR System aside from parentheses.  It all seems to be dictated 
on the parentheses which seems to correspond to the tree that their parser 
build internally.  There's a lot of room for improvement in the area of 
qualifications in Remedy, in my opinion.

Lyle


-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Thursday, October 29, 2009 2:13 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Hi,

Just tested some things.

I am working on ARServer/Developer 7.5.0 patch 3.

In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
brackets:

What I entered:
'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = Active
After reopen:
(('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = Active)

It seems like they did some efforts on the the VALUE in the
Set/Push-Fields Action.

The problem is that i does not work, the new BMC parenthesis optimizer is
faulty!!!

I entered:
(1.0 + 2.0) * 3.0
This is shown after reopening the filter:
1.0 + 2.0 * 3.0

They must take into account that the * has a higher priority than the +,
and put in parenthesis accordingly, if needed.

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 Misi,
 There was a fix put in toI think it was set/push action qualifications
 to fix their excess parenthesis, but I wasn't aware of any more still
 being
 in existence.  Can you give me an example of where you are seeing it?

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
 Sent: Wednesday, October 28, 2009 4:31 AM

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-11-02 Thread Lyle Taylor
Hmm.  OK.  My bad.  I tried to find that once and couldn't find anything.  I 
guess I didn't look hard enough.  Thanks for pointing that out, Fred.

Lyle

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Grooms, Frederick W
Sent: Monday, November 02, 2009 1:37 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

According to the Workflow Objects docs there is a operator precedence.

Operator precedence

When you use multiple operators to construct qualification criteria, they are 
evaluated in the following order:   
  1 ( )   
  2 NOT (!) - (unary minus)   
  3 * / %   
  4 + -   
  5  =  = = != LIKE   
  6 AND ()   
  7 OR (||)   
Operators of the same precedence are performed left to right.   
You can use parentheses in an expression to override operator precedence.   
AR System evaluates expressions inside parentheses first before evaluating 
those outside.   

Part of the design of adding parenthesis probably goes back to when Remedy 
supported using flat files as a database.  

Fred

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Lyle Taylor
Sent: Monday, November 02, 2009 2:12 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

It's possible that that's the motivation behind how it's currently architected, 
but it's not a very good excuse.  The SQL will all get dynamically generated 
based on the qualification tree generated by parsing the qualification string, 
not on the qualification string itself.  It's very doable to define 
qualification strings so that operator precedence, etc., is in line with common 
practice, and that wouldn't affect Remedy's ability to be DB agnostic in the 
slightest.  The only difference that it makes is that parsing the qualification 
strings becomes slightly more complicated (but still very doable - there are 
tools that will write much of this code for you - e.g., lex/yacc, etc.).  Once 
you've parsed the qualification string according to whatever rules you've put 
in place, you end up with the same data structure that they currently have 
which will then be used to generate the SQL just like they do now.  The current 
scheme is unnecessarily simplistic and actually makes the system more difficult 
to use because of the excessive number of parentheses in qualification schemese.

Lyle

-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Rick Cook
Sent: Monday, November 02, 2009 12:46 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Lyle, my take on that is that Remedy is trying to be DB agnostic.  Rather than 
compete with how each DB processes SQL, or trying to anticipate how a receiver 
of an API call might do so, they just kept it simple. 


Rick

-Original Message-
From: Lyle Taylor tayl...@ldschurch.org
Date: Mon, 2 Nov 2009 12:29:40 
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

From what I've been able to tell, there is no such thing as operator 
precedence in AR System aside from parentheses.  It all seems to be dictated 
on the parentheses which seems to correspond to the tree that their parser 
build internally.  There's a lot of room for improvement in the area of 
qualifications in Remedy, in my opinion.

Lyle


-Original Message-
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Thursday, October 29, 2009 2:13 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Hi,

Just tested some things.

I am working on ARServer/Developer 7.5.0 patch 3.

In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
brackets:

What I entered:
'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = Active
After reopen:
(('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = Active)

It seems like they did some efforts on the the VALUE in the
Set/Push-Fields Action.

The problem is that i does not work, the new BMC parenthesis optimizer is
faulty!!!

I entered:
(1.0 + 2.0) * 3.0
This is shown after reopening the filter:
1.0 + 2.0 * 3.0

They must take into account that the * has a higher priority than the +,
and put in parenthesis accordingly, if needed.

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-29 Thread Misi Mladoniczky
Hi,

Just tested some things.

I am working on ARServer/Developer 7.5.0 patch 3.

In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
brackets:

What I entered:
'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = Active
After reopen:
(('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = Active)

It seems like they did some efforts on the the VALUE in the
Set/Push-Fields Action.

The problem is that i does not work, the new BMC parenthesis optimizer is
faulty!!!

I entered:
(1.0 + 2.0) * 3.0
This is shown after reopening the filter:
1.0 + 2.0 * 3.0

They must take into account that the * has a higher priority than the +,
and put in parenthesis accordingly, if needed.

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 Misi,
 There was a fix put in toI think it was set/push action qualifications
 to fix their excess parenthesis, but I wasn't aware of any more still
 being
 in existence.  Can you give me an example of where you are seeing it?

 -Original Message-
 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
 Sent: Wednesday, October 28, 2009 4:31 AM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 Hi,

 It would be very nice if someone could take the time to create an
 algorithm
 that removed the unnecessary grouping parentheses...

 Best Regards - Misi, RRR AB, http://www.rrr.se

 Products from RRR Scandinavia:
 * RRR|License - Not enough Remedy licenses? Save money by optimizing.
 * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
 * RRR|Translator - Manage and automate your language translations.
 Find these products, and many free tools and utilities, at http://rrr.se.

 Wow...ask a tough oneoktook me FOREVER to figure out
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation,
 and RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo object, here are your pieces

 LeftOperand = ('Status' = Fixed)
 Operation = AND
 RightOperand = ('Create Date'  $DATE$)

 So, what I have done in several programs now is to write an iterative
 subroutine, if you check the operation to determine if it is a
 relational operation (  = != etc).  If it's not, I throw
 RightOperand back into the sub till it is, If it is then you know you
 are down to a single operand, and then you can parse the field/value
 on left and right for what you want to check/test for.

 Please let me know if this helps anyit's still a bit fuzzy in my
 head, but I understand it well enough as it is to do what I need to do.

   _

 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of David Morgan
 Sent: Tuesday, October 27, 2009 8:33 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)


 **

 Hi ARSListers,



 I have been looking at the Java API but am stumped by Qualifiers.



 String name1 = Demo;

 String swd = etno;

 String sname = dclha002;

 Integer tcpport = 8001;

 Integer rpcnum = 0;





 ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

 // Check and verify user login:

  try {

// If User Pass/Acct name is wrong, this gens an error.

context.login();



  } catch( ARException e ) {

System.out.println( Login Error :  +  Possible Bad password
 or acct name.  );

//This return ends all further processing and exits...

 return;

  }

 ListActiveLink
 aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);

 int x = 0;

 for (int i = 0; i  aLinkObjs.size(); i++) {

 System.out.format(\n%20s%60s\n\n, i,
 aLinkObjs.get(i).getName());

 //ActiveLink alink = aLinkObjs.get(x);



 try{

 QualifierInfo encryptedQual =
 aLinkObjs.get(i).getQualifier();

 System.out.println(encryptedQual.toString() );

 RelationalOperationInfo qualEnglish =
 encryptedQual.getRelationalOperationInfo();



 System.out.println(Qual : + qualEnglish.toString());

 } catch (Exception e){

 System.out.println(no Qualification\n);

 }





 if (aLinkObjs.get(i).toString().contentEquals(ASI:AWL:Close_100)
 ) {

 x = i ;

// System.out.println(x);

 }

 }

 context.logout();

 }



 I can get the names of the Active links associated

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-29 Thread Ben Chernys
Hi Misi,

The structs involved in values are similar in that they are a binary tree.
There are no parentheses.  The function that creates strings from them
(there wasn't one when I wrote my f()) may be faulty.  In particular, I
would consider your example of the missing parenthesis a serious flaw.  You
could look in the native representation of the assignment on the server
(using an sql query) and then interpret it manually to verify that the fault
is only on the new admin tool's representation of the (hopefully) correct
internal representation.

I'll have somewhat of a look when I run my schema dump program on a 7.5 ITSM
as I still use my old f() to transform these structs into human readable
strings.  This won't happen too soon though.

In any event, dropping the parentheses in your expression and then saving
your workflow again will cause a problem and is a serious bug.

Good luck in Vegas

Cheers
Ben

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: October 29, 2009 9:13 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
Link (for example)

Hi,

Just tested some things.

I am working on ARServer/Developer 7.5.0 patch 3.

In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
brackets:

What I entered:
'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = Active
After reopen:
(('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = Active)

It seems like they did some efforts on the the VALUE in the Set/Push-Fields
Action.

The problem is that i does not work, the new BMC parenthesis optimizer is
faulty!!!

I entered:
(1.0 + 2.0) * 3.0
This is shown after reopening the filter:
1.0 + 2.0 * 3.0

They must take into account that the * has a higher priority than the +, and
put in parenthesis accordingly, if needed.

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 Misi,
 There was a fix put in toI think it was set/push action 
 qualifications to fix their excess parenthesis, but I wasn't aware of 
 any more still being in existence.  Can you give me an example of 
 where you are seeing it?

 -Original Message-
 From: Action Request System discussion list(ARSList) 
 [mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
 Sent: Wednesday, October 28, 2009 4:31 AM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an 
 Active Link (for example)

 Hi,

 It would be very nice if someone could take the time to create an 
 algorithm that removed the unnecessary grouping parentheses...

 Best Regards - Misi, RRR AB, http://www.rrr.se

 Products from RRR Scandinavia:
 * RRR|License - Not enough Remedy licenses? Save money by optimizing.
 * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
 * RRR|Translator - Manage and automate your language translations.
 Find these products, and many free tools and utilities, at http://rrr.se.

 Wow...ask a tough oneoktook me FOREVER to figure out 
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation, 
 and RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo object, here are your pieces

 LeftOperand = ('Status' = Fixed)
 Operation = AND
 RightOperand = ('Create Date'  $DATE$)

 So, what I have done in several programs now is to write an iterative 
 subroutine, if you check the operation to determine if it is a 
 relational operation (  = != etc).  If it's not, I throw 
 RightOperand back into the sub till it is, If it is then you know you 
 are down to a single operand, and then you can parse the field/value 
 on left and right for what you want to check/test for.

 Please let me know if this helps anyit's still a bit fuzzy in my 
 head, but I understand it well enough as it is to do what I need to do..

   _

 From: Action Request System discussion list(ARSList) 
 [mailto:arsl...@arslist.org] On Behalf Of David Morgan
 Sent: Tuesday, October 27, 2009 8:33 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API for ARS - How to obtain a Run-If line from an 
 Active Link (for example)


 **

 Hi ARSListers,



 I have been looking at the Java API but am stumped by Qualifiers.



 String name1 = Demo;

 String swd = etno;

 String sname = dclha002;

 Integer tcpport = 8001;

 Integer rpcnum = 0;





 ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

 // Check and verify user login:

  try {

// If User

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-29 Thread David Morgan
Many thanks Calman - I think that was the one I was looking for !! :-)

Regards
Dave Morgan


-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Calman Steynberg
Sent: 27 October 2009 19:27
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an
Active Link (for example)

--0016e646114252fd510476efa83e
Content-Type: text/plain; charset=ISO-8859-1

To get a human readable string for a QualifierInfo object use
ARServerUser.formatQualification();

From the JavaDocs for the method:

Stringeclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARServerU
ser.java%E2%98%83ARServerUser%7EformatQualification%7EQString;%7EQObject
;%E2%98%82Stringcom.bmc.arsys.api.
ARServerUsereclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARS
erverUser.java%E2%98%83ARServerUser
.formatQualification(Stringeclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.
arsys.api%7BARServerUser.java%E2%98%83ARServerUser%7EformatQualification
%7EQString;%7EQObject;%E2%98%82Stringform,
Objecteclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARServerU
ser.java%E2%98%83ARServerUser%7EformatQualification%7EQString;%7EQObject
;%E2%98%82Objectqualification)
throws
ARExceptioneclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARSe
rverUser.java%E2%98%83ARServerUser%7EformatQualification%7EQString;%7EQO
bject;%E2%98%82ARException

Formats an internal representation of a qualifier to a readable String
Parameters: *form* Form against which this qualification is defined *
qualification* given qualification - it can be an encoded qualification
representation (String) or a QualifierInfo object Returns: Readable
qualification string Throws:
ARExceptioneclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARSe
rverUser.java%E2%98%83ARServerUser%7EformatQualification%7EQString;%7EQO
bject;%E2%98%82ARException-
in case of formatting errors

In your code below, you can do it by using the following line:

System.out.println(context.formatQualification(aLinkObjs.get(i).getPrima
ryForm(),
aLinkObjs.get(i).getQualifier()) );


Hope that helps.

Calman


On Tue, Oct 27, 2009 at 8:14 AM, LJ Longwing lj.longw...@gmail.com
wrote:

 **
 Wow...ask a tough oneoktook me FOREVER to figure out
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation,
and
 RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo object, here are your pieces

 LeftOperand = ('Status' = Fixed)
 Operation = AND
 RightOperand = ('Create Date'  $DATE$)

 So, what I have done in several programs now is to write an iterative
 subroutine, if you check the operation to determine if it is a
relational
 operation (  = != etc).  If it's not, I throw RightOperand back into
the
 sub till it is, If it is then you know you are down to a single
operand, and
 then you can parse the field/value on left and right for what you want
to
 check/test for.

 Please let me know if this helps anyit's still a bit fuzzy in my
head,
 but I understand it well enough as it is to do what I need to do.

  --
 *From:* Action Request System discussion list(ARSList) [mailto:
 arsl...@arslist.org] *On Behalf Of *David Morgan
 *Sent:* Tuesday, October 27, 2009 8:33 AM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Java API for ARS - How to obtain a Run-If line from an
Active
 Link (for example)

 **

 Hi ARSListers,



 I have been looking at the Java API but am stumped by Qualifiers.



 String name1 = Demo;

 String swd = etno;

 String sname = dclha002;

 Integer tcpport = 8001;

 Integer rpcnum = 0;





 ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

 // Check and verify user login:

  try {

// If User Pass/Acct name is wrong, this gens an error.

context.login();



  } catch( ARException e ) {

System.out.println( Login Error :  +  Possible Bad password
or
 acct name.  );

//This return ends all further processing and exits...

 return;

  }

 ListActiveLink
aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);

 int x = 0;

 for (int i = 0; i  aLinkObjs.size(); i++) {

 System.out.format(\n%20s%60s\n\n, i,
aLinkObjs.get(i).getName());

 //ActiveLink alink = aLinkObjs.get(x);



 try{

 QualifierInfo encryptedQual =
 aLinkObjs.get(i).getQualifier();

 System.out.println(encryptedQual.toString() );

 RelationalOperationInfo qualEnglish =
 encryptedQual.getRelationalOperationInfo();



 System.out.println(Qual : + qualEnglish.toString());

 } catch (Exception e){

 System.out.println(no Qualification\n);

 }





 if (aLinkObjs.get(i).toString().contentEquals(ASI:AWL:Close_100)
) {

 x = i

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-29 Thread LJ Longwing
Okso your complaint is not at all about ARInside, which is what I
thought you were talking about...:)I would say that in your situation
regarding the arithmetic, I would open a defect with BMC...because what you
entered is most definitely not what comes back when you re-open it...9 vs.
7 

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Thursday, October 29, 2009 2:13 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
Link (for example)

Hi,

Just tested some things.

I am working on ARServer/Developer 7.5.0 patch 3.

In the Run-If and Set/Push-Fields-If-Qualification, it still puts in extra
brackets:

What I entered:
'CU:ID' = $CU:ID$ AND 'CO:ID' = $CO:ID$ AND 'Status' = Active
After reopen:
(('CU:ID' = $CU:ID$) AND ('CO:ID' = $CO:ID$)) AND ('Status' = Active)

It seems like they did some efforts on the the VALUE in the Set/Push-Fields
Action.

The problem is that i does not work, the new BMC parenthesis optimizer is
faulty!!!

I entered:
(1.0 + 2.0) * 3.0
This is shown after reopening the filter:
1.0 + 2.0 * 3.0

They must take into account that the * has a higher priority than the +, and
put in parenthesis accordingly, if needed.

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 Misi,
 There was a fix put in toI think it was set/push action 
 qualifications to fix their excess parenthesis, but I wasn't aware of 
 any more still being in existence.  Can you give me an example of 
 where you are seeing it?

 -Original Message-
 From: Action Request System discussion list(ARSList) 
 [mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
 Sent: Wednesday, October 28, 2009 4:31 AM
 To: arslist@ARSLIST.ORG
 Subject: Re: Java API for ARS - How to obtain a Run-If line from an 
 Active Link (for example)

 Hi,

 It would be very nice if someone could take the time to create an 
 algorithm that removed the unnecessary grouping parentheses...

 Best Regards - Misi, RRR AB, http://www.rrr.se

 Products from RRR Scandinavia:
 * RRR|License - Not enough Remedy licenses? Save money by optimizing.
 * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
 * RRR|Translator - Manage and automate your language translations.
 Find these products, and many free tools and utilities, at http://rrr.se.

 Wow...ask a tough oneoktook me FOREVER to figure out 
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation, 
 and RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo object, here are your pieces

 LeftOperand = ('Status' = Fixed)
 Operation = AND
 RightOperand = ('Create Date'  $DATE$)

 So, what I have done in several programs now is to write an iterative 
 subroutine, if you check the operation to determine if it is a 
 relational operation (  = != etc).  If it's not, I throw 
 RightOperand back into the sub till it is, If it is then you know you 
 are down to a single operand, and then you can parse the field/value 
 on left and right for what you want to check/test for.

 Please let me know if this helps anyit's still a bit fuzzy in my 
 head, but I understand it well enough as it is to do what I need to do.

   _

 From: Action Request System discussion list(ARSList) 
 [mailto:arsl...@arslist.org] On Behalf Of David Morgan
 Sent: Tuesday, October 27, 2009 8:33 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API for ARS - How to obtain a Run-If line from an 
 Active Link (for example)


 **

 Hi ARSListers,



 I have been looking at the Java API but am stumped by Qualifiers.



 String name1 = Demo;

 String swd = etno;

 String sname = dclha002;

 Integer tcpport = 8001;

 Integer rpcnum = 0;





 ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

 // Check and verify user login:

  try {

// If User Pass/Acct name is wrong, this gens an error.

context.login();



  } catch( ARException e ) {

System.out.println( Login Error :  +  Possible Bad password 
 or acct name.  );

//This return ends all further processing and exits...

 return;

  }

 ListActiveLink
 aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);

 int x = 0;

 for (int i = 0; i  aLinkObjs.size(); i++) {

 System.out.format(\n%20s%60s\n\n, i, 
 aLinkObjs.get(i).getName());

 //ActiveLink alink = aLinkObjs.get(x);



 try{

 QualifierInfo encryptedQual

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-28 Thread Misi Mladoniczky
Hi,

It would be very nice if someone could take the time to create an
algorithm that removed the unnecessary grouping parentheses...

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 Wow...ask a tough oneoktook me FOREVER to figure out
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation, and
 RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo object, here are your pieces

 LeftOperand = ('Status' = Fixed)
 Operation = AND
 RightOperand = ('Create Date'  $DATE$)

 So, what I have done in several programs now is to write an iterative
 subroutine, if you check the operation to determine if it is a relational
 operation (  = != etc).  If it's not, I throw RightOperand back into the
 sub till it is, If it is then you know you are down to a single operand,
 and
 then you can parse the field/value on left and right for what you want to
 check/test for.

 Please let me know if this helps anyit's still a bit fuzzy in my head,
 but I understand it well enough as it is to do what I need to do.

   _

 From: Action Request System discussion list(ARSList)
 [mailto:arsl...@arslist.org] On Behalf Of David Morgan
 Sent: Tuesday, October 27, 2009 8:33 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API for ARS - How to obtain a Run-If line from an Active
 Link
 (for example)


 **

 Hi ARSListers,



 I have been looking at the Java API but am stumped by Qualifiers.



 String name1 = Demo;

 String swd = etno;

 String sname = dclha002;

 Integer tcpport = 8001;

 Integer rpcnum = 0;





 ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

 // Check and verify user login:

  try {

// If User Pass/Acct name is wrong, this gens an error.

context.login();



  } catch( ARException e ) {

System.out.println( Login Error :  +  Possible Bad password or
 acct name.  );

//This return ends all further processing and exits...

 return;

  }

 ListActiveLink
 aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);

 int x = 0;

 for (int i = 0; i  aLinkObjs.size(); i++) {

 System.out.format(\n%20s%60s\n\n, i, aLinkObjs.get(i).getName());

 //ActiveLink alink = aLinkObjs.get(x);



 try{

 QualifierInfo encryptedQual =
 aLinkObjs.get(i).getQualifier();

 System.out.println(encryptedQual.toString() );

 RelationalOperationInfo qualEnglish =
 encryptedQual.getRelationalOperationInfo();



 System.out.println(Qual : + qualEnglish.toString());

 } catch (Exception e){

 System.out.println(no Qualification\n);

 }





 if (aLinkObjs.get(i).toString().contentEquals(ASI:AWL:Close_100) ) {

 x = i ;

// System.out.println(x);

 }

 }

 context.logout();

 }



 I can get the names of the Active links associated with the named form (in
 this example I used AST:WorkLog)

 But I cannot seem to decode the Qualifier. All I get from the output is :-



1
 SHR:SHR:Help_003_CheckOnlineHelpInstall_E



 [Operation=4,Operand Left=[Operation=2,Operand Left=[Operand
 Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand
 Type=[type=2],Operand=0]],Operand Right=null]

 Qual : [Operation=2,Operand Left=[Operand
 Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand
 Type=[type=2],Operand=0]]

 I just need some help in decoding the Qualifier. Anyone got any ideas?
 Thanks in advance!!



 David Morgan

 Senior Technical Consultant



 Tiberone Technologies Limited

 Golden Cross House

 8 Duncannon Street

 London WC2N 4JF

 Ph: +44 (0) 207 484 5069

 Fax: +44 (0) 870 8310 381

 Mob: +44 (0) 7876 450102

  http://www.tiberone.com/ www.tiberone.com



 _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
 Are_

 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are

 --
 This message was scanned by ESVA and is believed to be clean.



___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-28 Thread Ben Chernys
I presume you mean recursive rather than iterative.  All recursion can be
expressed as iteration but sometimes (and this is an example) it is simpler
to be recursive.
 
I forward an email on the subject originally in reply to LJ Longwing.  Note
that this code is NOT java!
 
From: Action Request System discussion list(ARSList) [mailto:
mailto:arslist@ARSLIST.ORG arsl...@arslist.org] On Behalf Of Ben Chernys
Sent: Friday, January 25, 2008 1:38 PM
To:  mailto:arslist@ARSLIST.ORG arslist@ARSLIST.ORG
Subject: Re: Java 7.1 API Assistance
 
This is non-trivial.  I have described my function on the list in the past
but cannot find that post (perhaps in an archive?).  I use it in a binary
that dumps an ARS server's workflow and table structures into an ASCII
file that I can then search in an editor.
 
From the function pre-amble:
 
// builds a text string from an AR Qualifier Struct
ArdUtErr
ArdQualDecode (   // decodes a qualifier structure
  ArdSch  * pS,   // a loaded schema
  ArdSch  * pSc,  // the current schema
  ARQualifierStruct   * pQ,   // returned string must be freed
  char  * * vTgt  //   by caller and can be used
  )   //   in ARLoadARQualifierStruct()
  // this is pretty recursive.
  // first, the structure of pQ:
  //op
  //  left, right   (two new, same structs)
  //  not   (one more same struct)
  //  relopstruct   (a simpler field / value struct)
  // so how do we do it?
  //   we will always produce a string something like
  // ( ?? AND ?? )  or
  // ( ?? OR ?? )   or
  // ( NOT ?? ) or
  // ( A = B )
  // the ?? is returned by a recursive call to this routine
 
 
The gist of the main switch in the function
...
  switch (pQ-operation) {
case AR_COND_OP_AND:
case AR_COND_OP_OR:
  ArdQualDecode(pS, pSc, pQ-u.andor.operandLeft,   wP1);
  ArdQualDecode(pS, pSc, pQ-u.andor.operandRight,  wP2);
  // combine ( wP1 and/or wP2 )
case AR_COND_OP_NOT:
  ArdQualDecode(pS, pSc, pQ-u.not,  wP1);
  // combine ( not wP1 )
case AR_COND_OP_REL_OP:
  // make ( a relop b )
}
...
 

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: October 27, 2009 4:15 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
Link (for example)


** 
Wow...ask a tough oneoktook me FOREVER to figure out
Qualifiersbut here is basically what you need to do.  
 
A QualifierInfo object has three main parts, LeftOperand, Operation, and
RightOperand.  To explain these parts I will give you an example
 
('Status' = Fixed) AND ('Create Date'  $DATE$)
 
Ok, if that is your QualifierInfo object, here are your pieces
 
LeftOperand = ('Status' = Fixed)
Operation = AND
RightOperand = ('Create Date'  $DATE$)
 
So, what I have done in several programs now is to write an iterative
subroutine, if you check the operation to determine if it is a relational
operation (  = != etc).  If it's not, I throw RightOperand back into the
sub till it is, If it is then you know you are down to a single operand, and
then you can parse the field/value on left and right for what you want to
check/test for.
Please let me know if this helps anyit's still a bit fuzzy in my head,
but I understand it well enough as it is to do what I need to do.

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of David Morgan
Sent: Tuesday, October 27, 2009 8:33 AM
To: arslist@ARSLIST.ORG
Subject: Java API for ARS - How to obtain a Run-If line from an Active Link
(for example)


** 

Hi ARSListers, 

 

I have been looking at the Java API but am stumped by Qualifiers. 

 

String name1 = Demo;

String swd = etno;

String sname = dclha002;

Integer tcpport = 8001;

Integer rpcnum = 0;

 

 

ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

// Check and verify user login:

 try {

   // If User Pass/Acct name is wrong, this gens an error.

   context.login();

 

 } catch( ARException e ) {

   System.out.println( Login Error :  +  Possible Bad password or
acct name.  );

   //This return ends all further processing and exits...

return;

 }

ListActiveLink aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);

int x = 0;

for (int i = 0; i  aLinkObjs.size(); i++) {

System.out.format(\n%20s%60s\n\n, i, aLinkObjs.get(i).getName());

//ActiveLink alink = aLinkObjs.get(x);



try{

QualifierInfo encryptedQual =
aLinkObjs.get(i).getQualifier();

System.out.println(encryptedQual.toString() );

RelationalOperationInfo qualEnglish =
encryptedQual.getRelationalOperationInfo();



System.out.println(Qual : + qualEnglish.toString

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-28 Thread LJ Longwing
Misi,
There was a fix put in toI think it was set/push action qualifications
to fix their excess parenthesis, but I wasn't aware of any more still being
in existence.  Can you give me an example of where you are seeing it?

-Original Message-
From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Wednesday, October 28, 2009 4:31 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
Link (for example)

Hi,

It would be very nice if someone could take the time to create an algorithm
that removed the unnecessary grouping parentheses...

Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
* RRR|Translator - Manage and automate your language translations.
Find these products, and many free tools and utilities, at http://rrr.se.

 Wow...ask a tough oneoktook me FOREVER to figure out 
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation, 
 and RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo object, here are your pieces

 LeftOperand = ('Status' = Fixed)
 Operation = AND
 RightOperand = ('Create Date'  $DATE$)

 So, what I have done in several programs now is to write an iterative 
 subroutine, if you check the operation to determine if it is a 
 relational operation (  = != etc).  If it's not, I throw 
 RightOperand back into the sub till it is, If it is then you know you 
 are down to a single operand, and then you can parse the field/value 
 on left and right for what you want to check/test for.

 Please let me know if this helps anyit's still a bit fuzzy in my 
 head, but I understand it well enough as it is to do what I need to do.

   _

 From: Action Request System discussion list(ARSList) 
 [mailto:arsl...@arslist.org] On Behalf Of David Morgan
 Sent: Tuesday, October 27, 2009 8:33 AM
 To: arslist@ARSLIST.ORG
 Subject: Java API for ARS - How to obtain a Run-If line from an Active 
 Link (for example)


 **

 Hi ARSListers,



 I have been looking at the Java API but am stumped by Qualifiers.



 String name1 = Demo;

 String swd = etno;

 String sname = dclha002;

 Integer tcpport = 8001;

 Integer rpcnum = 0;





 ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

 // Check and verify user login:

  try {

// If User Pass/Acct name is wrong, this gens an error.

context.login();



  } catch( ARException e ) {

System.out.println( Login Error :  +  Possible Bad password 
 or acct name.  );

//This return ends all further processing and exits...

 return;

  }

 ListActiveLink
 aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);

 int x = 0;

 for (int i = 0; i  aLinkObjs.size(); i++) {

 System.out.format(\n%20s%60s\n\n, i, 
 aLinkObjs.get(i).getName());

 //ActiveLink alink = aLinkObjs.get(x);



 try{

 QualifierInfo encryptedQual = 
 aLinkObjs.get(i).getQualifier();

 System.out.println(encryptedQual.toString() );

 RelationalOperationInfo qualEnglish = 
 encryptedQual.getRelationalOperationInfo();



 System.out.println(Qual : + qualEnglish.toString());

 } catch (Exception e){

 System.out.println(no Qualification\n);

 }





 if (aLinkObjs.get(i).toString().contentEquals(ASI:AWL:Close_100) 
 ) {

 x = i ;

// System.out.println(x);

 }

 }

 context.logout();

 }



 I can get the names of the Active links associated with the named form 
 (in this example I used AST:WorkLog)

 But I cannot seem to decode the Qualifier. All I get from the output 
 is :-



1
 SHR:SHR:Help_003_CheckOnlineHelpInstall_E



 [Operation=4,Operand Left=[Operation=2,Operand Left=[Operand 
 Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand 
 Type=[type=2],Operand=0]],Operand Right=null]

 Qual : [Operation=2,Operand Left=[Operand 
 Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand 
 Type=[type=2],Operand=0]]

 I just need some help in decoding the Qualifier. Anyone got any ideas?
 Thanks in advance!!



 David Morgan

 Senior Technical Consultant



 Tiberone Technologies Limited

 Golden Cross House

 8 Duncannon Street

 London WC2N 4JF

 Ph: +44 (0) 207 484 5069

 Fax: +44 (0) 870 8310 381

 Mob: +44 (0) 7876 450102

  http://www.tiberone.com/ www.tiberone.com



 _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the 
 Answers Are_

 __
 _ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-28 Thread Papolu, Appajee
Hmm, that's only half the story... Think about this ...

'Create Date'  ($TIMESTAMP$ - (7 * 24 * 60 * 60))
AND
whatever LJ Longwing quoted below

i.e. qualifiers that involve arithmetic operations as well. The 
recursiveness/complexity grows even more... :)

Unless you're really trying to emulate the qualification evaluation (like AR 
workflow runtimes such as Server/Midtier/UserTool typically do), I suggest not 
to go deal with all this complexity yourself. Rather see, if your utility can 
get by, simply by offering a string representation of the qualifier. To do 
these, you can surely use ARServerUser.formatQualification/parseQualification 
etc routines within Java API to convert AR given qualifier object to a readable 
string format or the reverse. However, if your requirement is to really build 
the qualifier tree object and process it some how - then make sure that your 
logic indeed covers logical operators (Longwing quoted these below), as well as 
arithmetic operations and finally deal with field/keyword references 
appropriately.

HTH
Appajee


From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Tuesday, October 27, 2009 8:15 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Wow...ask a tough oneoktook me FOREVER to figure out Qualifiersbut 
here is basically what you need to do.

A QualifierInfo object has three main parts, LeftOperand, Operation, and 
RightOperand.  To explain these parts I will give you an example

('Status' = Fixed) AND ('Create Date'  $DATE$)

Ok, if that is your QualifierInfo object, here are your pieces

LeftOperand = ('Status' = Fixed)
Operation = AND
RightOperand = ('Create Date'  $DATE$)

So, what I have done in several programs now is to write an iterative 
subroutine, if you check the operation to determine if it is a relational 
operation (  = != etc).  If it's not, I throw RightOperand back into the sub 
till it is, If it is then you know you are down to a single operand, and then 
you can parse the field/value on left and right for what you want to check/test 
for.

Please let me know if this helps anyit's still a bit fuzzy in my head, but 
I understand it well enough as it is to do what I need to do.

_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-28 Thread LJ Longwing
The first time I needed to parse a qualifier was when I was writing a
program that would identify all workflow that set a particular selection
field to a particular valuetons of fun

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of Papolu, Appajee
Sent: Wednesday, October 28, 2009 4:43 PM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
Link (for example)


** 

Hmm, that's only half the story. Think about this .

 

'Create Date'  ($TIMESTAMP$ - (7 * 24 * 60 * 60))

AND
whatever LJ Longwing quoted below

 

i.e. qualifiers that involve arithmetic operations as well. The
recursiveness/complexity grows even more. :-)

 

Unless you're really trying to emulate the qualification evaluation (like AR
workflow runtimes such as Server/Midtier/UserTool typically do), I suggest
not to go deal with all this complexity yourself. Rather see, if your
utility can get by, simply by offering a string representation of the
qualifier. To do these, you can surely use
ARServerUser.formatQualification/parseQualification etc routines within Java
API to convert AR given qualifier object to a readable string format or the
reverse. However, if your requirement is to really build the qualifier tree
object and process it some how - then make sure that your logic indeed
covers logical operators (Longwing quoted these below), as well as
arithmetic operations and finally deal with field/keyword references
appropriately.

 

HTH

Appajee

 

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Tuesday, October 27, 2009 8:15 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active
Link (for example)

 

Wow...ask a tough oneoktook me FOREVER to figure out
Qualifiersbut here is basically what you need to do.  

 

A QualifierInfo object has three main parts, LeftOperand, Operation, and
RightOperand.  To explain these parts I will give you an example

 

('Status' = Fixed) AND ('Create Date'  $DATE$)

 

Ok, if that is your QualifierInfo object, here are your pieces

 

LeftOperand = ('Status' = Fixed)

Operation = AND

RightOperand = ('Create Date'  $DATE$)

 

So, what I have done in several programs now is to write an iterative
subroutine, if you check the operation to determine if it is a relational
operation (  = != etc).  If it's not, I throw RightOperand back into the
sub till it is, If it is then you know you are down to a single operand, and
then you can parse the field/value on left and right for what you want to
check/test for.

 

Please let me know if this helps anyit's still a bit fuzzy in my head,
but I understand it well enough as it is to do what I need to do.

 

_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
Are__Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
Are_ 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-28 Thread Papolu, Appajee
Hmm, that's only half the story... Think about this ...

'Create Date'  ($TIMESTAMP$ - (7 * 24 * 60 * 60))
AND
whatever LJ Longwing quoted below

i.e. qualifiers that involve arithmetic operations as well. The 
recursiveness/complexity grows even more... :)

Unless you're really trying to emulate the qualification evaluation (like AR 
workflow runtimes such as Server/Midtier/UserTool typically do), I suggest not 
to go deal with all this complexity yourself. Rather see, if your utility can 
get by, simply by offering a string representation of the qualifier. To do 
these, you can surely use ARServerUser.formatQualification/parseQualification 
etc routines within Java API to convert AR given qualifier object to a readable 
string format or the reverse. However, if your requirement is to really build 
the qualifier tree object and process it some how - then make sure that your 
logic indeed covers logical operators (Longwing quoted these below), as well as 
arithmetic operations and finally deal with field/keyword references 
appropriately.

HTH
Appajee





From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of LJ Longwing
Sent: Tuesday, October 27, 2009 8:15 AM
To: arslist@ARSLIST.ORG
Subject: Re: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)

Wow...ask a tough oneoktook me FOREVER to figure out Qualifiersbut 
here is basically what you need to do.

A QualifierInfo object has three main parts, LeftOperand, Operation, and 
RightOperand.  To explain these parts I will give you an example

('Status' = Fixed) AND ('Create Date'  $DATE$)

Ok, if that is your QualifierInfo object, here are your pieces

LeftOperand = ('Status' = Fixed)
Operation = AND
RightOperand = ('Create Date'  $DATE$)

So, what I have done in several programs now is to write an iterative 
subroutine, if you check the operation to determine if it is a relational 
operation (  = != etc).  If it's not, I throw RightOperand back into the sub 
till it is, If it is then you know you are down to a single operand, and then 
you can parse the field/value on left and right for what you want to check/test 
for.

Please let me know if this helps anyit's still a bit fuzzy in my head, but 
I understand it well enough as it is to do what I need to do.


From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of David Morgan
Sent: Tuesday, October 27, 2009 8:33 AM
To: arslist@ARSLIST.ORG
Subject: Java API for ARS - How to obtain a Run-If line from an Active Link 
(for example)
**
Hi ARSListers,

I have been looking at the Java API but am stumped by Qualifiers.

String name1 = Demo;
String swd = etno;
String sname = dclha002;
Integer tcpport = 8001;
Integer rpcnum = 0;


ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);
// Check and verify user login:
 try {
   // If User Pass/Acct name is wrong, this gens an error.
   context.login();

 } catch( ARException e ) {
   System.out.println( Login Error :  +  Possible Bad password or acct 
name.  );
   //This return ends all further processing and exits...
return;
 }
ListActiveLink aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);
int x = 0;
for (int i = 0; i  aLinkObjs.size(); i++) {
System.out.format(\n%20s%60s\n\n, i, aLinkObjs.get(i).getName());
//ActiveLink alink = aLinkObjs.get(x);

try{
QualifierInfo encryptedQual = aLinkObjs.get(i).getQualifier();
System.out.println(encryptedQual.toString() );
RelationalOperationInfo qualEnglish = 
encryptedQual.getRelationalOperationInfo();

System.out.println(Qual : + qualEnglish.toString());
} catch (Exception e){
System.out.println(no Qualification\n);
}


if (aLinkObjs.get(i).toString().contentEquals(ASI:AWL:Close_100) ) {
x = i ;
   // System.out.println(x);
}
}
context.logout();
}

I can get the names of the Active links associated with the named form (in this 
example I used AST:WorkLog)
But I cannot seem to decode the Qualifier. All I get from the output is :-

   1   SHR:SHR:Help_003_CheckOnlineHelpInstall_E

[Operation=4,Operand Left=[Operation=2,Operand Left=[Operand 
Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand 
Type=[type=2],Operand=0]],Operand Right=null]
Qual : [Operation=2,Operand Left=[Operand 
Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand 
Type=[type=2],Operand=0]]

I just need some help in decoding the Qualifier. Anyone got any ideas? Thanks 
in advance!!

David Morgan
Senior Technical Consultant

Tiberone Technologies Limited
Golden Cross House
8 Duncannon Street
London WC2N 4JF
Ph: +44 (0) 207 484 5069
Fax: +44 (0) 870 8310 381
Mob: +44 (0) 7876 450102
www.tiberone.comhttp://www.tiberone.com/

_Platinum

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-28 Thread Calman Steynberg
To get a human readable string for a QualifierInfo object use
ARServerUser.formatQualification();

From the JavaDocs for the method:

Stringeclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARServerUser.java%E2%98%83ARServerUser%7EformatQualification%7EQString;%7EQObject;%E2%98%82Stringcom.bmc.arsys.api.
ARServerUsereclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARServerUser.java%E2%98%83ARServerUser
.formatQualification(Stringeclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARServerUser.java%E2%98%83ARServerUser%7EformatQualification%7EQString;%7EQObject;%E2%98%82Stringform,
Objecteclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARServerUser.java%E2%98%83ARServerUser%7EformatQualification%7EQString;%7EQObject;%E2%98%82Objectqualification)
throws
ARExceptioneclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARServerUser.java%E2%98%83ARServerUser%7EformatQualification%7EQString;%7EQObject;%E2%98%82ARException

Formats an internal representation of a qualifier to a readable String
Parameters: *form* Form against which this qualification is defined *
qualification* given qualification - it can be an encoded qualification
representation (String) or a QualifierInfo object Returns: Readable
qualification string Throws:
ARExceptioneclipse-javadoc:%E2%98%82=api/src%3Ccom.bmc.arsys.api%7BARServerUser.java%E2%98%83ARServerUser%7EformatQualification%7EQString;%7EQObject;%E2%98%82ARException-
in case of formatting errors

In your code below, you can do it by using the following line:

System.out.println(context.formatQualification(aLinkObjs.get(i).getPrimaryForm(),
aLinkObjs.get(i).getQualifier()) );


Hope that helps.

Calman


On Tue, Oct 27, 2009 at 8:14 AM, LJ Longwing lj.longw...@gmail.com wrote:

 **
 Wow...ask a tough oneoktook me FOREVER to figure out
 Qualifiersbut here is basically what you need to do.

 A QualifierInfo object has three main parts, LeftOperand, Operation, and
 RightOperand.  To explain these parts I will give you an example

 ('Status' = Fixed) AND ('Create Date'  $DATE$)

 Ok, if that is your QualifierInfo object, here are your pieces

 LeftOperand = ('Status' = Fixed)
 Operation = AND
 RightOperand = ('Create Date'  $DATE$)

 So, what I have done in several programs now is to write an iterative
 subroutine, if you check the operation to determine if it is a relational
 operation (  = != etc).  If it's not, I throw RightOperand back into the
 sub till it is, If it is then you know you are down to a single operand, and
 then you can parse the field/value on left and right for what you want to
 check/test for.

 Please let me know if this helps anyit's still a bit fuzzy in my head,
 but I understand it well enough as it is to do what I need to do.

  --
 *From:* Action Request System discussion list(ARSList) [mailto:
 arsl...@arslist.org] *On Behalf Of *David Morgan
 *Sent:* Tuesday, October 27, 2009 8:33 AM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Java API for ARS - How to obtain a Run-If line from an Active
 Link (for example)

 **

 Hi ARSListers,



 I have been looking at the Java API but am stumped by Qualifiers.



 String name1 = Demo;

 String swd = etno;

 String sname = dclha002;

 Integer tcpport = 8001;

 Integer rpcnum = 0;





 ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

 // Check and verify user login:

  try {

// If User Pass/Acct name is wrong, this gens an error.

context.login();



  } catch( ARException e ) {

System.out.println( Login Error :  +  Possible Bad password or
 acct name.  );

//This return ends all further processing and exits...

 return;

  }

 ListActiveLink aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);

 int x = 0;

 for (int i = 0; i  aLinkObjs.size(); i++) {

 System.out.format(\n%20s%60s\n\n, i, aLinkObjs.get(i).getName());

 //ActiveLink alink = aLinkObjs.get(x);



 try{

 QualifierInfo encryptedQual =
 aLinkObjs.get(i).getQualifier();

 System.out.println(encryptedQual.toString() );

 RelationalOperationInfo qualEnglish =
 encryptedQual.getRelationalOperationInfo();



 System.out.println(Qual : + qualEnglish.toString());

 } catch (Exception e){

 System.out.println(no Qualification\n);

 }





 if (aLinkObjs.get(i).toString().contentEquals(ASI:AWL:Close_100) ) {

 x = i ;

// System.out.println(x);

 }

 }

 context.logout();

 }



 I can get the names of the Active links associated with the named form (in
 this example I used AST:WorkLog)

 But I cannot seem to decode the Qualifier. All I get from the output is :-



1
 SHR:SHR:Help_003_CheckOnlineHelpInstall_E



 [Operation=4,Operand Left=[Operation=2,Operand Left=[Operand
 Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand
 Type=[type=2],Operand=0]],Operand 

Re: Java API for ARS - How to obtain a Run-If line from an Active Link (for example)

2009-10-27 Thread LJ Longwing
Wow...ask a tough oneoktook me FOREVER to figure out
Qualifiersbut here is basically what you need to do.  
 
A QualifierInfo object has three main parts, LeftOperand, Operation, and
RightOperand.  To explain these parts I will give you an example
 
('Status' = Fixed) AND ('Create Date'  $DATE$)
 
Ok, if that is your QualifierInfo object, here are your pieces
 
LeftOperand = ('Status' = Fixed)
Operation = AND
RightOperand = ('Create Date'  $DATE$)
 
So, what I have done in several programs now is to write an iterative
subroutine, if you check the operation to determine if it is a relational
operation (  = != etc).  If it's not, I throw RightOperand back into the
sub till it is, If it is then you know you are down to a single operand, and
then you can parse the field/value on left and right for what you want to
check/test for.
 
Please let me know if this helps anyit's still a bit fuzzy in my head,
but I understand it well enough as it is to do what I need to do.

  _  

From: Action Request System discussion list(ARSList)
[mailto:arsl...@arslist.org] On Behalf Of David Morgan
Sent: Tuesday, October 27, 2009 8:33 AM
To: arslist@ARSLIST.ORG
Subject: Java API for ARS - How to obtain a Run-If line from an Active Link
(for example)


** 

Hi ARSListers, 

 

I have been looking at the Java API but am stumped by Qualifiers. 

 

String name1 = Demo;

String swd = etno;

String sname = dclha002;

Integer tcpport = 8001;

Integer rpcnum = 0;

 

 

ARServerUser context=new ARServerUser(name1,swd,,sname, tcpport);

// Check and verify user login:

 try {

   // If User Pass/Acct name is wrong, this gens an error.

   context.login();

 

 } catch( ARException e ) {

   System.out.println( Login Error :  +  Possible Bad password or
acct name.  );

   //This return ends all further processing and exits...

return;

 }

ListActiveLink aLinkObjs=context.getListActiveLinkObjects(AST:WorkLog);

int x = 0;

for (int i = 0; i  aLinkObjs.size(); i++) {

System.out.format(\n%20s%60s\n\n, i, aLinkObjs.get(i).getName());

//ActiveLink alink = aLinkObjs.get(x);



try{

QualifierInfo encryptedQual =
aLinkObjs.get(i).getQualifier();

System.out.println(encryptedQual.toString() );

RelationalOperationInfo qualEnglish =
encryptedQual.getRelationalOperationInfo();



System.out.println(Qual : + qualEnglish.toString());

} catch (Exception e){

System.out.println(no Qualification\n);

}

 



if (aLinkObjs.get(i).toString().contentEquals(ASI:AWL:Close_100) ) {

x = i ;

   // System.out.println(x);

}

}

context.logout();

}

 

I can get the names of the Active links associated with the named form (in
this example I used AST:WorkLog)

But I cannot seem to decode the Qualifier. All I get from the output is :-

 

   1
SHR:SHR:Help_003_CheckOnlineHelpInstall_E

 

[Operation=4,Operand Left=[Operation=2,Operand Left=[Operand
Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand
Type=[type=2],Operand=0]],Operand Right=null]

Qual : [Operation=2,Operand Left=[Operand
Type=[type=2],Operand=$LASTCOUNT$],Operand Right=[Operand
Type=[type=2],Operand=0]]

I just need some help in decoding the Qualifier. Anyone got any ideas?
Thanks in advance!!

 

David Morgan

Senior Technical Consultant

 

Tiberone Technologies Limited

Golden Cross House

8 Duncannon Street

London WC2N 4JF

Ph: +44 (0) 207 484 5069

Fax: +44 (0) 870 8310 381

Mob: +44 (0) 7876 450102

 http://www.tiberone.com/ www.tiberone.com

 

_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
Are_ 

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are


Re: Java API for Attachment Pool

2009-09-22 Thread Derek Berube
**
Senthil,You can use the getEntryBlob(formName, entryId, fieldId) method of the ARServerUser class to retrieve attachment data. The method returns a byte[] array.I've attached some source code to this message - have a look at the BaseARSDAO.getAttachmentContent() method. Depending on how large the content is, you may want to write the data out to disk and store it in a temporary file._Platinum Sponsor: rmisoluti...@verizon.net ARSlist: "Where the Answers Are"_


RemedyAPI.jar
Description: application/java-archive
**
DerekOn Sep 16, 2009, at 8:55 AM, senthil kumar wrote:**
Hi,I am new to Java API but I need to fetch the attachemt files fromattachment pool by using Java API. I dont know which method i need to callto get attachement files.Could you please suggest how to proceed on this.Remedy Version : 7.1Os: LinuxThanks.
_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: "Where the Answers Are"_

_Platinum Sponsor: rmisoluti...@verizon.net ARSlist: "Where the Answers Are"_

Re: Java API for Attachment Pool

2009-09-16 Thread Jarl Grøneng
Found this file on my laptop, it may give you a start.
--
Jarl

2009/9/16 senthil kumar msenthil...@gmail.com:
 **

 Hi,

 I am new to Java API but I need to fetch the attachemt files from
 attachment pool by using Java API. I dont know which method i need to call
 to get attachement files.

 Could you please suggest how to proceed on this.

 Remedy Version : 7.1

 Os: Linux

 Thanks.

 _Platinum Sponsor: rmisoluti...@verizon.net ARSlist: Where the Answers
 Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: Where the Answers Are
import com.remedy.arsys.api.*;

public class getAttach
{
	public static void main(String args[])
	{
		
		// Username to login to ARServer
		String uname = Demo;
		// Password for the User
		String pword = ;
		// Language
		String lang = ;
		// ARServer
		String serv = ;
		// Create ARServerUser object with supporting information.
		ARServerUser context = new ARServerUser(uname, pword, lang, serv);
		
		
		// Create NameID object adding the form name you wish to retrieve the attachment from in the constructor.
		NameID schemaID = new NameID(RESOURCE_Downloads);
		
		// Create EntryID object adding the EntryID of the record you wish to retrieve the attachment from in the constructor
		EntryID entryID = new EntryID(007);
		
		// Create FieldID object adding the fieldID of the attachment field in the constructor
		long fid = 536880912;
		FieldID fieldID = new FieldID(fid);
		
		// Need to have the Util.ARGetEntryBlob() method in a try block to catch ARException
		try
		{
			// Set a string variable for the name of the attachment
			String aname = ConvertQual.def;
			// Set a string variable for the full path of where you wish to copy the attachment to.
			String filePath = C:\\ConvertQual.def;
			// Create AttachmentInfo object with supporting information
			AttachmentInfo attach = new AttachmentInfo(aname, 0, 0, );
			// Call the setValue() method of the AttachmentInfo object passing in the full path string variable.
			attach.setValue(filePath);
		
			// Call ARGetEntryBlob with supporting information
			Util.ARGetEntryBlob(context, schemaID, entryID, fieldID, attach);
		}
		catch (ARException e)
		{
			System.out.println(Exception:  + e.toString());
		}
		
	}

}



Re: Java API/ARS 7.1 question [Resolved]

2009-03-26 Thread Michiel Beijen
The API's are mostly proprietary and owned by BMC. There are also dll's for
Unicode, XML and XSLT (ICU, Xerces and Xalan) included in the API which fall
under a different license. This is all explained here:
http://arswiki.org/wiki/Remedy_API_Downloads

So the API is not open source, but parts of it are. Axton received an OK
from Doug Mueller, CTO of BMC Software, to host them on ARSwiki though.

I'm not a lawyer, but if you are using 7.1 server and have a support
contract, I guess you will be allowed to use the 7.5 java libraries if you'd
want to do API programming.
API docs are part of the 7.5 java distribution.

HTH,
--
Michiel Beijen
Software Consultant
+31 6 - 457 42 418
Bee Free IT + http://beefreeit.nl


On Thu, Mar 26, 2009 at 08:59, Krombholz, Robert, VF-Group 
robert.krombh...@vodafone.com wrote:


 What about the license of the ARS APIs?
 Are they OpenSource?
 Or am I only allowed to use the 7.5 libaries if I pay for a 7.5 server?
 (because we still use 7.1)

 If it is legal it would be very nice if you could send  me the 7.5 Java
 libs.
 Is there an API documentation included?

 Thanks ahead
 Robert


 -Ursprüngliche Nachricht-
 Von: Action Request System discussion list(ARSList) [mailto:
 arsl...@arslist.org] Im Auftrag von James Pifer
 Gesendet: Mittwoch, 25. März 2009 18:44
 An: arslist@ARSLIST.ORG
 Betreff: Re: Java API/ARS 7.1 question [Resolved]

 I was able to get my hands on 7.5 api. 100% java is VERY nice, works great.
 Also works on 64bit.

 James


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org Platinum
 Sponsor: RMI Solutions ARSlist: Where the Answers Are


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are


Re: Java API/ARS 7.1 question [Resolved]

2009-03-26 Thread Axton
This is a statement I received from Doug Mueller a few years back on the
subject:

http://arswiki.org/dist/docs/RE_Open_Source_Initiative.pdf

To my knowledge this has not changed.

Axton Grams

The opinions, statements, and/or suggested courses of action expressed in
this E-mail do not necessarily reflect those of BMC Software, Inc.  My
voluntary participation in this forum is not intended to convey a role as a
spokesperson, liaison or public relations representative for BMC Software,
Inc.

On Thu, Mar 26, 2009 at 2:59 AM, Krombholz, Robert, VF-Group 
robert.krombh...@vodafone.com wrote:


 What about the license of the ARS APIs?
 Are they OpenSource?
 Or am I only allowed to use the 7.5 libaries if I pay for a 7.5 server?
 (because we still use 7.1)

 If it is legal it would be very nice if you could send  me the 7.5 Java
 libs.
 Is there an API documentation included?

 Thanks ahead
 Robert


 -Ursprüngliche Nachricht-
 Von: Action Request System discussion list(ARSList) [mailto:
 arsl...@arslist.org] Im Auftrag von James Pifer
 Gesendet: Mittwoch, 25. März 2009 18:44
 An: arslist@ARSLIST.ORG
 Betreff: Re: Java API/ARS 7.1 question [Resolved]

 I was able to get my hands on 7.5 api. 100% java is VERY nice, works great.
 Also works on 64bit.

 James


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org Platinum
 Sponsor: RMI Solutions ARSlist: Where the Answers Are


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are


Re: Java API/ARS 7.1 question

2009-03-25 Thread Michiel Beijen
Well, obviously they are in the 'api' subdirectory from a 7.5 server...

The APIs used to be hosted as a separate download from http://arswiki.org -
Axton put them there. But since there was little user contribution to the
wiki (and axton is a busy guy) the last api's you'll find there are v7.1.

You can probably extract them easiest from the tarballs on the patch
download site of BMC.

Kind regards,
--
Michiel Beijen
Software Consultant
+31 6 - 457 42 418
Bee Free IT + http://beefreeit.nl


On Tue, Mar 24, 2009 at 16:00, James Pifer j...@obrien-pifer.com wrote:

 On Mon, 2009-03-23 at 16:26 +0100, Michiel Beijen wrote:
  ** James,
 
  I saw a reference to 'lib64' in your error message.
 
  Please make sure that you use a 32-bit version of Java - the 7.1 API
  libs contain JNI and are not 100% 'pure' java.
 
  You could also use the 7.5 api libs, which are 100% java (assuming
  that your server is running 7.0.1 or newer).
 

 Where can I get 7.5 api libs?

 James


 ___
 UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
 Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are


Re: Java API/ARS 7.1 question

2009-03-25 Thread Axton
Yes, a rather painful way to get them out.  The new installers pack
everything in a file that I do not know how to unpack, so an install of the
server is required to get the api's.  I will not be able to accomodate this
for HPUX or AIX since I do not have machines on those platforms.

Axton Grams

On Wed, Mar 25, 2009 at 8:55 AM, Grooms, Frederick W 
frederick.w.gro...@xo.com wrote:

  It used to be that the server install asked if you wanted to install the
 API (so you could choose No to the Server question and Yes to the API
 question and just install the API).  Now with 7.5 you no longer get that
 option and to get the API you just have to install the server and copy the
 API folder.





 *From:* Action Request System discussion list(ARSList) [mailto:
 arsl...@arslist.org] *On Behalf Of *Michiel Beijen
 *Sent:* Wednesday, March 25, 2009 3:07 AM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Re: Java API/ARS 7.1 question



 ** Well, obviously they are in the 'api' subdirectory from a 7.5 server...

 The APIs used to be hosted as a separate download from http://arswiki.org- 
 Axton put them there. But since there was little user contribution to the
 wiki (and axton is a busy guy) the last api's you'll find there are v7.1.

 You can probably extract them easiest from the tarballs on the patch
 download site of BMC.

 Kind regards,
 --
 Michiel Beijen
 Software Consultant
 +31 6 - 457 42 418
 Bee Free IT + http://beefreeit.nl

  On Tue, Mar 24, 2009 at 16:00, James Pifer j...@obrien-pifer.com wrote:

 On Mon, 2009-03-23 at 16:26 +0100, Michiel Beijen wrote:

  ** James,

 
  I saw a reference to 'lib64' in your error message.
 
  Please make sure that you use a 32-bit version of Java - the 7.1 API
  libs contain JNI and are not 100% 'pure' java.
 
  You could also use the 7.5 api libs, which are 100% java (assuming
  that your server is running 7.0.1 or newer).
 

 Where can I get 7.5 api libs?


 James





___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are


Re: Java API/ARS 7.1 question

2009-03-25 Thread James Pifer
On Wed, 2009-03-25 at 09:51 -0500, Axton wrote:
 ** Yes, a rather painful way to get them out.  The new installers pack
 everything in a file that I do not know how to unpack, so an install
 of the server is required to get the api's.  I will not be able to
 accomodate this for HPUX or AIX since I do not have machines on those
 platforms.
 
 Axton Grams

Yeah, I downloaded the installer and tried as well, but couldn't find it
the way they have it packaged. I could throw a VM together to do the
install, but then I also have to install oracle, etc etc etc. Major
pain, but may come to that. 

If anyone has a linux machine running ARS 7.5, would you be willing to
zip up the api dir and send it to me?

Thanks,
James

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are


Re: Java API/ARS 7.1 question

2009-03-25 Thread Chintan Shah
You can probably get all API related stuff (libraries and Jars) it from 
midtier installation.

I think midtier installation should be faster than arserver. I  havent done any 
7.5 midtier installations however,  with 7.1 its just deploying WAR file and i 
got all required files from the below path .

PATH- webapps/arsys/WEB-INF/lib

Hope it helps.

Thanks
Chintan
--- On Wed, 3/25/09, James Pifer j...@obrien-pifer.com wrote:
From: James Pifer j...@obrien-pifer.com
Subject: Re: Java API/ARS 7.1 question
To: arslist@ARSLIST.ORG
Date: Wednesday, March 25, 2009, 8:55 AM

On Wed, 2009-03-25 at 09:51 -0500, Axton wrote:
 ** Yes, a rather painful way to get them out.  The new installers pack
 everything in a file that I do not know how to unpack, so an install
 of the server is required to get the api's.  I will not be able to
 accomodate this for HPUX or AIX since I do not have machines on those
 platforms.
 
 Axton Grams

Yeah, I downloaded the installer and tried as well, but couldn't find it
the way they have it packaged. I could throw a VM together to do the
install, but then I also have to install oracle, etc etc etc. Major
pain, but may come to that. 

If anyone has a linux machine running ARS 7.5, would you be willing to
zip up the api dir and send it to me?

Thanks,
James

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are





___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: RMI Solutions ARSlist: Where the Answers Are

  1   2   >