Help with building a database portlet (reference_path) issues

I'm attempting to create a Provider Portlet based on the Database Provider example. The goal of the portlet is to
dynamically display a Portal Report based upon a session storage variable. The session storage variable is set in another portlet on the same page. My portlet is named DYNAMIC_RPT.
I'm able to display the report from within my database portlet by calling the report's .show procedure.
But, my problem is this: The reference_path is generated for my database portlet, for example 131_DYNAMIC_RPT_123123, so when I click the NEXT button on the report, the page is refreshed but the report is still on page 1.
I think the problem is that my portlet needs to internally determine what the reference_path SHOULD BE for the report I'm trying to display, and use it in the associated provider API's.
If I could call the API which is generating the reference_path I could then pass an appropriate reference_path. I would need to be able to dynamically regenerate the reference_path when ever the session variable changes. Is this possible ?
Also, when I'm building the p_arg_names, and p_arg_values whould I ONLY extract the argument(parms) which are associated with the p_reference_path of the portlet report currenttly being displayed ?
Also is there a session storage variable which contains the current PAGE ID and TAB ID. I'm extracting it form the PAGE_URL but it's very messy code.
Thanks in advance for your help !!

Hi,
you can do what you want with LiveCycle, and it might help you to look at this reference as it shows how to work with data ( it does depend how your data is stored)
http://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=000006.htmlhttp://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=000006.html
If you data does not change very often then I would recommend just using an XML file to store the data and then use thebinding ability with possible some JavaScript to create the solution you would like.
Hope this helps
Malcolm

