Non-recursion-based regex

I'm doing some heavy duty very special case regexing. If fact I have to build them programatically as the actual regular expressions can grow to over 60,000 characters in length.
I'm doing this in 1.3.1 and have tried a couple free/open source regex packages. As one might imagine, I get StackOverflowErrors very often in every package I've tried.
If this is such a problem with regular expressions, it seems someone would have created a Java regexp package that doesn't rely so heavily on recursion. (In fact people have, in other languages, I just haven't found one in Java).
Anyway, my first question is: is there a Java non-recursion-based regex package out there?
I know I can increase the stack size, but to what?! I build my regexs on the fly, and the data they operate on is also generated on the fly.
I think an OutOfMemoryError with a non-recursive implementation would be a lot less likely that a StackOverFlowError. ???
It's Saturday (as you can see) and it looks more and more like I may have to write/port a regex package that fits the bill. This is really a pain.
Another possibility is to use GNU Kawa (which implements proper tail recursion) to compile a Scheme regexp implementation into something I can use from Java. This seems really convoluted.
Any ideas?

Indeed, a 60,000 char regex is, to be blunt,
ridiculous. There has to be another approach to
whatever problem you are solving (is it biological in
nature, perchance?). It's pattern recongition of structures of objects.
My problem is that what I would REALLY like to do boils down to "regular expressions" over an 2-dimentional array of arbitrary objects, not characters.
As a completely inane example: 3 Strings who's length is between 7 and 19 that don't start with "foo" or "bar", followed by any number of objects implementing Runnable but not Comparable.
I started doing this from scratch, but I thought a faster way to get things done was to cheat.
So I created a system to translate the objects I'm interested in to a "compact" String representation, right now it's about 32 characters long. I can specify properties I'm looking for with this representation, or specify I don't care with '.' values in the fields I don't care about. So for example a lowercase e in a particular index represents non-editable, uppercase means editable, '.' means I don't care. Some field/properties require multiple characters to represent them.
Now the patterns I'm looking for are in a 2 dimensional array of objects.
When you start multiplying hundreds of objects by hundreds of objects by 32 characters per object ... You get a pretty big regex.
Another option I've started is custom, from scracth "Java Object Regular Expressions" or JOREs as I like to call them (I already started coding this and needed a package name).
(Does anything like this already exist? I haven't found it.)
Anyway, 60,000 is bordering on worst case scenarios. It could happen. 7000-ish is a more realistic average I'd expect, but it doesn't make worst cases go away.
It seems even in many smaller cases I get a StackOverflowError, but there are probably more nested .{,}[^]+* type things in those to make them more complex.

Similar Messages

  • What is the non-recursive stack based equivalent of this function?

    what is the non-recursive stack based equivalent of this function?
         static void _try (int n)
              int i; if (n==4) print(); else for (i=0; i<4; i++) if (is_free(i,n)) {
                   x[n] = i;
                   _try(n+1);
         }

    It goes infinite no output. Thanks though.
    public class CopyOfDamen { // x[i] = x coordinate of queen in row i.
         static int N = 4; static Stack stack = new Stack(); static int [] x = new int[8]; public static void main(String [] par) { _try(); }
         // prints field
         static void print ()
              int i,j;
              System.out.print ("+----------------+\n");
              for (i=0; i<8; i++) {
                   System.out.print ("|");
                   for (j=0; j<8; j++)
                        if (j==x) System.out.print ("<>"); else System.out.print (" ");
                   System.out.print ("|\n");
              System.out.print ("+----------------+\n\n");
         // tests, whether (ix, iy) is beaten by queens 0...(iy-1)
         static boolean is_free (int ix, int iy)
              int i;
              for (i=0; i<iy; i++)
                   if ((x[i]==ix) || (Math.abs(x[i]-ix)==Math.abs(i-iy))) return false;
              return true;
         // tries to place queen n on row n
         static void _try () {
              int i = 0, n = 0;
    call:
              for(;;) { // forever
                   if (n == N) {
                        print();
                   } else {
                        for (;i < N; i++) {
                             if (is_free(i,n)) {
                                  x[n] = i;
                                  System.out.print(x[n] + " ");
                                  n++;
                                  stack.push(i);
                                  i = 0;
                                  continue call; // call _try (but first save state and initiate new state)
                        } System.out.println();
                   // _try returns (check termination criterion and restore state)
                   n--;
                   if (n < 0) break; // terminate
                   i = stack.pop();
    } class Stack {
         int StackSize = 32, top = 0; int [] stack = new int[StackSize]; public Stack() {} void push(int x) { if (top < StackSize) stack[top++] = x; } int pop() { if (top >= 1) return stack[--top]; return -1; }

  • Invoice Posting using INVOIC02 Idoc for PO and Non-Po based invoices

    Hi All,
      We have a problem regarding posting Invoices using Idocs.
    We have po and non-po invoices coming frm thirdparty in the form of idoc files.
    We need a clarification whether Invoic02 idoc can handle both Po and Non Po Based invoices or threre are seperate idoc types or message types for Po and Non Po Invoices.
    Could any one give some inputs on Partner Profiles also for this senario.
    Please kindly reply as early as possible.
    Regards
    Anil Kumar K

    Hi
      I Got your name from this site.I would be very thankful if you can help me here.I am designing a EDI based invoice LIV.Is it possible to post some charges which are without PO reference but are coming in Vendor Invoices.Is it possible to post these kind of charges with EDI message INOIC01 or we have to post through FI posting.If possible through EDI in which segment of IDOC we will enter these charges with amt.Also is it possible to post credit memo also with EDI
    Thanks
    Sanjeev

  • Finding a non-recursive algorithm

    I had a project a year ago that was supposed to teach the class recursion. Already being familiar with the Java language, the project was simple.
    The project was, you ahve a "cleaning robot" which cleans an entire room and then returns to the spot it originally was. The room was inputed as a txt file. Everytime you moved to a spot it was automatically cleaned
    The Robot was given to you. The robot class hasthe following methods:
    void move(Direction)   - moves in the direction you gave it.
    boolean canMove(Direction)    -  returns true if the robot can move there without running into a wall
    boolean hasBeen(Direction) - returns true if the robot has cleaned the spot that is in that directionThe Direction class was given to you. It is an enumerated type with the Directions FORWARD, BACWARD, LEFT, RIGHT.
    now the Recursive algorithm is simple:
    private void clean(Direction c, Direction r)
                 move(c); //clean spot in direction
                 for(Direction d : Direction.values()) //go every direction
                      if(canMove(d) && !haveBeen(d)) clean(d,reverse(d));
                 move(r); //go back way we came
    private Direction reverse(Direction d)
                   switch(d)
                      case FORWARD:  d = Direction.BACKWARD; break;
                      case RIGHT:    d = Direction.LEFT;     break;
                      case BACKWARD: d = Direction.FORWARD;  break;
                      case LEFT:     d = Direction.RIGHT;    break;
                 return d;     
    public void start()
             clean(Direction.FORWARD, Direction.BACKWARD);
        }But I am curious how someone would go about implementing a NON recursive algorithm. I understand it would probably be around 2000 lines to implement it. I am not asking anyone to implement it, nor do I plan on it (well..I may one day if I am bored) I am only asking for mere curiosity how someone would go about implementing this non-recursively.
    I have thought about it and thought about it, and the only thing I come up with is recursion. What are your thoughts?

    then I think it'll work.Almost. Your algorithm is flawed in this section:
    move(c);
          // After everything else, come back.
           backtrace.push(reverse(c));What happens when c is the reverse direction? You add to the stack the reverse of the reverse. This means you will continually go back and forth in an infinite loop. I took what you started with and worked it into a working solution:
    private void cleanAll() {
              //imitate the call stack
              Stack<Stack<Direction>> call = new Stack<Stack<Direction>>();
              //holds all the reverse directions     
             Stack<Direction> backtrack = new Stack<Direction>();
             //starting stack
             Stack<Direction> start = new Stack<Direction>();
             //load the starting stack
             for (Direction d : Direction.values())
                  if(canMove(d) && !haveBeen(d))
                       start.push(d);
             call.push(start);
             while (!call.isEmpty()) {
                  Stack<Direction> s = call.pop();
                  while(!s.isEmpty()){
                       Direction c = s.pop();
                      move(c); //clean in this direction
                      backtrack.push(reverse(c)); //record the reverse
                      Stack<Direction> temp = new Stack<Direction>();
                      call.push(s); //stop the current path
                      //load the new stack
                      for (Direction d : Direction.values())
                         if (canMove(d) && !haveBeen(d))
                              temp.push(d);
                     if(!temp.isEmpty())   
                          s = temp; //make temp the current stack
             if(!backtrack.isEmpty())
                  move(backtrack.pop());// After everything else, come back.
        }The problem with your solution is that you use 1 stack for the entire process. In this case, it does not differentiate between moves, so it doesn't KNOW what is a reverse. You need to seperate the reverse directions and treat the different in the special case. In order to do that, you need to know WHEN to reverse. Well you reverse when you have completed a cleaning "path".
    My algorithm implements that "path" as another stack. And adds it to a stack of stacks. What this does is it allows me to know when to reverse. I pop off a stack from the call stack, and then after I am done with that stack I have to reverse, as shown in the code I posted.
    Thank you so much for enhancing my knowledge of Stacks. You have helped emensely. I will be sure to tell my professor that i implemented a iterative solution in about 50 lines of code (extremely lower than the 2000 he hypothosized)

  • Log file non-mac-based version of client? And CGBitmapContextGetData:invali

    I'm not sure if this is a security problem. I had to completely reset my airport yesterday and today re installed my remote back-up. My keychain is messing up. I don't know if these logs are normal or if something is amiss. My IP address before resetting it yesterday started with a 169 which means something ... please if someone can let me know if there is something i should do or if there are any questions i can answer. thank you.
    Jul 24 17:12:20 Macintosh com.apple.coreservicesd[47]: NOTE: Using non-mach-based version of client -> server communication, via direct function calls.
    Jul 24 17:12:20 Macintosh com.apple.coreservicesd[47]: NOTE: Using non-mach-based version of client -> server communication, via direct function calls.
    Jul 24 17:17:12 Macintosh com.apple.launchd[110] ([0x0-0x68068].com.apple.systempreferences[538]): Exited: Terminated
    Jul 24 17:17:12 Macintosh com.apple.coreservicesd[47]: NOTE: Using non-mach-based version of client -> server communication, via direct function calls.
    Jul 24 17:25:45: --- last message repeated 1 time ---
    Jul 24 17:25:45 Macintosh com.apple.coreservicesd[47]: NOTE: Using non-mach-based version of client -> server communication, via direct function calls.
    Jul 24 17:28:45: --- last message repeated 1 time ---
    Jul 24 17:28:45 Macintosh /usr/sbin/ocspd[676]: starting
    Jul 24 17:29:33 Macintosh com.apple.coreservicesd[47]: NOTE: Using non-mach-based version of client -> server communication, via direct function calls.
    Jul 24 17:29:37: --- last message repeated 1 time ---
    Jul 24 17:29:37 Macintosh Microsoft Word[679]: CGBitmapContextGetData: invalid context
    Jul 24 17:29:59: --- last message repeated 189 times ---
    Jul 24 17:29:59 Macintosh com.apple.coreservicesd[47]: NOTE: Using non-mach-based version of client -> server communication, via direct function calls.
    Jul 24 17:29:59: --- last message repeated 1 time ---
    Jul 24 17:29:59 Macintosh Microsoft Word[679]: CGBitmapContextGetData: invalid context
    Jul 24 17:30:02: --- last message repeated 204 times ---
    Jul 24 17:30:02 Macintosh com.apple.coreservicesd[47]: NOTE: Using non-mach-based version of client -> server communication, via direct function calls.
    Jul 24 17:30:02: --- last message repeated 1 time ---
    Jul 24 17:30:02 Macintosh Microsoft Word[679]: CGBitmapContextGetData: invalid context
    Jul 24 17:30:31: --- last message repeated 2355 times ---
    Jul 24 17:30:31 Macintosh Microsoft Word[679]: doClip: empty path.
    Jul 24 17:30:31 Macintosh Microsoft Word[679]: CGBitmapContextGetData: invalid context
    Jul 24 17:30:32: --- last message repeated 70 times ---
    Jul 24 17:30:31 Macintosh [0x0-0x84084].com.microsoft.Word[679]: Thu Jul 24 17:30:31 Macintosh.local Microsoft Word[679] <Error>: doClip: empty path.
    Jul 24 17:30:32 Macintosh Microsoft Word[679]: CGBitmapContextGetData: invalid context
    Jul 24 17:30:49: --- last message repeated 1066 times ---

    BAM! I had tried to disable my scheduled task, and it didn't seem to make a difference. I saw your reply and decided to just delete the scheduled task. My "6/29/09 10:46:39 AM com.apple.coreservicesd[74] NOTE: Using non-mach-based version of client -> server communication, via direct function calls." seem to be gone now.
    2 things: 1) My scheduled task was a "When the drive is connected" type
    2) I had originally "unchecked" this task, but when I went back in at a later date, it was checked. So either my user error, or somehow CCC re-enabled it.
    I was really getting sick of my log getting pummeled.

  • Update Excise base value in MRP based and Non-MRP based billing

    Hi Gurus,
    We need to update Excise Base Value for Statistical Condition type. How to configure the same ?
    Sl.No  Pricing Condition Type      Active   Statistical           Passed to Accounting        
    1        MRP Price (Statistical)                                                                               
    2        Abatement (Statistical)                                                                               
    3       Surcharge  (Active&Passed to Accounting)
    4      Assessabel value (Statistical)
    (No:4 This is the base for calculating Excise duties i.e Excise Base Value)
    5       List Price (Statistical)                                              
    6       Customer Discount(Statistical)                             
    7      Surcharge(Active&Passed to Accounting)                                                                 
    8      Net Price (Active&Passed to Accounting)                                                                     
    9      BED   (Active&Passed to Accounting)                                                                          
    10    ECess  (Active&Passed to Accounting)                                                                       
    11   SECess  (Active&Passed to Accounting)
    12   Total collected from Customer(Statistical)              
    Issue: When there is MRP Price higher than the List Price, then the Cutomer will be charged on the basis of Net Price only, but the duties amount to be paid to the government on MRP Price. so in this case I can not calculate Excise Duties on the Actual Net Price condition which is active and passed on to accounting. And always the Excise duties to be calculated on Assessable value(no:4). But that condition type if I make activate then it will pass to accounting and also getting added to the Net Value(KOMP-NETWR). How to come out of this situation.(as per the customer requirement both MRP based materials and non-MRP based materials are also considered in the same sale order i.e with the same pricing procedure).
    Becasue of this EXBAS is not getting updated in the J_1IEXCDTL.
    Gurus, Share your valuable experiences and suggestions.
    Thanks &Regards
    Sreekanth
    09611147585

    Dear Lakshmipathi,
    As per your suggestion, I have maintained Material Assessable Value and then also the duty values are calculating on the basis of Assessable value maintained in the Pricing Procedure. It is not taking the Material Assessable Value into consideration. And it is not getting updated the Excise Base Value.
    In which case Material Assessable value will be taken into consideration?
    How to update the Excise Base Value in J_1IEXCDTL tables?
    Thanks&Regards
    Sreekanth

  • PO Release Strategy - Only for non material based

    Experts,
    I have a requirement to implement a release strategy for a single plant for POs for NON material based purchases ( only for using account assignments, cost centers etc).
    The release strategy I configured is working only for the specific plant I want... However, it works whether its a material based PO or a non material based PO.
    How do i get the strategy to work for only the service based purchases, and not the material ones?

    Thanks for the replies but I'm not sure if they are applicable...
    I did create a characterstic for item categories and added the one's I wanted to have... I did NOT include a blank because i thought that would make the difference between the material based PO and non PO. When we I create Po with material (even with no account assignment) it still goes through release.
    Any reason why that is?
    I dont believe the material group solution will not work either because we require material group for material and non material based POs..
    Side note - when i try to use CEKKO with KTTNP, i get a "KTTNP does not exist error." So i used EKPO - KTTNP... hopefully thats ok, but please let me know if its not.
    Edited by: farmerj3 on Jan 30, 2012 3:36 PM
    Edited by: farmerj3 on Jan 30, 2012 3:39 PM
    Edited by: farmerj3 on Jan 30, 2012 3:48 PM

  • N-ary Trees non-recursive traversal algorithms

    Hi,
    Non-recursive traversals are needed when you are unsure how big the tree's will be. So far all the algorithms I have seen either use their own internal stack
    or threading to climb back up the tree.
    Here's my attempt that seems to work but I would value so critical evaluation
    * An extension of the CommonAST that records the line and column
    * number.  The idea was taken from <a target="_top"
    * href="http://www.jguru.com/jguru/faq/view.jsp?EID=62654">Java Guru
    * FAQ: How can I include line numbers in automatically generated
    * ASTs?</a>.
    * @author Oliver Burn
    * @author lkuehne
    * @version 1.0
    * @see <a target="_top" href="http://www.antlr.org/">ANTLR Website</a>
    public class DetailAST
        public AST getFirstChild()
        public AST getNextSibling()
        public int getChildCount()
        public DetailAST getParent()
        public int getChildCount(int aType)
        public String getText()
    }This was cut back just to give you enough info
         public static AST getLeftMostChild(DetailAST ast) {
              DetailAST tempAst = ast.getFirstChild();
              while (tempAst.getFirstChild() != null) {
                   tempAst = tempAst.getFirstChild();
              return tempAst;
         public static void traverseASTInOrder(DetailAST root) {
              DetailAST current = getLeftMostChild(ast);
              processNode(current);
              while (current != root) {
                   if (current == current.getParent().getFirstChild()) {
                        processNode(current.getParent());
                   if (current.getNextSibling() != null) {
                        DetailAST sibling = current.getNextSibling();
                        if (sibling.getChildCount() != 0) {
                             current = (DetailAST) getLeftMostChild(sibling);
                             processNode(current);
                        } else {
                             current = sibling;
                             processNode(current);
                   } else {
                        current = current.getParent();
            // do stuff at inorder traversal
         public static void processNode(AST current) {
              System.out.println(current.getText());
         }for pre-order and post-order John Cowan put forward this algorithm
    http://lists.xml.org/archives/xml-dev/199811/msg00050.html
    traverse(Node node) {
        Node currentNode = node;
        while (currentNode != null) {
          visit(currentNode); //pre order
          // Move down to first child
          Node nextNode = currentNode.getFirstChild();
          if (nextNode != null) {
            currentNode = nextNode;
            continue;
          // No child nodes, so walk tree
          while (currentNode != null) {
            revisit(currentNode)     // post order
            // Move to sibling if possible.
            nextNode = currentNode.getNextSibling();
            if (nextNode != null) {
              currentNode = nextNode;
              break;
           // Move up
           if (currentNode = node)
          currentNode = null;
           else
          currentNode = currentNode.getParentNode();
      }Any comments, criticisms or suggestions ?
    regards
    David Scurrah

    Stack is recursion? As far as I know recursion is when
    function (method) calls itself. Just using some
    Collection, which java.util.Stack implements is not
    recursion.
    Regards
    PawelStacks are used to implement recursive algorithms. What happens in most languages when you make a function call? Each function has an "activation record" where it stores its local variables and parameters. This activation record is usually allocated on a stack. Thus for any recursive algorithm, there is a non-recursive algorithm that uses a stack.
    In the OP's case you don't need a stack because of the peculiarities of tree traversal when you have a pointer to the parent node. (Namely, no cycles and you can get back to where you've been) So the algorithms he gave should work fine.
    My only "criticism" would be that it may be more useful to implement these algorithms with the iterator pattern. So you would have a tree with some functions like:
    public class Tree{
        public TreeIterator inOrderIteraror();
        public TreeIterator preOrderIterator();
    }Where the TreeIterator would look like a java.util.Iterator, except maybe you want some additional utility methods in there or something.
    Other than that, non-recursive algorithms are defnitely the way to go.

  • How to register non-wsdl based URL in OEG

    How do we register a non-wsdl based URL endpoint in OEG? We had no problem registering a simple WSDL based endpoint on an OEG server. However we cannot find documentation on how to secure/register a RESTful or JSON – URL based service (SOAP, XML over HTTP type service).
    Does this functionality exist? Or are there best practices on what to do with OEG for these types of services?
    Our use case looks like:
    Akamai - - > OEG - -> OSB (WSDL, RESTful, JSON type web services) - -> .Net service (WSDL, RESTful, JSON type web services)

    In case of REST and other non-WSDL type services, there is no SOAP/WSDL based web service like registration process, you'd use OEG as the proxy. You can receive REST based requests at OEG, retrieve parameters (there are convenience filters available for retrieval of attribute values and other types of REST related functions in OEG, as part of the Policy library, "Extract REST Request Attribute", "Validate REST filter", "Create REST Request" etc. - search for REST at the top using Policy Studio, drag it on to canvas and click help for docs on these filters) and do the routing to actual REST end point services. You have the option to receive and use the SOAP message as a basis of generation of the REST url.
    REST to SOAP - http://www.soatothecloud.com/2008/11/how-to-convert-from-rest-to-soap.html
    SOAP to REST - http://markoneill.sys-con.com/node/1989916
    On use with JSON: you can convert XML to JSON on the outbound side to serve mobile clients etc. using script based(standard XSLT) conversions at the gateway. Conversions to Java using google gson library is also an option.
    To register a REST service, simply map the path (e.g. "/MyRESTService") to the policy you're using to process the REST request.
    Let's say you want to simply route a REST request through OEG (e.g. - to OSB). You would create a policy (right-click on "Policies" and add it). Drag in a "Static Router" filter and place in it the hostname and port of the host you want to route to (e.g. - to OSB). Then right-click on it and choose "Set as start" so that it is the first thing which is processed for this REST request. Then drag in a "Connection" filter, and chain it (using a green arrow) after the Static Router filter. The "Connection" filter actually makes the connection to the backend host.
    Now, map the path (using "Add Relative Path") to the service so that if a REST request to "/MyRESTService" or "/MyRESTService/something" comes into OEG, it is routed on to the backend host.
    Deploy your policy (using F6 or the "deploy" button on the Policy Studio toolbar). Then send in your REST request.
    There is actually already a simple REST service setup on OEG, called "healthcheck". If you point a browser to http://<OEG_IP_ADDRESS:8080/healthcheck" then this is run.
    If the backend REST service returns JSON, the response JSON will simply be sent back through OEG.

  • Vendor code shall be editable for non-po based invoice

    hi,
    how to do Vendor code shall be editable for non-po based invoice.

    Hi Praveen,
    You cannot create a Invoice without reference to PO through MIRO,
    You can create a Invoice witout reference to PO throughj FB60 where you can enter the vendor of your choice.
    Cheers
    Chris

  • Control on non service based IV

    Good Day Gurus!
    We have POs with Item Cat D which are non service-based IV since we are not using service master/entry.
    During ammendment of service line, PO line item amount can be decreased since entry of negative value in service lines is allowed which makes PO line item amount in some cases, less than invoiced amount.
    Is there a standard functionality to control this or should it be addressed via business process(credit memo, etc.). Thanks!

    Hi,
    The Invoice is not the basis for the PO values to be updated; the                             
    system provides the flexibility of invoicing higher than the PO value.                         
    The invoices raised however can be seen in the PO. Currently there are                         
    no plans to change this functionality as it is a part of the core, any                         
    change here could affect existing functionality of other users.                                                                               
    For your particular case a possible way is to set up a 3 way match with                        
    the GR non evaluated flag checked. This way the actual value is                                
    validated and the system would not allow the value to be changed                         
    below the actual value.                                                                               
    The process followed for a 2 way match differs from that of a 3 way                            
    match. The 3 way match process updates the PO based on the GR document.                        
    The system does not take the invoice document to update the PO, as it is                       
    possible to create an invoice for any amount. Due to this the program                         
    is not designed update the actual value in the PO to reflect the                               
    expensed amount.                                                                               
    This design is a part of the standard; there are no plans to change this                       
    design. There is no possible solution to validate the 2                       
    way match process as the invoice cannot be the basis to update the PO.
    Please also refer the attached note 457511 regarding PO changes. 
    Regards,
    Edit

  • Session Facade and Access to a Non SQL Based Persistent Data Store

    Hi,
    We are currently using jDeveloper 10.1.3.5 and Oracle Application Server 10.1.3.5. We develop all our applications as Java portlets using Oracle PDK and they are exposed through Oracle Portal.
    In our environment, the persistent data is stored on a combination of an Oracle database and a non SQL based persistent data store.
    The way we access the non SQL persistent data store is by posting a URL and receiving an XML document back in response. This mechanism is used both for enquiry and update of the persistent store.
    We have to create a new XML schema for each entity that we need to access and there are software changes on both our environment (Java) and the non SQL based persistent data store.
    In an attempt to shorten development times we are looking to start using ADF faces and EJB3.
    We have downloaded the SRDemo tutorial and made it work but there are some challenges.
    1. The SRDemo seem to have a very minimal implementation of a business layer. From what I can see, it is essentially some straightforward wiring between database attributes and their viewable representation. Is there a demo/tutorial containing a bit more meat in the business layer that you are aware of?
    2. Given our non SQL based persistent data store, how would you go about implementing EJB3 for such scenario. Is it recommended at all? How would you go about integrating the rest of the application (business layer and representation layer) to data arriving from such source?
    3. SRDemo is not intended to be exposed as a portlet. Is there a tutorial that we can use incorporating JSR168, ADF Faces and EJB3 in the same application? I also understand that there is a JSF-JSR168 bridge available. Can you provide some pointers here? Where can we find it? Would we be able to use it in jDeveloper 10.1.3.5?
    Regards

    Matt,
    The only way to associate an "x-axis" with a signal in the Write Data VI would be to feed it waveforms, which are constrained to use time as the x-axis unit. There is really no way around this, so in my opinion, the best solution for you would be to use the "rows are channels" conversion and write the frequency and amplitude values to the file independently. Then when you read the file in DIAdem, take the two channels and build a graph out of them there.
    Regards,
    E. Sulzer
    Applications Engineer
    National Instruments
    E. Sulzer
    Applications Engineer
    National Instruments

  • Sun RPC - Java libraries (non XML based)

    We are looking at replacing and existing Proprietary (Distinct) RPC interface with a Sun RPC (non-xml based) version. I've seen mentioned somewhere about the sun.sunrpc.* package but can't find anything else about it.
    Something like rpcgen for java.
    Your help will be much appreciated.

    I think you mean RMI - Remote Method Invocation. No XML.

  • RPC (non-xml based) for java

    We are looking at replacing and existing Proprietary (Distinct) RPC interface with a Sun RPC (non-xml based) version. I've seen mentioned somewhere about the sun.sunrpc.* package but can't find anything else about it.
    Something like rpcgen for java.
    Your help will be much appreciated.

    I think you mean RMI - Remote Method Invocation. No XML.

  • Identity SSO API with non-web based appilcations

    hi,
    i can appreciate hwo this works with cookies etc for web based applications that use the api or one of the agents on apache etc.
    but how does it go with non web based java and say windows applications?
    can anyone point me to some docs?
    thanks

    I don't work for Sun but here are my thoughts
    1. Yes, if you don't want to use the AM SDK then the
    XML auth service is the way to go.
    2 & 3. dunno
    4. I think if you pass around the SSOToken ID
    generated by AM then any application can issue a SAML
    query to see if the session is still valid and get
    identity/auth attributes back
    5. I think SAML 2.0 supports authentication and
    single signoff
    6. If you are doing a lot of thick client apps you
    should use kerberos instead of AM web based
    Authentication. AM supports kerberos authentication,
    most modern browsers support SPEGNO for passing
    credentials to web server, AD supports Kerberos, and
    even Solaris 10 comes with a free KDC built into the
    OS. There is plenty of documentation around kerberos
    and the JDK out of the box supports GSS-API for
    Kerberos authenticationThank you for your feedback.
    We looked at the use of kerberos as well, but this is not really an option as we are dealing with fat clients installed on desktops of clients. So these desktops do not fall within our span control (multiple domain controllers etc.).
    Regards,
    Thomas

Maybe you are looking for

  • JPG exported from Photoshop looks different in Dreamweaver

    Hello everyone. I've checked the FAQ section on this forum, and I read the "Save For Web" posting, but that doesn't seem to have answered my question. When I "Save For Web" in Photoshop, and import the resulting photo into Dreamweaver - which is supp

  • Error when editing a Web Template

    Hi, I have a Web Template created in BW 3.5, When I edit the template in web application designer  and run it in browser it gives some junk.  Is there any other way by which I can edit the template. Thanks. Edited by: SAPBILearner on Apr 15, 2010 10:

  • BAPI for Ordered Quantity updation for PO after PO line item cancellation

    Dear Experts,         I am trying to cancel a line item in ME22N for a particular Purchase Order. When I cancel an item, the ordered quantity is updated in the Status Tab for Header Details. I want to know how is this quantity getting updated and whi

  • Making Marketing Calendar Read only for Trade Promotion

    Hi, We are trying to use Marketing Calendar in CRM 7.0 to view the trade promotions.  But the client wants the Marketting Calendar to be read only view.  The end users should not be able to drag the TPs to extend the date. Also they should not be abl

  • Migration Assistant is not working (pc to iMac

    I just purchased an iMac and want to move my photos and iTunes library onto it.  My pc is an XP (pentium iv) and is on its last leg.  The device is current with Microsoft updates.  Both devices are on the same wireless network.  The pc does not respo