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
*/Thankssunnymanman 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 AMHi,
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,
DimavaIt'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?
ThanksHi,
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.
MichaelHi 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.3I 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: '‹ Previous Photo',
nextLinkText: 'Next Photo ›',
nextPageLinkText: 'Next ›',
prevPageLinkText: '‹ 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ürgenThe 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.*;