Similar Messages

  • Help with build

    Hi all,
    I need a little help with building a new comp and any help will be appericiated.
    My wife is a video editor and she needs a new CPU.
    She is editing HD films from various cameras (she have several clients).
    The budget is around 1500-2000$ for the CPU without screens and software which she already owns.
    She is working with CS5.5 and using windows 7 pro 64bit.
    I read quite a lot in the past few days and I ended up more confused then I was, this is the setup which I thought of:
    CPU:       I was thinking about the i7 960 3.2 (310$) or the i7 2600k (330$).
    MB:         Asus p6x8D 1366 ddr 1600
    Graphics: Gigabyte nVidia GTX460 1gb gddr5 (210$) or gtx560(230$) the 570 is way off the budget (440$)
    BLURAY: Pioneer BDR-206
    RAM:      I don't know really.. I was thinking about 12gb but I am cluless about it.
    Power:     AX 850W Gold Active PFC 12cm Fan Modular (No particular reason, when I'll know my final setup I'll check the power I need with http://www.extreme.outervision.com/psucalculatorlite.jsp).
    Case:      Antec / Thermaltake, No idea which model..
    OS HDD: I'm still puzzled weather to go for the small (60gb) ssd for the OS and programs or go for a 7200 rpm hd.
    HDD:       W.D Caviar black 1tb 7200 rpm, 64mb, Sata III * 4 with raid on board (Raid 0 or Raid 5?  - I'll save it for another thread).
    Coolers:   Help needed
    Any help will be more then welcomed.
    Regards,
    Eliran.

    While waiting for a specific answer, you might read these recent discussions
    http://forums.adobe.com/thread/910208
    http://forums.adobe.com/thread/907698
    http://forums.adobe.com/thread/762381
    http://forums.adobe.com/thread/906848
    http://forums.adobe.com/thread/912120
    http://forums.adobe.com/thread/912119
    And one specific... SSD is high $$ and there is a thread concerning problems... forum search for ssd will find at least 2 message threads about using ssd or not

  • Need help with premiere pro cs6 having performance issues please help

    need help with premiere pro cs6 having performance issues please help

    Welcome to the forum.
    First thing that I would do would be to look at this Adobe KB Article to see if it helps.
    Next, I would try the tips in this ARTICLE.
    If that does not help, a Repair Install would definitely be in order.
    Good luck,
    Hunt

  • Help with building flash files for streaming

    I filmed a product demonstration for a client who wanted to put it on his website.  I edited the footage in PremPro CS4 and exported to Media Encoder as F4V file format.  After encoding imported footage into CS4 Encore, created timeline, chose, Flash from Format and swf for output.  Progressive Download which allows video to begin playing as it is downloaded (I believe), chose destinations and settings.  After transcoding I had 1 file folder, Sources that contained the following files _PGC_Bpge_entryPoint_Bbp_1.f4v, and then 3 separate files, *not* in the file folder called Sources.  They are
    AuthoredContent.xml, FlashDVD.swf, and Index.html.
    I submitted all files to client who gave them to web designer.  Designer said these were the wrong files and he could not use them. I called designer and basically he said I didn't know what I was doing.  I told him he needed all files to put up the flash video.  Anyway, am I missing something, doing something wrong?  Are there other files he needs?  He said he only needed 1 file.  Or is it the designer?  I'm not thin skinned so if it's me please tell me so, so I don't make the same errors.  Thanks.  All suggestions/comments are appreciated!

    <The client wants a control player, i.e. play, stop, pause, etc., that's it, so the viewer can simply provide the function themselves.  This is similar to youtube, blogger, etc.
    The web designer can use what you provided, which does what you describe the client wanting.  But the web designer may need to integrate what Encore provided onto a web page, and the client may not have made the expectations clear and may not know what is needed.  As I said, the Encore to flash player gives almost no options for the player controls and colors etc may be problems.
    <Encore did encode the f4v file.  When I exported from PremPro what preset should I hve chosen -- mpeg2 DVD, flv/f4v.  So the only file he needs in addition to what I gave him is the original f4v file?
    I don't know whether the f4v you exported from Premiere was progressive.  The f4v from Encore might be fine, or you might need to export from Premiere again.
    The other issue is that some "player" with controls needs to be provided by you or the web designer (who may have an issue with the client not getting the designer to lay all this out to begin with).  There are several threads about "flv players" you might check out.  Does the client have video on his site already?  If so, you can figure out what they are using, and it will help with your process.
    should I have chosen "flash server" instead of "progressive".  i must admit i never did this before.  other clients just have me post it to youtube and provide them with embed code.
    It depends on what they want.

  • Help with build in cam

    i have msi pc with build in cam
    i dont remembar wath the taip m series somthing i have cure 2 duo cpu t5750 2 gb ram 320 gb
    giforce 8400
    now i dont find any driver for the cam and the pc dos'nt know the cam....
    i run vista 32bit
    any one can halp me pleas!!!:(:(:(

    You have some notebook or? Read >>Posting Guide<<

  • Help with structuring SQL databases for multiple photo galleries..help!?!

    Hello all,
    As a new PHP/SQL developer I have found great technical assistance from both this forum and from David Powers and his wonderful books. I am at a crucial point in my web development and although I believe I know which direction I need to go, I am still uncertain and so I appeal to you all for your help, especially David Powers.
    The website I am building is one which will house many photo galleries. I was able to successfully modify the code provided in David Powers’ book ‘php Solutions’ so that I got the photo galleries constructed and working in the manner I desired.
    That being said, a person browsing my website will be presented with a link to see the photo galleries. There will be five (5) categories in which the photos will be separated, all based on specific styles. Now that I have the galleries working, I need to know how to structure things so that I can create a page, like a TOC (table o’ contents) that shows all photo galleries by displaying a thumbnail image or two along with the description. Perhaps I’ll limit the TOC page to only show the latest 25 galleries, arranged with the most current always on top.
    The way I have my galleries set up, I have a separate database for each one, containing the photo filenames and other relevant data. To build my TOC structure, should I have an overall database that contains each gallery database filename along with category? This is where I have no idea what I’m doing so if my question sounds vague, please understand I have no other idea how to ask.
    The site will grow to the point of having hundreds, if not thousands of photo galleries. I simply want to know how to (organize them) or otherwise allow me to build a method to display them in a TOC page or pages.
    I know this is a bit dodgy, but with some info and questions back from you, I feel confident that I should be able to get my point across.
    Lastly, I am still developing this site locally, so I have no links to provide (though I feel that shouldn’t be necessary right now).
    Many sincere thanks to you all in advance,
    wordman

    bregent,
    I'm chewing this over in my head, reading up on DB's in 'phpSolutions' and I think that things are slowly materializing.
    Here is the structure of the website that I have planned:
    MAIN PAGE
    User is presented with a link on the main page to select photo galleries (other links are also present). Clicking the link takes them to the Category Page.
    CATEGORY PAGE
    On this page, the User will then have 5 choices based on categories (photo style). CLicking any of these 5 links will take them to respective TOC pages.
    TOC PAGE
    On this page, the user is greeted with a vertical list of galleries or photosets; one to three thumbs on the left, a small block of descriptive text on the right (ideally containing date/time info to show how recent the gallery is). Newest galleries appear at the top. Eventually, when there are tens or hundreds of galleries in any given catrgory, I'll need to adopt a method for breaking up the qualntity in groups (we can pick 20 for example) that can be scrolled through using a small navbar. This will keep the TOC Pages from getting endlessly long and avoid endless scrolling. User selects a gallery on this page to view.
    THUMBNAIL PAGE
    On choosing a gallery, a thumbnail page is generated (I have this working already)
    IMAGE PAGE
    On selecting any thumbnail in the grid, the user is taken to the full-sized photo with a navbar and photo counter at the top. Navlinks allow forward and back, a link to the first image, a link to the last image and one link back to the thumbnail page. (I have this working already).
    I provide this info in an effort to help understand the basic structure of my site. The description above is as close to a step-by-step illustration as possible.
    Thank you!
    Sincerely,
    wordman

  • Help with building dynamic website using tutorial (was: I know this is a repost but I'm still stuck!)

    Perhaps this was missed by the group but here goes:
    I am slogging thru a dynamic PHP tutorial but  I cant continue without losing some understanding of the process due to ?
    I am trying to complete the following:
    Building your first dynamic website – Part 2: Developing the back end
    However,
    my Insert record form dialog (below) looks like this, and I need to change both 'title' and 'blog_entry' values (as shown above), but I cannot make that choice in my form.
    I am using DW CC with the Deprecated Server Behavior from DMX zone.
    I have made sure my results match the tutorial, but I cant get past the above inconsistency in functionality.
    Any help would be appreciated.
    Thanks folks!

    The Columns area indicates which form field is used to insert a value in each column. Although the post_id and updated columns are listed as getting no value, their values are generated automatically by the database.
    Check that the title and blog_entry columns are being assigned the correct values. If either is marked as getting no value, it means that you have spelled the names of the form fields differently from the column names. Correct this by selecting the column name in the Columns area and selecting the form field's name from the Value pop-up menu.
    Nancy O.

  • Need serious help with JSP + JDBC/Database connection

    Hey all,
    I have to build an assignment using JSP pages. I am still pretty new and only learning through trial and error. I understand a bit now, and I have managed to get a bit done for it.
    I am having the most trouble with a Login Screen. The requirements are that the a form in a webpage has Username/Number and Password, the user clicks Login, and thats about it. The values for the username/number and password NEED to come from the database and I cannot manage to do this. The thing I have done is basically hardcode the values into the SQL statement in the .jsp file. This works, but only for that one user.
    I need it so it checks the username/number and password entered by the user, checks the database to see if they are in it, and if so, give access. I seriously am stuck and have no idea on what to do.
    I dont even know if I have made these JSP pages correct for starters, I can send them out if someone is willing to look/help.
    I have setup 3 other forms required for the assignment and they are reading data from the db and displaying within tables, I need to do this with non-hardcoded values aswell. Im pretty sure I need to use for example 'SELECT .... FROM .... WHERE username= +usrnm' (a variable instead of username="john" , this is hardcoded), I just CANNOT figure out how to go about it.
    Its hard to explain through here so I hope I gave enough info. A friend of mine gave some psuedocode i should use to make it, it seems ok to follow, its just I do not know enough to do it. He suggested:
    get the username and pass from the env vars
    open the db
    make an sql (eg SELECT user, pass FROM users WHERE user = envuser)
    index.jsp points to login.jsp
    login.jsp get the vars you put into index.jsp
    opened the db
    is the query returns nothing - then the user is wrong
    OR if the passwords dont match
    - redirect back to index.jsp
    if it does match
    - set up a session
    - redirect to mainmenu.jsp
    Anyway, thanks for any help you can give.
    -Aaron

    Hi,
    Try this... it may help you...
    mainMenu.jsp
    <html>
    <body>
    <form method="POST" action="login.jsp">
    Username: <input type="text" name="cust_no">
    <p>
    Password: <input type="password" name="password">
    <p>
    <input type="submit" value="LOGIN">
    </form>
    </body>
    </html>
    login.jsp
    <%@ page import="java.io.*, java.sql.*"%>
    <html>
    <body>
    <%
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection connection = DriverManager.getConnection("jdbc:odbc:rocky");
    Statement statement = connection.createStatement();
    String query = "SELECT cust_no, password FROM customers WHERE cust_no='";
    query += request.getParameter("cust_no") + "' AND password='";
    query += request.getParameter("password") + "';";
    ResultSet resSum = statement.executeQuery(query);
    if (request.getParameter("cust_no").equalsIgnoreCase(resSum.getString("cust_no") && request.getParameter("password").equalsIgnoreCase(resSum.getString("password"))
    %>
    <h2>You are logged in!</h2>
    <%
    else
    %>
    <h2>You better check your username and password!</h2>
    <%
    }catch (ClassNotFoundException cnfe){
    System.err.println(cnfe);
    }catch (SQLException ex ){
    System.err.println( ex);
    }catch (Exception er){
    er.printStackTrace();
    %>
    </body>
    </html>
    I didn't check the code that I wrote. So you may have to fix some part of it. Also this may not be the best solution, but it will help you to understand the process easily.
    The more efficient method is to check whether the result set returned from the database is null or not.... I hope you got the idea... Good luck!
    Rajesh

  • Help with creating a database instance and populating it

    the project given to me is to create a database and populate it in berkeley DB. use that as the backend to the Oracle Business Intelligence tool and run some tests.
    with other databases like oracle, sybase and teradata, there were user interfaces both GUI and CLI to create a database. they provides sql interfaces for DDL/DML execution to create objects and populate them. basically these utilities helped me do my project successfully. but in berkeley DB i find very minimal utilities and they dont correspond to those provided by other databases.
    is there an interface in berkeley db for sql execution
    in general how do i create database and populate data in berkeley db
    thanks
    [email protected]

    Hi Prasanna,
    is there an interface in berkeley db for sql executionNo, Berkeley DB does not provide an SQL interface. It is a library that can be used to store and retrieve key/data pairs in a database. The Berkeley DB reference guide is a good place to look if you want to get an overview of Berkeley DB functionality:
    http://www.oracle.com/technology/documentation/berkeley-db/db/ref/toc.html
    in general how do i create database and populate data in Berkeley db You generally need to write code to do that. There are a number of programming language bindings provided for Berkeley DB, including a Perl binding. So you can write your testing code in the Perl scripting language if that suits you.
    If you intend to measure performance I would recommend using the C or C++ APIs to build your application. The best way to become familiar with using Berkeley DB is with the Getting started guides found here:
    http://www.oracle.com/technology/documentation/berkeley-db/db/index.html
    Or by familiarizing yourself with the example applications that are shipped with the source distribution.
    Regards,
    Alex

  • Help with building a JTree using tree node and node renderers

    Hi,
    I am having a few problems with JTree's. basically I want to build JTree from a web spider. The webspide searches a website checking links and stores the current url that is being processed as a string in the variable msg. I wan to use this variable to build a JTree in a new class and then add it to my GUI. I have created a tree node class and a renderer node class, these classes are built fine. can someone point me in the direction for actually using these to build my tree in a seperate class and then displaying it in a GUI class?
    *nodeRenderer.java
    import javax.swing.*;
    import javax.swing.tree.*;
    import java.awt.*;
    import java.net.*;
    public class nodeRenderer extends DefaultTreeCellRenderer
                                       implements TreeCellRenderer
    public static Icon icon= null;
    public nodeRenderer() {
    icon = new ImageIcon(getClass().getResource("icon.gif"));
    public Component getTreeCellRendererComponent(
    JTree tree,
    Object value,
    boolean sel,
    boolean expanded,
    boolean leaf,
    int row,
    boolean hasFocus) {
    super.getTreeCellRendererComponent(
    tree, value, sel,
    expanded, leaf, row,
    hasFocus);
    treeNode node = (treeNode)(((DefaultMutableTreeNode)value).getUserObject());
    if(icon != null) // set a custom icon
    setOpenIcon(icon);
    setClosedIcon(icon);
    setLeafIcon(icon);
         return this;
    *treeNode.java
    *this is the class to represent a node
    import javax.swing.*;
    import javax.swing.tree.*;
    import java.util.*;
    import java.net.*;
    * Class used to hold information about a web site that has
    * been searched by the spider class
    public class treeNode
    *Url from the WebSpiderController Class
    *that is currently being processed
    public String msg;
    treeNode(String urlText)
         msg = urlText;
    String getUrlText()
         return msg;
    //gui.java
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import java.net.*;
    import java.io.*;
    import java.util.*;
    public class gui extends JFrame implements Runnable
         *declare variable, boolean
         *thread, a object and a center
         *pane
         protected URL urlInput;
         protected Thread bgThread;
         protected boolean run = false;
         protected WebSpider webSpider;
         public gui()
              *create the gui here
              setTitle("Testing Tool");
         setSize(600,600);
         //add Buttons to the tool bar
         start.setText("Start");
         start.setActionCommand("Start");
         toolBar.add(start);
         ButtonListener startListener = new ButtonListener();
              start.addActionListener(startListener);
              cancel.setText("Cancel");
         cancel.setActionCommand("Cancel");
         toolBar.add(cancel);
         ButtonListener cancelListener = new ButtonListener();
              cancel.addActionListener(cancelListener);
              close.setText("Close");
         close.setActionCommand("Close");
         toolBar.add(close);
         ButtonListener closeListener = new ButtonListener();
              close.addActionListener(closeListener);
              //creat a simple form
              urlLabel.setText("Enter URL:");
              urlLabel.setBounds(100,36,288,24);
              formTab.add(urlLabel);
              url.setBounds(170,36,288,24);
              formTab.add(url);
              current.setText("Currently Processing: ");
              current.setBounds(100,80,288,24);
              formTab.add(current);
         //add scroll bars to the error messages screen and website structure
         errorPane.setAutoscrolls(true);
         errorPane.setHorizontalScrollBarPolicy(javax.swing.
         ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
         errorPane.setVerticalScrollBarPolicy(javax.swing.
         ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
         errorPane.setOpaque(true);
         errorTab.add(errorPane);
         errorPane.setBounds(0,0,580,490);
         errorText.setEditable(false);
         errorPane.getViewport().add(errorText);
         errorText.setBounds(0,0,600,550);
         treePane.setAutoscrolls(true);
         treePane.setHorizontalScrollBarPolicy(javax.swing.
         ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
         treePane.setVerticalScrollBarPolicy(javax.swing.
         ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
         treePane.setOpaque(true);
         treeTab.add(treePane);
         treePane.setBounds(0,0,580,490);
         treeText.setEditable(false);
         treePane.getViewport().add(treeText);
         treeText.setBounds(0,0,600,550);
         //create the tabbed window           
    centerPane.setBorder(new javax.swing.border.EtchedBorder());
    formTab.setLayout(null);
    errorTab.setLayout(null);
    treeTab.setLayout(null);
    centerPane.addTab("Search Parameters", formTab);
    centerPane.addTab("Error Messages", errorTab);
    centerPane.addTab("Website Structure", treeTab);
              //add the tool bar and tabbed pane
              getContentPane().add(toolBar, java.awt.BorderLayout.NORTH);
    getContentPane().add(centerPane, java.awt.BorderLayout.CENTER);                    
              *create the tool bar pane, a center pane, add the buttons,
              *labels, tabs, a text field for user input here
              javax.swing.JPanel toolBar = new javax.swing.JPanel();
              javax.swing.JButton start = new javax.swing.JButton();
              javax.swing.JButton cancel = new javax.swing.JButton();
              javax.swing.JButton close = new javax.swing.JButton();      
              javax.swing.JTabbedPane centerPane = new javax.swing.JTabbedPane();
              javax.swing.JPanel formTab = new javax.swing.JPanel();
              javax.swing.JLabel urlLabel = new javax.swing.JLabel();
              javax.swing.JLabel current = new javax.swing.JLabel();
              javax.swing.JTextField url = new javax.swing.JTextField();
              javax.swing.JPanel errorTab = new javax.swing.JPanel();
              javax.swing.JTextArea errorText = new javax.swing.JTextArea();
              javax.swing.JScrollPane errorPane = new javax.swing.JScrollPane();
              javax.swing.JPanel treeTab = new javax.swing.JPanel();
              javax.swing.JTextArea treeText = new javax.swing.JTextArea();
              javax.swing.JScrollPane treePane = new javax.swing.JScrollPane();
              javax.swing.JTree searchTree = new javax.swing.JTree();
              *show the gui
              public static void main(String args[])
              (new gui()).setVisible(true);
         *listen for the button presses and set the
         *boolean flag depending on which button is pressed
         class ButtonListener implements ActionListener
              public void actionPerformed(ActionEvent event)
                   Object object = event.getSource();
                   if (object == start)
                        run = true;
                        startActionPerformed(event);
                   if (object == cancel)
                        run = false;
                        startActionPerformed(event);
                   if (object == close)
                        System.exit(0);
         *this method is called when the start or
         *cancel button is pressed.
         void startActionPerformed (ActionEvent event)
              if (run == true && bgThread == null)
                   bgThread = new Thread(this);
                   bgThread.start();
              if (run == false && bgThread != null)
                   webSpider.cancel();
         *this mehtod will start the background thred.
         *the background thread is required so that the
         *GUI is still displayed
         public void run()
              try
                   webSpider = new WebSpider(this);
                   webSpider.clear();
                   urlInput = new URL(url.getText());
                   webSpider.addURL(urlInput);
                   webSpider.run();
                   bgThread=null;
              catch (MalformedURLException e)
                   addressError addErr = new addressError();
                   addErr.addMsg = "URL ERROR - PLEASE CHECK";
                   SwingUtilities.invokeLater(addErr);
              *this method is called by the web spider
              *once a url is found. Validation of navigation
              *happens here.
              public boolean urlFound(URL urlInput,URL url)
                   CurrentlyProcessing pro = new CurrentlyProcessing();
              pro.msg = url.toString();
              SwingUtilities.invokeLater(pro);
              if (!testLink(url))
                        navigationError navErr = new navigationError();
                        navErr.navMsg = "Broken Link "+url+" caused on "+urlInput+"\n";
                        return false;
              if (!url.getHost().equalsIgnoreCase(urlInput.getHost()))
                   return false;
              else
                   return true;
              *this method is called internally to check
         *that a link works
              protected boolean testLink(URL url)
              try
                   URLConnection connection = url.openConnection();
                   connection.connect();
                   return true;
              catch (IOException e)
                   return false;
         *this method is called when an error is
         *found.
              public void URLError(URL url)
              *this method is called when an email
              *address is found
              public void emailFound(String email)
              /*this method will update any errors found inc
              *address errors and broken links
              class addressError implements Runnable
                   public String addMsg;
                   public void run()
                        errorText.append(addMsg);
                        current.setText("Currently Processing: "+ addMsg);
              class navigationError implements Runnable
                   public String navMsg;
                   public void run()
                        errorText.append(navMsg);
              *this method will update the currently
              *processing field on the GUI
              class CurrentlyProcessing implements Runnable
              public String msg;
              public void run()
                   current.setText("Currently Processing: " + msg );
    //webspider.java
    import java.util.*;
    import java.net.*;
    import java.io.*;
    import javax.swing.text.*;
    import javax.swing.text.html.*;
    import javax.swing.tree.*;
    import javax.swing.*;
    *this class implements the spider.
    public class WebSpider extends HTMLEditorKit
         *make a collection of the URL's
         protected Collection urlErrors = new ArrayList(3);
         protected Collection urlsWaiting = new ArrayList(3);
         protected Collection urlsProcessed = new ArrayList(3);
         //report URL's to this class
         protected gui report;
         *this flag will indicate whether the process
         *is to be cancelled
         protected boolean cancel = false;
         *The constructor
         *report the urls to the wui class
         public WebSpider(gui report)
         this.report = report;
         *get the urls from the above declared
         *collections
         public Collection getUrlErrors()
         return urlErrors;
         public Collection getUrlsWaiting()
         return urlsWaiting;
         public Collection getUrlsProcessed()
         return urlsProcessed;
         * Clear all of the collections.
         public void clear()
         getUrlErrors().clear();
         getUrlsWaiting().clear();
         getUrlsProcessed().clear();
         *Set a flag that will cause the begin
         *method to return before it is done.
         public void cancel()
         cancel = true;
         *add the entered url for porcessing
         public void addURL(URL url)
         if (getUrlsWaiting().contains(url))
              return;
         if (getUrlErrors().contains(url))
              return;
         if (getUrlsProcessed().contains(url))
              return;
         /*WRITE TO LOG FILE*/
         log("Adding to workload: " + url );
         getUrlsWaiting().add(url);
         *process a url
         public void processURL(URL url)
         try
              /*WRITE TO LOGFILE*/
              log("Processing: " + url );
              // get the URL's contents
              URLConnection connection = url.openConnection();
              if ((connection.getContentType()!=null) &&
         !connection.getContentType().toLowerCase().startsWith("text/"))
              getUrlsWaiting().remove(url);
              getUrlsProcessed().add(url);
              log("Not processing because content type is: " +
         connection.getContentType() );
                   return;
         // read the URL
         InputStream is = connection.getInputStream();
         Reader r = new InputStreamReader(is);
         // parse the URL
         HTMLEditorKit.Parser parse = new HTMLParse().getParser();
         parse.parse(r,new Parser(url),true);
    catch (IOException e)
         getUrlsWaiting().remove(url);
         getUrlErrors().add(url);
         log("Error: " + url );
         report.URLError(url);
         return;
    // mark URL as complete
    getUrlsWaiting().remove(url);
    getUrlsProcessed().add(url);
    log("Complete: " + url );
    *start the spider
    public void run()
    cancel = false;
    while (!getUrlsWaiting().isEmpty() && !cancel)
         Object list[] = getUrlsWaiting().toArray();
         for (int i=0;(i<list.length)&&!cancel;i++)
         processURL((URL)list);
    * A HTML parser callback used by this class to detect links
    protected class Parser extends HTMLEditorKit.ParserCallback
    protected URL urlInput;
    public Parser(URL urlInput)
    this.urlInput = urlInput;
    public void handleSimpleTag(HTML.Tag t,MutableAttributeSet a,int pos)
    String href = (String)a.getAttribute(HTML.Attribute.HREF);
    if((href==null) && (t==HTML.Tag.FRAME))
    href = (String)a.getAttribute(HTML.Attribute.SRC);
    if (href==null)
    return;
    int i = href.indexOf('#');
    if (i!=-1)
    href = href.substring(0,i);
    if (href.toLowerCase().startsWith("mailto:"))
    report.emailFound(href);
    return;
    handleLink(urlInput,href);
    public void handleStartTag(HTML.Tag t,MutableAttributeSet a,int pos)
    handleSimpleTag(t,a,pos); // handle the same way
    protected void handleLink(URL urlInput,String str)
    try
         URL url = new URL(urlInput,str);
    if (report.urlFound(urlInput,url))
    addURL(url);
    catch (MalformedURLException e)
    log("Found malformed URL: " + str);
    *log the information of the spider
    public void log(String entry)
    System.out.println( (new Date()) + ":" + entry );
    I have a seperate class for parseing the HTML. Any help would be greatly appreciated
    mrv

    Hi Sorry to be a pain again,
    I have re worked the gui class so it looks like this now:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.event.*;
    import java.net.*;
    import java.io.*;
    import java.util.*;
    public class gui extends JFrame implements Runnable
         *declare variable, boolean
         *thread, a object and a center
         *pane
         protected URL urlInput;
         protected Thread bgThread;
         protected boolean run = false;
         protected WebSpider webSpider;
         public String msgInfo;
         public String brokenUrl;
         public String goodUrl;
         public String deadUrl;
         protected DefaultMutableTreeNode rootNode;
    protected DefaultTreeModel treeModel;
         public gui()
              *create the gui here
              setTitle("Testing Tool");
         setSize(600,600);
         //add Buttons to the tool bar
         start.setText("Start");
         start.setActionCommand("Start");
         toolBar.add(start);
         ButtonListener startListener = new ButtonListener();
              start.addActionListener(startListener);
              cancel.setText("Cancel");
         cancel.setActionCommand("Cancel");
         toolBar.add(cancel);
         ButtonListener cancelListener = new ButtonListener();
              cancel.addActionListener(cancelListener);
              close.setText("Close");
         close.setActionCommand("Close");
         toolBar.add(close);
         ButtonListener closeListener = new ButtonListener();
              close.addActionListener(closeListener);
              //creat a simple form
              urlLabel.setText("Enter URL:");
              urlLabel.setBounds(100,36,288,24);
              formTab.add(urlLabel);
              url.setBounds(170,36,288,24);
              formTab.add(url);
              current.setText("Currently Processing: ");
              current.setBounds(100,80,288,24);
              formTab.add(current);
         //add scroll bars to the error messages screen and website structure
         errorPane.setAutoscrolls(true);
         errorPane.setHorizontalScrollBarPolicy(javax.swing.
         ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
         errorPane.setVerticalScrollBarPolicy(javax.swing.
         ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
         errorPane.setOpaque(true);
         errorTab.add(errorPane);
         errorPane.setBounds(0,0,580,490);
         errorText.setEditable(false);
         errorPane.getViewport().add(errorText);
         errorText.setBounds(0,0,600,550);
         treePane.setAutoscrolls(true);
         treePane.setHorizontalScrollBarPolicy(javax.swing.
         ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
         treePane.setVerticalScrollBarPolicy(javax.swing.
         ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
         treePane.setOpaque(true);
         treeTab.add(treePane);
         treePane.setBounds(0,0,580,490);
         treeText.setEditable(false);
         treePane.getViewport().add(treeText);
         treeText.setBounds(0,0,600,550);
         //JTree
         // NEW CODE
         rootNode = new DefaultMutableTreeNode("Root Node");
         treeModel = new DefaultTreeModel(rootNode);
         treeModel.addTreeModelListener(new MyTreeModelListener());
         tree = new JTree(treeModel);
         tree.setEditable(true);
         tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    tree.setShowsRootHandles(true);
         treeText.add(tree);
         //create the tabbed window           
    centerPane.setBorder(new javax.swing.border.EtchedBorder());
    formTab.setLayout(null);
    errorTab.setLayout(null);
    treeTab.setLayout(null);
    centerPane.addTab("Search Parameters", formTab);
    centerPane.addTab("Error Messages", errorTab);
    centerPane.addTab("Website Structure", treeTab);
              //add the tool bar and tabbed pane
              getContentPane().add(toolBar, java.awt.BorderLayout.NORTH);
    getContentPane().add(centerPane, java.awt.BorderLayout.CENTER);     
              *create the tool bar pane, a center pane, add the buttons,
              *labels, tabs, a text field for user input here
              javax.swing.JPanel toolBar = new javax.swing.JPanel();
              javax.swing.JButton start = new javax.swing.JButton();
              javax.swing.JButton cancel = new javax.swing.JButton();
              javax.swing.JButton close = new javax.swing.JButton();      
              javax.swing.JTabbedPane centerPane = new javax.swing.JTabbedPane();
              javax.swing.JPanel formTab = new javax.swing.JPanel();
              javax.swing.JLabel urlLabel = new javax.swing.JLabel();
              javax.swing.JLabel current = new javax.swing.JLabel();
              javax.swing.JTextField url = new javax.swing.JTextField();
              javax.swing.JPanel errorTab = new javax.swing.JPanel();
              javax.swing.JTextArea errorText = new javax.swing.JTextArea();
              javax.swing.JScrollPane errorPane = new javax.swing.JScrollPane();
              javax.swing.JPanel treeTab = new javax.swing.JPanel();
              javax.swing.JTextArea treeText = new javax.swing.JTextArea();
              javax.swing.JScrollPane treePane = new javax.swing.JScrollPane();
              javax.swing.JTree tree = new javax.swing.JTree();
              *show the gui
              public static void main(String args[])
              (new gui()).setVisible(true);
         *listen for the button presses and set the
         *boolean flag depending on which button is pressed
         class ButtonListener implements ActionListener
              public void actionPerformed(ActionEvent event)
                   Object object = event.getSource();
                   if (object == start)
                        run = true;
                        startActionPerformed(event);
                   if (object == cancel)
                        run = false;
                        startActionPerformed(event);
                   if (object == close)
                        System.exit(0);
         *this method is called when the start or
         *cancel button is pressed.
         void startActionPerformed (ActionEvent event)
              if (run == true && bgThread == null)
                   bgThread = new Thread(this);
                   bgThread.start();
                   //new line of code
                   treeText.addObject(msgInfo);
              if (run == false && bgThread != null)
                   webSpider.cancel();
         *this mehtod will start the background thred.
         *the background thread is required so that the
         *GUI is still displayed
         public void run()
              try
                   webSpider = new WebSpider(this);
                   webSpider.clear();
                   urlInput = new URL(url.getText());
                   webSpider.addURL(urlInput);
                   webSpider.run();
                   bgThread = null;
              catch (MalformedURLException e)
                   addressError addErr = new addressError();
                   addErr.addMsg = "URL ERROR - PLEASE CHECK";
                   SwingUtilities.invokeLater(addErr);
              *this method is called by the web spider
              *once a url is found. Validation of navigation
              *happens here.
              public boolean urlFound(URL urlInput,URL url)
                   CurrentlyProcessing pro = new CurrentlyProcessing();
              pro.msg = url.toString();
              SwingUtilities.invokeLater(pro);
              if (!testLink(url))
                        navigationError navErr = new navigationError();
                        navErr.navMsg = "Broken Link "+url+" caused on "+urlInput+"\n";
                        brokenUrl = url.toString();
                        return false;
              if (!url.getHost().equalsIgnoreCase(urlInput.getHost()))
                   return false;
              else
                   return true;
              *this method is returned if there is no link
              *on a web page, e.g. there us a dead end
              public void urlNotFound(URL urlInput)
                        deadEnd dEnd = new deadEnd();
                        dEnd.dEMsg = "No links on "+urlInput+"\n";
                        deadUrl = urlInput.toString();               
              *this method is called internally to check
         *that a link works
              protected boolean testLink(URL url)
              try
                   URLConnection connection = url.openConnection();
                   connection.connect();
                   goodUrl = url.toString();
                   return true;
              catch (IOException e)
                   return false;
         *this method is called when an error is
         *found.
              public void urlError(URL url)
              *this method is called when an email
              *address is found
              public void emailFound(String email)
              /*this method will update any errors found inc
              *address errors and broken links
              class addressError implements Runnable
                   public String addMsg;
                   public void run()
                        current.setText("Currently Processing: "+ addMsg);
                        errorText.append(addMsg);
              class navigationError implements Runnable
                   public String navMsg;
                   public void run()
                        errorText.append(navMsg);
              class deadEnd implements Runnable
                   public String dEMsg;
                   public void run()
                        errorText.append(dEMsg);
              *this method will update the currently
              *processing field on the GUI
              public class CurrentlyProcessing implements Runnable
                   public String msg;
              //new line
              public String msgInfo = msg;
              public void run()
                   current.setText("Currently Processing: " + msg );
         * NEW CODE
         * NEED THIS CODE SOMEWHERE
         * treeText.addObject(msgInfo);
         public DefaultMutableTreeNode addObject(Object child)
         DefaultMutableTreeNode parentNode = null;
         TreePath parentPath = tree.getSelectionPath();
         if (parentPath == null)
         parentNode = rootNode;
         else
         parentNode = (DefaultMutableTreeNode)
    (parentPath.getLastPathComponent());
         return addObject(parentNode, child, true);
         public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
    Object child)
         return addObject(parent, child, false);
         public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
         Object child,boolean shouldBeVisible)
         DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);
         if (parent == null)
         parent = rootNode;
         treeModel.insertNodeInto(childNode, parent, parent.getChildCount());
         if (shouldBeVisible)
         tree.scrollPathToVisible(new TreePath(childNode.getPath()));
              return childNode;
         public class MyTreeModelListener implements TreeModelListener
              public void treeNodesChanged (TreeModelEvent e)
                   DefaultMutableTreeNode node;
                   node = (DefaultMutableTreeNode)
                   (e.getTreePath().getLastPathComponent());
                   try
                        int index = e.getChildIndices()[0];
                        node = (DefaultMutableTreeNode)
                        (node.getChildAt(index));
                   catch (NullPointerException exc)
              public void treeNodesInserted(TreeModelEvent e)
              public void treeStructureChanged(TreeModelEvent e)
              public void treeNodesRemoved(TreeModelEvent e)
    I beleive that this line of code is required:
    treeText.addObject(msgInfo);
    I have placed it where the action events start the spider, but i keep getting this error:
    cannot resolve symbol
    symbol : method addObject (java.lang.String)
    location: class javax.swing.JTextArea
    treeText.addObject(msgInfo);
    Also the jtree is not showing the window that I want it to and I am not too sure why. could you have a look to see why? i think it needs a fresh pair of eyes.
    Many thanks
    MrV

  • Help with updating a database while in cfloop

    Greetings. I'm having some difficulties in updating a
    database using cfquery inside of a cfloop.
    Background:
    I've got a text file that I need to interpret, line for line,
    and then update an existing database with information from that
    text file. For example, the text file might say
    jdoe~103 Anywhere St.~East Nowhere~New Jersey~05784~
    asmith~8963 North St.~Crabapple Cove~Maine~01390~
    (etc...you get the idea)
    So, I use a CFFILE to read the file, and then calculate the
    number of lines (records to be updated in the database) using
    listlen / 5 (in this example). From there, I:
    <cfloop index="record" from="1" to "#numberoflines#">
    <cfloop index="field" from="1" to "5">
    <cfset position = ((record - 1) * 5) + field>
    <cfelseif field EQ 1>
    <cfset form.username =
    ListGetAt(newcontents,position,"~")>
    <cfelseif field EQ 2>
    <cfset form.street =
    ListGetAt(newcontents,position,"~")>
    (etc...through EQ 5)
    </cfloop>
    <cfquery name="updatedatabase"
    datasource="clientlist">
    UPDATE clients
    SET
    Street= '#form.street#',
    (etc)
    WHERE email = '#form.username#'
    </cfquery>
    </cfloop>
    The problem I am having is that it updates the very first
    record in the set of records to update, but then it does not update
    any subsequent records.
    Why?
    Sorry if the code is crude. Is there a better way of doing
    this? If so, great detail would be helpful :) Relatively new at
    this.
    -Brian

    quote:
    Originally posted by:
    Dan Bracuk
    Updating a db from a file using cold fusion is generally
    inefficient and should only be used as a last resort. If your db
    has any bulk loading/updating utilities, consider using them. Maybe
    you can use cold fusion to upload the file and ftp it to your db
    server or something like that.
    Better yet, that file has to come from somewhere. Is there a
    way you can update your db instead of generating a file in the
    first place?
    The file starts as an output generated by a web user (an
    administrator on the software) which creates a text file containing
    email addresses, one per line. An external process which I have no
    control over takes that file and generates another file containing
    information about each of those e-mail addresses (last name, first
    name, etc) one per line. I can't change that process. So, I'm left
    with an external text file that I need to parse and then put into
    the database...all through a web interface. The goal here is that
    an administrator of the software, who does not have direct access
    to the database, can (using cold fusion processing) update the
    database with new information on each e-mail address without my
    intervention.
    -Brian

  • T Box: help with coaxial vs threaded wall socket issue

    Hi there! Hope someone out there can help me or point me in the right direction! I purchased a T Box Entertainer Bundle for my new rental residence, and after moving in yesterday I received my T Box today. All excited about plugging in the T Box and catching up on some viewing from the past few days, but it seems that while my new place has a TV connection, it is not the standard coaxial type! Arrrggghhhh! There is the usual phone connection attached to the wall, and beneath that a wall plate branded with Telstra (upside down!) and instead of the usual coaxial connection there is a threaded socket with a small female pin port. Just to satisfy my own curiosity I did try and plug the coaxial cable which came with the T Box to the socket, but obviously it doesn't fit either with male or female connections. A bit of slow online searching later (I also don't have my internet or landline connected as yet, and am in a mobile blackspot to compound the problem) and I am pretty sure what I have in the wall is actually a cable or Foxtel connection. From what I've read, if I get an adapter I will still need to get the whole thing rewired to an antenna...is this correct? Or is it possible that as the T Box has Foxtel anyway that either an adapter or a different cable would work?Or is this something that the tech can do when they come out to connect my landline and ADSL2+? Fingers crossed there is a reasonable solution to this as with being in a rental my options are limited!Many thanks in advance to you all.

    AlanM52 wrote:
    That wall plate is for Foxtel – not FTA. You will not be able to get BigPond cable in that complex. DIY I would look at smaller caravan type antenna (window/balcony) and some cable. Not long ago ALDI were selling “active” indoor antennas for about $30-40 bucks, if you can get one and no-go just return.Thanks Alan...but if that is the case, why doesn't Foxtel have any history over the past 6 years of anyone ever having Foxtel in this unit? The wall plate is not Foxtel branded, but Telstra branded. The complex is probably 50 years old, but the reno is a lot more recent - say, a couple of years maximum. Also, Foxtel are telling me that only a couple of people in the last 6 years have ever had Foxtel anywhere in the entire 40-odd apartment complex which is over two separate buildings...why would there be backboned Foxtel cable if no one is using it? Foxtel use Telstra cable to deliver their content - I get that. But if practically no one is using the cable for Foxtel - what ARE they using it for? It doesn't seem to be broadband as I was told only ADSL2+ is available to me...
    There are no visible external antennas, and if all the units have been cabled, why would this one be different? I find it difficult to believe that all the residents are having to rely on rabbit-ears or window antennas simply to get FTA!There are a lot of large metal structures around this area, as well as other frequency-interference objects,so I am surmising that this would be the reason the building has been backboned cabled. But hey - just guessing here... So really - who can I ask about what is actually connected to this address? Foxtel say it's not them and tell me to ask Telstra, Telstra SHOP staff (not the good folk here) are telling me they cant help me in person and I have to call customer service from home,  I don't have a landline or my ADSL connected yet so can only use my mobile for which I have limited service while I wait for the delivery of a 3G home booster thingy. Can anyone tell me to which Telstra department I should be directing my enquiry to?At the moment I have now useless T-Box sitting here begging to be used, which I purchased in good faith on the advice I received from a Telstra provider that I have the necessary and correct connections for it to work! Seeing as they appeared to have access to the information required to check on the service availability to this address and specifically this apartment - who do I need to contact to get more information?At the very least, put me out of my misery - if I have to install an antenna, so be it, but I need to be sure this is the only option available to me before I go through the process of getting landlord, body corporate, aand whoeverelse persmission, not to mention the considerable expense! Please - someone, anyone at Telstra - tell me who I need to contact, to find out once and for all, with absolute certainty what this connection is for!  Sorry if I sound desperate...everyone has been very helpful here so far, but I'm going crazy trying to figure this out!

  • Help with slightly complicated iPod/iTunes library issue

    I have an older iPod with about 80 gig of music and videos on it, all legally acquired through the iTunes store or via my own CD collection.
    I would like to transfer the music of this library (which does not match the current contents of my current iPod touch and iTunes library) to my wife's laptop (currently running 10.4.11) so she can access music from it for her iPod nano.
    Issue #1: is there a good third-party app. that would allow such a transfer?
    Issue #2: there is not enough hard drive space on the laptop to accept an 80 gig library transfer...how could I set that up on an external drive?
    Thanks for any help you can give.

    Is there a better forum in which I can post this problem?
    Or perhaps it has already been answered elsewhere? Could you point me in that direction?
    Thanks...
    Brad

  • Help with building a form

    Hello, I'm pretty new to LifeCycle and don't even know if this is the right program I should be using to do this but I thought I'd give it a shot.
    The branch I work for in my company has been doing media planning up in Saskatchewan for about a year now. We build and distribute ads through small towns across Saskatchewan for all types of people. We have been building up a list of newspapers that we can use including the contact information and prices of various sized ads.
    We don't have a way to reference all the newspapers quickly. We have to go back through prior folders and find each newspaper and their contact information before we can plan for the next ad run. What I would like to do is build a form that would be easy to just click on a drop down menu, find the newspaper that you want, and then all the information will pop up in a contact box below the drop down menu.
    I've already build a mini drop down menu with about 10 newspapers to see if this will work but I don't know how to link the drop down menu item with another box that will open up all the contact and pricing info.
    Can someone please help?
    Thanks!

    Hi,
    you can do what you want with LiveCycle, and it might help you to look at this reference as it shows how to work with data ( it does depend how your data is stored)
    http://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=000006.htmlhttp://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=000006.html
    If you data does not change very often then I would recommend just using an XML file to store the data and then use thebinding ability with possible some JavaScript to create the solution you would like.
    Hope this helps
    Malcolm

  • Help with Mainstage 3.1 CPU overload issue

    I was using Kontakt 5, UVI Workstation and Pianoteq 5 in MainStage 3 without any issues.
    Since I updated to MS 3.1, The CPU is always above 100% !!! I am facing audio dropouts and it is absolutely impossible to play a show
    Is anyone else facing the same issue? Any tips to help reduce CPU overload will be helpful.
    I have Contact and UVI workstation running from an external hard disk. I thought that might be the issue but i tried with a keyboard template set in MS 3.1 and still while playing CPU usage shoots to 100% plus!
    I am on a MacBook Pro (Retina, 13-inch, Late 2013), 2.4 GHz Intel Core i5, 8 GB 1600 MHz DDR3.

    Try to get the Mainstage 3.0.4 from a timemachine backup.
    Try to update all your programs like pianotec.
    For me, 3.1 feels better concerning timing/ latency. This might cause more stress for the processors.
    My system i7 2,2 GHz is always getting hot, fans go crazy. There's a limit: Better than 64 Samples buffer is not possible.
    To be serious: A real Piano needs  0,25ms to produce a sound. We have to deal with 4ms. That's bad. So you could increase buffersize to 128 and try playing? It makes no big difference if you play the poor 4ms ore poor 6ms for example. In every case we are far away from the real thing.
    Check, if you activated the "savety buffer" checkbox in audiodriver window.
    If you can't find 3.0.4., you could try to reduce the installed channelstrips in your patches. Effects in concert level should be reduced. Evt. you have Efx in busses that are not needed in most patches. So cancel them in concertlevel and install them in selected patches.
    I replaced a spacedesigner reverb with an reverb outside the system, it's processed from the interface. Same with a chorus.
    I tested a newer MacbookPro retina, that was not better than mine. The difference was, it produced little dropouts every 10 seconds.
    Hopefuly there will be a update for 3.1 soon.
    And be serious: Before 3.1 you could play a show without dropouts, but was it fun? Mainstage urgently needs better latency capabilities, generally.

Maybe you are looking for

  • Will OWB 10g Release 2 (10.2.0.3) for Vista 32bit work 100% on XP Pro

    All, I have a problem with installing Oracle Warehouse Builder 10g Release 2 (10.2.0.1), after the install i cannot run the design center. So I removed this software and installed the newest version (see title). But there is "Vista 32bit" in the down

  • Issues Transferring Video Purchased on iTunes to My Video iPod..Help!

    Just bought a new 60 BG Video iPod. I purchased a few videos from iTunes. However, when I connect my iPod to iTunes, only my music is transferred. The videos are not transferred. When I try to transfer the video to my iPod, I get the following messag

  • Get Back to my Mac to Wake from Sleep

    Hello.  I am having trouble accessing my home iMac over the internet when it is in sleep mode.  I am running Mountain Lion with an Airport Extreme.  I have Back to My Mac enabled.  I have no problem accessing the computer over the internet when the c

  • Metadata security

    Is there a way to prevent editing of metadata? If not, this would be a great feature to have, similar to security settings on PDF files.

  • RE: Authority checks included in the info set of the query

    Hi all, I am checking the program code for one of our custom tcodes and i asked ABAP team to add authority check to the program code because there is no auth check in the code and abapers told me that the authority check is included inside the info s