Need help finalizing breadth-first search function...

I have a map with bidirectional links and I am to find the shortest path so the first path found will be good for me. I tried follow the algorithm for BFS and it shows below. However, I am not sure when/where/what I should return per loop. I would like to get a list of Nodes (map represented by numeric node numbers). I dont think returning a list is right for this recursion so i put down int for now... I think the steps are right but just not sure how to get the result.... Please help! thanks!
public int(?) getShortestPath() {
          int currentNode = bfsQueue.remove();//already has Root from start
          if (currentNode == destNode) {
               shortestPathFound = true;
          } else {
               ArrayList<Integer> temp = getChildrenLinks(currentNode);
               for (int x=0; x< temp.size(); x++) {
                    bfsQueue.add(temp.get(x));
          if (bfsQueue.size() == 0) {
               return null;
          } else if (shortestPathFound == false){
               getShortestPath();
          return null;
     }

You have almost all variable defined outside your method. You "should" declare them inside. Also, there is no need to make a recursive call (which makes it easier to return your path).
Here's a debugged version of a BFS:
Say you have the following edges:
1 <--> 2
1 <--> 3
2 <--> 5
2 <--> 6
3 <--> 4
4 <--> 5
5 <--> 6
5 <--> 7
7 <--> 8
7 <--> 9
8 <--> 9
8 <--> 10A picture of this would look like:
1 --- 2 --- 6
|      \___ |     9
|          \|    /|
3 --- 4 --- 5   / |
            |  /  |
            | /   |
            7 --- 8 --- 10And you want to find the shortest path from 1 to 8.
Create a stack that holds all "layers" (a list of numbers) that you are discovering. So you start with an empty STACK and push the start node (in a list) on it:
STACK {
  {1} // layer 1
}Pop the last "layer" from your STACK and collect all it's unvisited neighbours. All these unvisited neighbours are the next layer which should be pushed on your STACK. Now your STACK looks like:
STACK {
  {1}   // layer 1
  {2,3} // layer 2
}Again pop the last layer from your stack (this is now {2,3}) and collect all it's unvisited neighbours and push these on your STACK. Now your STACK looks like:
STACK {
  {1}     // layer 1
  {2,3}   // layer 2
  {4,5,6} // layer 3
}Keep pushing new "layers" on your STACK until you stumble upon your destination node (8 in this example). So, when you get to your destination node, your STACK looks like:
STACK {
  {1}     // layer 1
  {2,3}   // layer 2
  {4,5,6} // layer 3
  {7}     // layer 4
  {8,9}   // layer 5
}Now that you have gotten to your destination, it's time to find the actual path by back-tracking through your "layers" where you must "jump" from "layer" N to a "layer" N-1 (you can only "jump" to a lower "layer"):
The back-tracking will look like:
STACK {
  {1}     // layer 1
   | 
  {2,3}   // layer 2
  {4,5,6} // layer 3
  {7}     // layer 4
   |
  {8,9}   // layer 5
- 8 (in layer 5) is connected to 7 (in layer 4)
- 7 (in layer 4) is connected to 5 (in layer 3)
- 5 (in layer 3) is connected to 2 (in layer 2)
- 2 (in layer 2) is connected to 1 (in layer 1)So, your shortest path is: [1,2,5,7,8]
HTH

Similar Messages

  • How to extend  breadth first Search for Binary Tree to any kind of Tree??

    Dear Friends,
    I am thinking a problem, How to extend breadth first Search for Binary Tree to any kind of Tree?? ie each node has more than 2 leaves such as 1, 2,3,4 or any,
    I have following code to successfully apply for breadth first Search in Binary Tree as follows,
    package a.border;
    import java.util.ArrayList;
    import java.util.LinkedList;
    public class Tree
        int root;
        Tree left;
        Tree right;
        static ArrayList<Integer> list = new ArrayList<Integer>();
        static ArrayList<Tree> treeList = new ArrayList<Tree>();
        private static LinkedList<Tree> queue = new LinkedList<Tree>();
         * @param root root value
         * @param left left node
         * @param right right node
        public Tree(int root, Tree left, Tree right)
            this.root = root;
            this.left = left;
            this.right = right;
        /** Creates a new instance of Tree
         * You really should know what this does...
         * @param root
        public Tree(int root)
            this.root = root;
            this.left = null;
            this.right = null;
         * Simply runs a basic left then right traversal.
        public void basicTraversal()
            //Check if we can go left
            if (left != null)
                left.basicTraversal();
            //Add the root
            list.add(root);
            //Check if we can go right
            if (right != null)
                right.basicTraversal();
        public ArrayList<Integer> getBreadthTraversal(ArrayList<Integer> list)
            //Add the root to the arraylist, we know it is always the first entry.
            list.add(root);
            //Basically we add the first set of nodes into the queue for
            //traversing.
            //Query if left exists
            if (left != null)
                //Then add the node into the tree for traversing later
                queue.add(left);
            //Same for right
            if (right != null)
                queue.add(right);
            //Then we call the traverse method to do the rest of the work
            return traverse(list);
        private ArrayList<Integer> traverse(ArrayList<Integer> list)
            //Keep traversing until we run out of people
            while (!queue.isEmpty())
                Tree p = queue.remove();
                //Check if it has any subnodes
                if (p.left != null)
                    //Add the subnode to the back of the queue
                    queue.add(p.left);
                //Same for left
                if (p.right != null)
                    //Same here, no queue jumping!
                    queue.add(p.right);
                //Append to the ArrayList
                list.add(p.root);
            //And return
            return list;
         * Makes a tree and runs some operations
         * @param args
        public static void main(String[] args)
             *                             4
             *          t =           2       6
             *                      1   3    5   7
            Tree leaf6 = new Tree(1);
            Tree leaf7 = new Tree(3);
            Tree leaf8 = new Tree(5);
            Tree leaf9 = new Tree(7);
            Tree t4 = new Tree(2, leaf6, leaf7);
            Tree t5 = new Tree(6, leaf8, leaf9);
            Tree t = new Tree(4, t4, t5);
            t.basicTraversal();
            System.out.println("Here is basicTraversal ="+list.toString());
            list.clear();
            t.getBreadthTraversal(list);
            System.out.println("getBreadthTraversal= " +list.toString());
            list.clear();
        }Can Guru help how to update to any kind of tree??
    here this code is for the tree like:
             *                             4
             *          t =           2       6
             *                      1   3    5   7
             */But i hope the new code can handle tree like:
             *                             4
             *                           /   | \
             *                          /     |   \
             *          t =            2     8   6
             *                        / |  \    |    /| \
             *                      1 11  3 9   5 10  7
             */Thanks

    sunnymanman wrote:
    Dear Friends,
    I am thinking a problem, How to extend breadth first Search for Binary Tree to any kind of Tree?? ...The answer is interfaces.
    What do all trees have in common? And what do all nodes in trees have in common?
    At least these things:
    interface Tree<T> {
        Node<T> getRoot();
    interface Node<T> {
        T getData();
        List<Node<T>> getChildren();
    }Now write concrete classes implementing these interfaces. Let's start with a binary tree (nodes should have comparable items) and an n-tree:
    class BinaryTree<T extends Comparable<T>> implements Tree<T> {
        protected BTNode<T> root;
        public Node<T> getRoot() {
            return root;
    class BTNode<T> implements Node<T> {
        private T data;
        private Node<T> left, right;
        public List<Node<T>> getChildren() {
            List<Node<T>> children = new ArrayList<Node<T>>();
            children.add(left);
            children.add(right);
            return children;
        public T getData() {
            return data;
    class NTree<T> implements Tree<T> {
        private NTNode<T> root;
        public Node<T> getRoot() {
            return root;
    class NTNode<T> implements Node<T> {
        private T data;
        private List<Node<T>> children;
        public List<Node<T>> getChildren() {
            return children;
        public T getData() {
            return data;
    }Now with these classes, you can wite a more generic traversal class. Of course, every traversal class (breath first, depth first) will also have something in common: they return a "path" of nodes (if the 'goal' node/data is found). So, you can write an interface like this:
    interface Traverser<T> {
        List<Node<T>> traverse(T goal, Tree<T> tree);
    }And finally write an implementation for it:
    class BreathFirst<T> implements Traverser<T> {
        public List<Node<T>> traverse(T goal, Tree<T> tree) {
            Node<T> start = tree.getRoot();
            List<Node<T>> children = start.getChildren();
            // your algorithm here
            return null; // return your traversal
    }... which can be used to traverse any tree! Here's a small demo of how to use it:
    public class Test {
        public static void main(String[] args) {
            Tree<Integer> binTree = new BinaryTree<Integer>();
            // populate your binTree
            Tree<Integer> nTree = new NTree<Integer>();
            // populate your nTree
            Traverser<Integer> bfTraverser = new BreathFirst<Integer>();
            // Look for integer 6 in binTree
            System.out.println("bTree bfTraversal -> "+bfTraverser.traverse(6, binTree));
            // Look for integer 6 in nTree
            System.out.println("bTree bfTraversal -> "+bfTraverser.traverse(6, nTree));
    }Good luck!

  • When to go for Breadth first search over depth first search

    hi,
    under which scenarios breadth first search could be used and under which scenarios depth first search could be used?
    what is the difference between these two searches?
    Regards,
    Ajay.

    No real clear-cut rule for when to use one over the other. It depends on the nature of your search and where you would prefer to find results.
    The difference is that in breadth-first you first search all immidiate neighbours before searching their neighbours (sort of like preorder traversal). Whereas in depth-first you search some random (or otherwise selected) neighbour and then a neighbour of that node until you can't go deeper (i.e., you've searched a neighbour that has no other neighbours). This probably isn't a very clear explanation, perhaps you'll find this more helpful: http://www.ics.uci.edu/~eppstein/161/960215.html
    If you would prefer to find results closer to the origin node, breadth first would be better. If you would prefer to find results further away use depth first.

  • Depth/Breadth First Search

    Hello all,
    I am trying to figure out how to do a depth and breadth first search on a graph of Cities, as defined below. I think that I understand the searches, but I am having an extremely difficult time figuring out how to implement them.
    If anyone has any tips, suggestions, or hints (for some reason I think I'm probably just overlooking something simple), I would greatly appreciate them.
    Thanks for any help!
    * to represent an individual city
    public class City {
        String name;
        double latitude;
        double longitude;
        ArrayList<Edge> neighbors;
        //the constructor
        public City(String name, double latitude, double longitude){
            this.name = name;
            this.latitude = latitude;
            this.longitude = longitude;
            this.neighbors = new ArrayList<Edge>();
        //to check if this city is equal to that given city
        public boolean same(City c){
            return this.name.equals(c.name) && this.latitude == c.latitude &&
                this.longitude == c.longitude;
    * to represent an edge between two cities
    public class Edge {
        City city1;
        City city2;
        double dist;
        boolean visited;
        public Edge(City city1, City city2){
            this.city1 = city1;
            this.city2 = city2;
            this.dist = this.distTo();
            this.visited = false;
         * to find the distance between the two cities in an edge
        public double distTo(){
            return Math.sqrt(((this.city1.latitude - this.city2.latitude) *
                    (this.city1.latitude - this.city2.latitude)) +
                    ((this.city1.longitude - this.city2.longitude) *
                    (this.city1.longitude - this.city2.longitude)));
    * to represent a path between two cities as a list
    * of edges
    public class Graph {
        ArrayList<Edge> alist;
        public Graph(ArrayList<Edge> alist){
            this.alist = alist;
    }

    http://en.wikipedia.org/wiki/Breadth-first_search (includes algorithm)

  • Depth First Search, Breadth First Search

    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Prod
    PL/SQL Release 10.2.0.5.0 - Production
    CORE     10.2.0.5.0     Production
    TNS for Linux: Version 10.2.0.5.0 - Production
    NLSRTL Version 10.2.0.5.0 - Production
    I
    have this table that form a tree where record with column value 'more_left' 0 is located more left than 1 (for example, record with id 2 has a parent id 1 and more left than record with id 7 that also has parent id 1):
    with t as(
      select 2 id,1 parent_id,0 most_left from dual
      union all
      select 7 id,1 parent_id,1 most_left from dual
      union all
      select 8 id,1 parent_id,2 most_left from dual
      union all
      select 3 id,2 parent_id,0 most_left from dual
      union all
      select 6 id,2 parent_id,1 most_left from dual
      union all
      select 9 id,8 parent_id,0 most_left from dual
      union all
      select 12 id,8 parent_id,1 most_left from dual
    union all
      select 4 id,3 parent_id,0 most_left from dual
      union all
      select 5 id,3 parent_id,1 most_left from dual
    union all
      select 10 id,9 parent_id,0  most_left from dual
      union all
      select 11 id,9 parent_id,1 most_left from dual
    select * from t;The problem is to show all the ids, using Breadth First Search and Depth First Search. Tx, in advance.
    Edited by: Red Penyon on Apr 12, 2012 3:39 AM

    Hi,
    I fail to understand how comes there is no row for ID=1 ?
    The topmost parent (the root) should be in the table also.
    For 11g, this would work (as long as the root is in the table) :Scott@my11g SQL>l
      1  WITH t AS
      2       (SELECT 1 ID, 0 parent_id, 0 most_left
      3          FROM DUAL
      4        UNION ALL
      5        SELECT 2 ID, 1 parent_id, 0 most_left
      6          FROM DUAL
      7        UNION ALL
      8        SELECT 7 ID, 1 parent_id, 1 most_left
      9          FROM DUAL
    10        UNION ALL
    11        SELECT 8 ID, 1 parent_id, 2 most_left
    12          FROM DUAL
    13        UNION ALL
    14        SELECT 3 ID, 2 parent_id, 0 most_left
    15          FROM DUAL
    16        UNION ALL
    17        SELECT 6 ID, 2 parent_id, 1 most_left
    18          FROM DUAL
    19        UNION ALL
    20        SELECT 9 ID, 8 parent_id, 0 most_left
    21          FROM DUAL
    22        UNION ALL
    23        SELECT 12 ID, 8 parent_id, 1 most_left
    24          FROM DUAL
    25        UNION ALL
    26        SELECT 4 ID, 3 parent_id, 0 most_left
    27          FROM DUAL
    28        UNION ALL
    29        SELECT 5 ID, 3 parent_id, 1 most_left
    30          FROM DUAL
    31        UNION ALL
    32        SELECT 10 ID, 9 parent_id, 0 most_left
    33          FROM DUAL
    34        UNION ALL
    35        SELECT 11 ID, 9 parent_id, 1 most_left
    36          FROM DUAL
    37  )
    38  select
    39  rt
    40  ,listagg(id,'-') within group (order by lvl,id) BFS
    41  ,listagg(id,'-') within group (order by pth,lvl) DFS
    42  from (
    43  SELECT id, connect_by_root(id) rt, sys_connect_by_path(most_left,'-') pth, level lvl, most_left
    44        FROM  t
    45  CONNECT by nocycle  prior ID = parent_id
    46  START WITH parent_id = 0
    47  )
    48* group by rt
    Scott@my11g SQL>/
            RT BFS                            DFS
             1 1-2-7-8-3-6-9-12-4-5-10-11     1-2-3-4-5-6-7-8-9-10-11-12But as long as you're 10g, that is no real help.
    I'll try to think of a way to get that with 10g.
    10g solution for DFS :Scott@my10g SQL>l
      1  WITH t AS
      2  (
      3       SELECT 1 ID, 0 parent_id, 0 most_left FROM DUAL UNION ALL
      4       SELECT 2 ID, 1 parent_id, 0 most_left FROM DUAL UNION ALL
      5       SELECT 7 ID, 1 parent_id, 1 most_left FROM DUAL UNION ALL
      6       SELECT 8 ID, 1 parent_id, 2 most_left FROM DUAL UNION ALL
      7       SELECT 3 ID, 2 parent_id, 0 most_left FROM DUAL UNION ALL
      8       SELECT 6 ID, 2 parent_id, 1 most_left FROM DUAL UNION ALL
      9       SELECT 9 ID, 8 parent_id, 0 most_left FROM DUAL UNION ALL
    10       SELECT 12 ID, 8 parent_id, 1 most_left FROM DUAL UNION ALL
    11       SELECT 4 ID, 3 parent_id, 0 most_left FROM DUAL UNION ALL
    12       SELECT 5 ID, 3 parent_id, 1 most_left FROM DUAL UNION ALL
    13       SELECT 10 ID, 9 parent_id, 0 most_left FROM DUAL UNION ALL
    14       SELECT 11 ID, 9 parent_id, 1 most_left FROM DUAL
    15  )
    16  select max(pth) DFS
    17  from (
    18  select sys_connect_by_path(id,'-') pth
    19  from (
    20  select id,pth,lvl,most_left, row_number() over (order by pth, lvl) rn
    21  from (
    22  select id, sys_connect_by_path(most_left,'-') pth, level lvl, most_left
    23  from t
    24  CONNECT by nocycle  prior ID = parent_id
    25  START WITH parent_id = 0
    26  )
    27  order by pth, lvl
    28  )
    29  connect by prior rn= rn-1
    30  start with rn=1
    31* )
    Scott@my10g SQL>/
    DFS
    -1-2-3-4-5-6-7-8-9-10-11-12------
    10g solution for BFS :Scott@my10g SQL>l
      1  WITH t AS
      2  (
      3       SELECT 1 ID, 0 parent_id, 0 most_left FROM DUAL UNION ALL
      4       SELECT 2 ID, 1 parent_id, 0 most_left FROM DUAL UNION ALL
      5       SELECT 7 ID, 1 parent_id, 1 most_left FROM DUAL UNION ALL
      6       SELECT 8 ID, 1 parent_id, 2 most_left FROM DUAL UNION ALL
      7       SELECT 3 ID, 2 parent_id, 0 most_left FROM DUAL UNION ALL
      8       SELECT 6 ID, 2 parent_id, 1 most_left FROM DUAL UNION ALL
      9       SELECT 9 ID, 8 parent_id, 0 most_left FROM DUAL UNION ALL
    10       SELECT 12 ID, 8 parent_id, 1 most_left FROM DUAL UNION ALL
    11       SELECT 4 ID, 3 parent_id, 0 most_left FROM DUAL UNION ALL
    12       SELECT 5 ID, 3 parent_id, 1 most_left FROM DUAL UNION ALL
    13       SELECT 10 ID, 9 parent_id, 0 most_left FROM DUAL UNION ALL
    14       SELECT 11 ID, 9 parent_id, 1 most_left FROM DUAL
    15  )
    16  select max(pth) BFS
    17  from (
    18  select sys_connect_by_path(id,'-') pth
    19  from (
    20  select id,pth,lvl,most_left, row_number() over (order by lvl, pth) rn
    21  from (
    22  select id, sys_connect_by_path(most_left,'-') pth, level lvl, most_left
    23  from t
    24  CONNECT by nocycle  prior ID = parent_id
    25  START WITH parent_id = 0
    26  )
    27  order by lvl, pth
    28  )
    29  connect by prior rn= rn-1
    30  start with rn=1
    31* )
    Scott@my10g SQL>/
    BFS
    -1-2-7-8-3-6-9-12-4-5-10-11There might certainly have better ways...

  • Need help !! Adding search capability to JText component.

    We need help adding the string search capability to the JText component like how other text editors have. Does anybody know what component to use and what the easiest way to implement it is?

    Swing components are implemented using a design pattern called MVC - Model View Controller. The View is simply the visual representation of the Model, where all the good stuff is stored, namely the state of the component. (And the Controller glues everyhing together.)
    The JTextComponent uses a javax.swing.text.Document as its model. What you can do is get access to your component's model, and from that get access to the text contained in the Document. Once you have that text, the easiest thing you can do is do an indexOf() search.

  • Breadth First Search (More of a Logic Question)

    Hey guys, I'm having a logic block with a Breadth First Search using a queue.
    Basically the way Breadth First Search works is that it expands all of the nodes one level at a time until it finds the result. I quickly whipped out a flash to demonstrate what I believe is the Breadth First Search.
    http://www.nxsupport.com/dimava/bfs.swf
    I wrote the code to do the algorithm, However if I just output the queue it shows all of the excess "potential" nodes and not just the direct route. For example, with the flash file linked above, it would show ABECGFC, instead of just ABCD.
    I realise that I could trace back from the end to see which of the nodes D is connected to, then which of the nodes C is connected to, etc. But that wouldn't work out if there was more than one path with the same distance leading to the same destination.
    Thanks,
    Dimava

    It's been a long time since college so I may be suggesting a poor way of doing this.
    But suppose you have a queue data type. You can use it in two ways: as a representation of a path from your starting node to your ending node, and as a place to hold paths while you're performing a breadth-first search. (Or you could skip the latter and just use recursion.)
    You wouldn't keep a list of all possible paths. Rather you'd be storing paths that correspond to nodes currently being examined in your breadth-first search.
    So you'd create a queue (representing a path) holding your start node. Then you'd put that queue into the queue that represents your traversal state.
    Then while the traversal queue is not empty, you take out a path (a queue), look at its last element (a node), then create new paths that consist of the current path but each terminating with one of the children of the current node. (Well not really children since it's a graph and not a tree, but you know what I mean.) Repeat until the target node is found.

  • Need help with trim and null function

    Hi all,
    I need help with a query. I use the trim function to get the first three characters of a string. How do I write my query so if a null value occurs in combination with my trim to say 'Null' in my results?
    Thanks

    Hi,
    Thanks for the reply. What am I doing wrong?
    SELECT trim(SUBSTR(AL1.user_data_text,1,3)),NVL
    (AL1.user_data_text,'XX')
    FROM Table
    I want the XX to appear in the same column as the
    trim.The main thing you're doing wrong is not formatting your code. The solution may become obvious if you do.
    What you're saying is:
    SELECT  trim ( SUBSTR (AL1.user_data_text, 1, 3))
    ,       NVL ( AL1.user_data_text, 'XX' )
    FROM    Tablewhich makes it clear that you're SELECTing two columns, when you only want to have one.
    If you want that column to be exactly like the first column you're currently SELECTing, except that when that column is NULL you want it to be 'XX', then you have to apply NVL to that column, like this:
    SELECT  NVL ( trim ( SUBSTR (AL1.user_data_text, 1, 3))
                , 'XX'
    FROM    Table

  • Need help with date range searches for Table Sources in SES

    Hi all,
    I need help, please. I am trying to satisfy a Level 1 client requirement for the ability to search for records in crawled table sources by a date and/or date range. I have performed the following steps, and did not get accurate results from Advanced searching for date. Please help me understand what I am doing wrong, and/or if there is a way to define a date search attribute without creating a LOV for a date column. (My tables have 500,00 rows.)
    I am using SES 10.1.8.3 on Windows 32.
    My Oracle 10g Spatial Table is called REPORTS and this table has the following columns:
    TRACKNUM Varchar2
    TITLE Varchar2
    SUMMARY CLOB
    SYMBOLCODE Varchar2
    Timestamp Date
    OBSDATE Date
    GEOM SDO_GEOMETRY
    I set up the REPORTS table source in SES, using TRACKNUM as the Primary Key (unique and not null), and SUMMARY as the CONTENT Column. In the Table Column Mappings I defined TITLE as String and TITLE.
    Under Global Settings > Search Attributes I defined a new Search Attribute (type Date) called DATE OCCURRED (DD-MON-YY).
    Went back to REPORTS source previously defined and added a new Table Column Mapping - mapping OBSDATE to the newly defined DATE OCCURRED (DD-MON-YY) search attribute.
    I then modified the Schedule for the REPORTS source Crawler Policy to “Process All Documents”.
    Schedule crawls and indexes entire REPORTS table.
    In SES Advanced Search page, I enter my search keyword, select Specific Source Group as REPORTS, select All Match, and used the pick list to select the DATE OCCURRED (DD-MON-YY) Attribute Name, operator of Greater than equal, and entered the Value 01-JAN-07. Then the second attribute name of DATE_OCCURRED (DD-MON-YY), less than equals, 10-JAN-07.
    Search results gave me 38,000 documents, and the first 25 I looked at had dates NOT within the 01-JAN-07 / 10-JAN-07 range. (e.g. OBSDATE= 10-MAR-07, 22-SEP-07, 02-FEB-08, etc.)
    And, none of the results I opened had ANY dates within the SUMMARY CLOB…in case that’s what was being found in the search.
    Can someone help me figure out how to allow my client to search for specific dated records in a db table using a single column for the date? This is a major requirement and they are anxiously awaiting my solution.
    Thanks very much, in advance….

    raford,
    Thanks very much for your reply. However, from what I've read in the SES Admin Document is that (I think) the date format DD/MM/YYYY pertains only to searches on "file system" sources (e.g. Word, Excel, Powerpoint, PDF, etc.). We have 3 file system sources among our 25 total sources. The remaining 22 sources are all TABLE or DATABASE sources. The DBA here has done a great job getting the data standardized using the typical/default Oracle DATE type format in our TABLE sources (DD-MON-YY). Our tables have anywhere from 1500 rows to 2 million rows.
    I tested your theory that the dates we are entering are being changed to Strings behind the scenes and on the Advanced Page, searched for results using OBSDATE equals 01/02/2007 in an attempt to find data that I know for certain to be in the mapped OBSDATE table column as 01-FEB-07. My result set contained data that had an OBSDATE of 03-MAR-07 and none containing 01-FEB-07.
    Here is the big issue...in order for my client to fulfill his primary mission, one of the top 5 requirements is that he/she be able to find specific table rows that are contain a specific date or range of dates.
    thanks very much!

  • Newbie needs help comprehending CSS Password Manager functions

    Hello All:
    I own a TP W500 4062-27U running Windows 7 Ultimate.  The computer is trouble-free.
    I am seeking a solution to the following need:  An application that will securely remember my passwords for various websites, etc. and enable me to log in using the fingerprint reader or similar.
    I am aware that Lenovo provides both Fingerprint Reader software and Client Security Solution software, but I don't know whether or not either one (or both) of these applications will provide the functionality I am seeking.  I have spent a fair bit of time looking around the Lenovo website, but cannot find a document that describes (in a general, overview manner) the functionality that CSS provides.
    I don't need to log into VPNs, or company networks, or anything really fancy like that - I just need something that will enable me to log into about 20 different websites, using a different password for each website.  Right now, I'm generally using the same password for every website (that way, I can remember what it is), and as I think you will agree, that is probably not a very good practice so far as security is concerned.
    If anyone could point me towards a document that explains how I can get CSS to do what I want it to do, I would be very grateful.  If CSS does not have the functionality I am seeking, I would very much appreciate a recommendation of software - possibly non-Lenovo - that does provide the functionality I am seeking.
    Thanks very much for your assistance.
    Michael

    Hi PanEuropean2,
    Welcome to Lenovo Forum!
    In regard to your question, Client Security Solution (CSS) should be the right fit for you.
    I have a T410 with Win 7, and have several passwords to remember which is really killing me. However, by using CSS, Fingerprint software and Password Manager, I need to enter all the passwords only once when access a website or a tool, and let it saved in CSS.
    The next time i turn on the machine and open up a website which needs user ID and password, I just need to swipe the fingerprint that I've enrolled, then viola!
    Just take note that after the first swipe of fingerprint, tools or website that are to be accessed later will automatically show the password in the box directly without having to swipe fingerprint again. You just need to click to log in. I"m not sure if this is the experience you're looking for, however, no harm to give it a try.
    Here's the user guide for CSS. It has
    Client Security Solution components
    Client Security Solution installation considerations
    Client Security Solution features
    Hope this helps
    Cheers,
    Cleo
    WW Social Media
    T61, T410, x240, Z500, Flex 14
    Important Note: If you need help, post your question in the forum, and include your system type, model number and OS. Do not post your serial number.
    Did someone help you today? Press the star on the left to thank them with a Kudo!
    If you find a post helpful and it answers your question, please mark it as an "Accepted Solution"!
    Follow @LenovoForums on Twitter!
    How to send a private message? --> Check out this article.
    English Community   Deutsche Community   Comunidad en Español   Русскоязычное Сообщество

  • Need help with usage of static functions

    Hi,
    I tried instantiating objects within static functions as follows: It gives error:
    If someone can explain an alternate way of doing things, I would appreciate:
    public class C {
    * @param args
    public static void main(String[] args) {
    Y.Fn1();
    public class X {
    public void Fn2(){
    int b=2;
    System.out.println("hello");
    public class Y {
    public static void Fn1()
    int a=2;
    X obj = new X();
    obj.Fn2();
    The actual error is:
    Cannot make a static referencxe to the nonstatic method Fn2() from the type X Y.java
    Need Help : If someone can comment on the following, I would appreciate:
    I have a class Session, which has a method ProcessEvent()
    public class Session{
    public synchronized void processEvent(Event e)
    // Processing of the event
    // Generate a response for the Event
    This Session class is the mainstream code..
    Now I want to write a TestClass that will test the main code.
    So I have a Test class as below:
    public class Test {
    public static void sendReq()
    // Construct an event and call processEvent Function from the main code
    Event ev = new Event();
    // Fill the event with parameters
    Session sess = new Session();
    sess.processEvent(ev);
    What I am thinking of doing is: Call the static method in another class called Manager of the mainstream code for test purpose as follows:
    public class Manager {
    public void somefunction()
    //*** Just for test purpose: do the following line **//
    Test.sendReq();
    I am not sure what I am trying to do will work. I would appreciate if you can comment on that or suggest something that would work for me.
    Another thing which I want to do is:
    Inside ProcessEvent(), I want to call another static method ParseandValidateResponse() of the TestClass This looks odd, but as long as it works, it would be fine for me because this is only for test purpose.
    In this case, I would write,
    public class Session{
    public synchronized void processEvent(Event e)
    // Processing of the event
    // Generate a response for the Event
    Test.parseandValidateResponse(Response res);
    public class Test {
    public static void sendReq()
    // AS SHOWN PREVIOUSLY
    public static void parseandValidateResponse(Response resp)
    // validate the response
    }

    Sorry I thought no one had replied. When I posted here, I missed seeing yr reply. Later just now I saw yr reply It was in the second Page
    (Earlier I was looking only in first page by mistake)
    Meena

  • Depth first search and breadth first search

    can anyone help for this program. can anyone give me a program for this without using an applet.
    thanks!!!

    can anyone help for this program. can anyone give me a
    program for this without using an applet.
    thanks!!!What are you talking about? What program? Depth-first means you recursively search from root to the first leaf, then go up one level, go down as far as you can, repeat. Breadth-first means you search every node on each level before going on to the next level.

  • Need Help in Inserting first ever record

    I need help in inserting my first ever record from an OAF page.
    I've created an AM 'MasterAM', added 'MasterVO' to it. Created a Page CreatePG which has a submit button, id = Apply
    Below is processRequest of CreateCo
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    if (!pageContext.isFormSubmission()) {
    am.invokeMethod("createRecord", null);
    and below is processFormRequest
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    if (pageContext.getParameter("Apply") != null)
    OAViewObject vo = (OAViewObject)am.findViewObject("MasterVO1");
    am.invokeMethod("apply");
    pageContext.forwardImmediately("OA.jsp?page=/abcd/oracle/apps/per/selfservice/xxdemo/webui/CreatePG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    true,
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    Below are 'createRecord' and 'apply' in MasterAMImpl
    public void createRecord(){
    OAViewObject vo = (OAViewObject)getMasterVO1();
    if (!vo.isPreparedForExecution()) {
    vo.executeQuery();
    Row row = vo.createRow();
    vo.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    public void apply() {
    getTransaction().commit();
    When I run the page, it opens and I try to enter some data and press Apply. it does not insert into the table.
    Could anyone help me out.
    My jdeveloper version is 10.1.3.3.0.3

    I am facing the same issue.
    rows get inserted into the tbale, but only whol columns have the data.
    all the attributes are correctly mapped to view instance and view attribute.
    My VO has 1 EO and , i have joined another table to get desctriptions of the field.
    could that be the problem ?
    ex :
    select item , desc
    from t , master
    where t.cola=master.colb
    table t is the custom table I want the data to go in. but only who columns appear after commiting.
    any clues ?

  • Need help making javascript thumbnail gallery function in javascript tab menu

    Hello all,
    I have implemented a css/javascript tab menu on one of my html pages thanks to Chris Coyier (http://css-tricks.com/learning-jquery-fading-menu-replacing-content/), and within one of the tabs, which I labeled GALLERY, I am trying to place a thumbnail gallery curtosy of Trent (http://www.twospy.com/galleriffic/).
    Before trying to place it in the menu, I made the gallery on a seperate html page to make sure that I could get it to work.  It does. But when I place it in the menu it shows up on page load under the content of the first tab (labeled TOUR) and not in the gallery tab.  In addition, once I click on the "gallery" tab the other tabs stop showing their content.  I feel like I am missing something obvious. But I just can't figure out what.  If anyone can help I would greatly appreciate it.
    Thanks,
    Natalie
    Below is the code of my whole page:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Tour template</title>
    <!--TABS-->
    <link rel="stylesheet" type="text/css" href="MenuFader/style.css">
    <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
    <script type="text/javascript">
            $(function(){
                $("#tour-button").css({
                    opacity: 0.3
                $("#gallery-button").css({
                    opacity: 0.3
                $("#page-wrap div.button").click(function(){
                    $clicked = $(this);
                    // if the button is not already "transformed" AND is not animated
                    if ($clicked.css("opacity") != "1" && $clicked.is(":not(animated)")) {
                        $clicked.animate({
                            opacity: 1,
                            borderWidth: 5
                        }, 600 );
                        // each button div MUST have a "xx-button" and the target div must have an id "xx"
                        var idToLoad = $clicked.attr("id").split('-');
                        //we search trough the content for the visible div and we fade it out
                        $("#contents").find("div:visible").fadeOut("fast", function(){
                            //once the fade out is completed, we start to fade in the right div
                            $(this).parent().find("#"+idToLoad[0]).fadeIn();
                    //we reset the other buttons to default style
                    $clicked.siblings(".button").animate({
                        opacity: 0.5,
                        borderWidth: 1
                    }, 600 );
    </script>
    <!--End Tabs-->
    <script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
    <style type="text/css">
    <!--
    #realtor panel {
        width: 1000px;
    body {
        background-color: #282828;
        margin: 0px;
    .style4 {color: #A1A1A1}
    -->
    </style>
    <!-- InstanceBeginEditable name="Gallery" -->
    <title>Example tour page</title>
    <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="Gallery/js/jquery.galleriffic.js"></script>
    <script type="text/javascript" src="Gallery/js/jquery.opacityrollover.js"></script>
    <script type="text/javascript">
                document.write('<style>.noscript { display: none; }</style>');
    </script>
    <link rel="stylesheet" type="text/css" href="Gallery/css/galleriffic-2.css">
    <link rel="stylesheet" type="text/css" href="Gallery/css/basic.css">
    <!-- InstanceEndEditable -->
    </head>
    <!-- InstanceBeginEditable name="body" -->
    <body>
    <div id="realtor panel"><table width="100%" border="0">
      <tr>
        <td width="18%"> <div align="center"></div></td>
        <td width="82%"> </td>
      </tr>
    </table>
    </div>
    <div id="page-wrap">
            <div id="tour-button" class="button">
                <img src="MenuFader/images/TOUR.png" alt="tour" class="button" />
            </div>
            <div id="gallery-button" class="button">
                <img src="MenuFader/images/GALLERY.png" alt="property gallery" class="button" />
            </div>
            <div id="info-button" class="button">
                <img src="MenuFader/images/INFO.png" alt="info" class="button" />
            </div>
            <div id="specs-button" class="button">
                <img src="MenuFader/images/SPECS.png" alt="specs" class="button" />
            </div>
            <div class="clear"></div>
      <div id="contents">
        <div id="tour">
          <script type="text/javascript">
    AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','wid th','1270','height','443','src','swf files/Tudor Arms interative floor plan','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movi e','swf files/Tudor Arms interative floor plan' ); //end AC code
    </script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="1270" height="443">
            <param name="movie" value="swf files/Tudor Arms interative floor plan.swf" />
            <param name="quality" value="high" />
            <embed src="swf files/Tudor Arms interative floor plan.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="1270" height="443"></embed>
          </object></noscript>
        </div>
        <div id="property gallery">
             <div id="container">
                    <div id="gallery" class="content">
                        <div id="controls" class="controls"></div>
                        <div class="slideshow-container">
                            <div id="slideshow" class="slideshow"></div>
                        </div>
                    </div>
                    <div id="thumbs" class="navigation">
                        <ul class="thumbs noscript">
                            <li>
                                <a class="thumb" href="Gallery/images/example/apt entrance1.jpg">
                                <img src="Gallery/images/example/Tudor thumbs/apt face1.jpg" alt="apt entrance1" />
                                </a>
                           </li>
                          <li>
                                <a class="thumb" href="Gallery/images/example/apt entrance2.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/apt face2.jpg" alt="apt entrance2" />
                                </a>
                          </li>
                          <li>
                                 <a class="thumb" href="Gallery/images/example/apt entrance3.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/apt face3.jpg" alt="apt entrance3" />
                              </a>
                          </li>   
                            <li>
                                 <a class="thumb" href="Gallery/images/example/apt sign.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/apt sign.jpg"  alt="apt sign" />
                              </a>
                          </li>
                          <li>
                                 <a class="thumb" href="Gallery/images/example/entryway1.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/entry.jpg" alt="entry" />
                              </a>
                          </li>
                            <li>
                                 <a class="thumb" href="Gallery/images/example/living room1.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/living1.jpg"  alt="living1" />
                              </a>
                          </li>
                           <li>
                                 <a class="thumb" href="Gallery/images/example/living room2.jpg" >
                                 <img src="Gallery/images/example/Tudor thumbs/living2.jpg" alt="living3" />
                              </a>
                          </li>
                            <li>
                                 <a class="thumb" href="Gallery/images/example/living room3.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/living3.jpg"  alt="living3" />
                              </a>
                          </li>
                          <li>
                                 <a class="thumb" href="Gallery/images/example/dining1.jpg" >
                                 <img src="Gallery/images/example/Tudor thumbs/dining1.jpg"  alt="dining1" />
                              </a>
                          </li>
                            <li>
                                 <a class="thumb" href="Gallery/images/example/Dining2.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/dining2.jpg"  alt="dining2" />
                              </a>
                          </li>
                          <li>
                                 <a class="thumb" href="Gallery/images/example/dining3.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/dining3.jpg" alt="dining3" />
                              </a>
                          </li>
                            <li>
                                 <a class="thumb" href="Gallery/images/example/Kitchen1.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/kitchen1.jpg"  alt="kitchen1" />
                              </a>
                          </li>
                          <li>
                                 <a class="thumb" href="Gallery/images/example/Kitchen2.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/kitchen2.jpg" alt="kitchen2" />
                              </a>
                          </li>
                            <li>
                                 <a class="thumb" href="Gallery/images/example/bedroom1.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/bed1.jpg"  alt="bed1" />
                              </a>
                          </li>
                           <li>
                                 <a class="thumb" href="Gallery/images/example/bedroom2.jpg">
                                <img src="Gallery/images/example/Tudor thumbs/bed2.jpg"  alt="bed2" />
                              </a>
                          </li>
                            <li>
                                 <a class="thumb" href="Gallery/images/example/bedroom3.jpg" >
                                <img src="Gallery/images/example/Tudor thumbs/bed3.jpg"  alt="bed3" />
                              </a>
                          </li>
                            <li>
                                 <a class="thumb" href="Gallery/images/example/bathroom.jpg">
                                <img src="Gallery/images/example/Tudor thumbs/bath.jpg"  alt="bath" />
                              </a>
                            </li>
                        </ul>
                    </div>
                <div style="clear: both;"></div>
            </div>
        </div>
        <div id="info">
            <p class="style4">Content for info</p>
        </div>
        <div id="specs">
            <p class="style4">This content is for specs.</p>
        </div>
      </div>
    </div>
    <!--script for gallery-->
    <script type="text/javascript">
                jQuery(document).ready(function($) {
                    // We only want these styles applied when javascript is enabled
                    $('div.navigation').css({'width' : '400px', 'float' : 'left'});
                    $('div.content').css('display', 'block');
                    // Initially set opacity on thumbs and add
                    // additional styling for hover effect on thumbs
                    var onMouseOutOpacity = 0.67;
                    $('#thumbs ul.thumbs li').opacityrollover({
                        mouseOutOpacity:   onMouseOutOpacity,
                        mouseOverOpacity:  1.0,
                        fadeSpeed:         'fast',
                        exemptionSelector: '.selected'
                    // Initialize Advanced Galleriffic Gallery
                    var gallery = $('#thumbs').galleriffic({
                        delay:                     2500,
                        numThumbs:                 15,
                        preloadAhead:              10,
                        enableTopPager:            true,
                        enableBottomPager:         true,
                        maxPagesToShow:            7,
                        imageContainerSel:         '#slideshow',
                        controlsContainerSel:      '#controls',
                        captionContainerSel:       '#caption',
                        loadingContainerSel:       '#loading',
                        renderSSControls:          true,
                        renderNavControls:         true,
                        playLinkText:              'Play Slideshow',
                        pauseLinkText:             'Pause Slideshow',
                        prevLinkText:              '&lsaquo; Previous Photo',
                        nextLinkText:              'Next Photo &rsaquo;',
                        nextPageLinkText:          'Next &rsaquo;',
                        prevPageLinkText:          '&lsaquo; Prev',
                        enableHistory:             false,
                        autoStart:                 false,
                        syncTransitions:           true,
                        defaultTransitionDuration: 900,
                        onSlideChange:             function(prevIndex, nextIndex) {
                            // 'this' refers to the gallery, which is an extension of $('#thumbs')
                            this.find('ul.thumbs').children()
                                .eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
                                .eq(nextIndex).fadeTo('fast', 1.0);
                        onPageTransitionOut:       function(callback) {
                            this.fadeTo('fast', 0.0, callback);
                        onPageTransitionIn:        function() {
                            this.fadeTo('fast', 1.0);
    </script>  
    </body>
    <!-- InstanceEndEditable -->
    <!-- InstanceEnd --></html>

    Sure thing:
    http://www.acresllc.net/TA501001.html

  • Need help getting my i810 working: Function keys, brightness, ext. VGA

    Hello everyone,
    I am going to do a presentation in a few days, so this has become a bit urgent...
    On my i810-based Samsung Q10, the function keys for changing display brightness and switching to an external monitor do not work properly. Altering the brightness causes the mouse pointer to disappear, switching to the external VGA port does not work at all.
    Before my switch to Arch, this has never been an issue for me; they worked in every OS and graphics mode I had on the machine. Hence, I assume that Arch's X configuration somehow tries to capture those key events and pass them on to the driver, instead of to the video BIOS. However, I don't know where this might happen...
    Searching the forums did not give me any working solution so far.
    My driver is configured as follows:
    Section "Device"
    Identifier "Onboardchip"
    # Driver "intel"
    Driver "i810"
    VendorName "Intel"
    BoardName "i810 onboard"
    Option "HWCursor" "off"
    Option "AccelMethod" "exa" # neu, skaliert im Betrieb hoch
    Option "MigrationHeuristic" "greedy" # macht 2D flotter
    EndSection
    The intel and i810 drivers both show the same behaviour.
    Does anyone have any ideas? I would not like to have to do my presentation in Windows, especially now that KDEMod has this beautiful new design ;-)
    Many thanks in advance
      Jürgen

    The first thing i would check is in the Keyboard and mouse prefs pane to see if you selected to use the function keys for software features. If so, you need to use the fn key(bottom left of keyboard0 with the function keys to use those hardware functions. Then check to see that the num lock key isn't on, which usually affects the keyboard.
    If it's neither one of those, it is probably hardware. Could be a loose wire if you lifted up keyboard at all.

Maybe you are looking for

  • Purchase Req and Goods Receipt

    My client has ECC 6 and EP 7 in the landscape. I am implementing Employee Self Service portal. It looks like standard Purchasing Requisition and Goods Receipts iviews (ESS package) are pointing to SRM. We are not implementing SRM here. Is there any w

  • How to Supress the Second Page in Smart form

    Hi,   I have First page where there is no Main Window and on the Second page is with Main Window.Now lets say if there is item detais then vlaue will be printed on second page but in case there is no Item details so..the second page should not come o

  • Insert Water mark on current document

    I have some documents that I want to insert a watermark on them behind the text. A simple diagonal faded red OVERDUE or COPY across the page behind the text. In MS Word this was quick and easy. I cant find a way to do this in Pages. I tried a Help se

  • Questions about iMac Core i7 Photoshop performance

    Hello Everyone, I am in the market for a new Mac and was thinking about the iMac Core i7. Now my question is, how the performance of Photoshop is on that machine ? I work on 24 Mpix raws and occasionaly on 30-40+ Mpix raws from Medium Format cameras.

  • Problem: Audio from the video plays, but video does not show.

    Hi, I used the following code to play the video. The audio from the video plays displaying the player but there is no visual. There is no problem with the video as I have tried several other videos with .mpg and .mov extensions. import javax.swing.*;