Sunday, October 25, 2009

How do touch-screen monitors recognize your touch?

There are three basic systems that are used to recognize a person's touch:
  • Resistive
  • Capacitive
  • Surface acoustic wave

The resistive system consists of a normal glass panel that is covered with a conductive and a resistive metallic layer. These two layers are held apart by spacers, and a scratch-resistant layer is placed on top of the whole setup. An electrical current runs through the two layers while the monitor is operational. When a user touches the screen, the two layers make contact in that exact spot. The change in the electrical field is noted and the coordinates of the point of contact are calculated by the computer. Once the coordinates are known, a special driver translates the touch into something that the operating system can understand, much as a computer mouse driver translates a mouse's movements into a click or a drag.

In the capacitive system, a layer that stores electrical charge is placed on the glass panel of the monitor. When a user touches the monitor with his or her finger, some of the charge is transferred to the user, so the charge on the capacitive layer decreases. This decrease is measured in circuits located at each corner of the monitor. The computer calculates, from the relative differences in charge at each corner, exactly where the touch event took place and then relays that information to the touch-screen driver software. One advantage that the capacitive system has over the resistive system is that it transmits almost 90 percent of the light from the monitor, whereas the resistive system only transmits about 75 percent. This gives the capacitive system a much clearer picture than the resistive system.

On the monitor of a surface acoustic wave system, two transducers (one receiving and one sending) are placed along the x and y axes of the monitor's glass plate. Also placed on the glass are reflectors — they reflect an electrical signal sent from one transducer to the other. The receiving transducer is able to tell if the wave has been disturbed by a touch event at any instant, and can locate it accordingly. The wave setup has no metallic layers on the screen, allowing for 100-percent light throughput and perfect image clarity. This makes the surface acoustic wave system best for displaying detailed graphics.

Source:- http://www.howstuffworks.com

Friday, October 23, 2009

To make the application user friendly to your customers.

Do you aware of the 'Usability Testing' which is a part of non-functional testing?
Usability Testing is to make the application user-friendly to your customers.
If your customers want to do usability testing in the application (or) want to know about Usability testing, let me know.

Wednesday, October 21, 2009

Siebel Mobile Client Debugging (Using Environment Variable)

We often come across errors and problems in Siebel application whose source cannot be easily identified. The standard spooling (/s method in the Target of the siebel exe) of queries is helpful many times.
But many other times there is need of more detailed logging than the one produced by simple spool.
I am listing an already existing very simple method of detailed logging here. Many of you might already be aware and using this method. I have always found this method gives me the exact source of the problem.
Ok so say you are getting an error, which cannot be linked to any configuration or any change you have done.

The steps to increase the logging detail are:
1. Right-Click My Computer select Properties.
2. Goto Advanced tab in the system properties.
3. Click on the environment variables
4. In the environment variables window, create a new system variable by clicking the New button
5. Add variable name as SIEBEL_LOG_EVENTS, the variable value can be 4 or 5. I would recommend using value 4 to start, if that is not helpful increase it to 5.
6. Restart the system after making this change.
7. Start the Siebel application, reproduce the problem which needs debugging.
8. Goto the Log folder in the Webclient directory, open the Siebel.log file (it will be large in size) present there.
9. Search for error in this log file.

IMPORTANT: Remember to remove this System Variable after you are done with your debugging, otherwise the size of the file will go on increasing and eat up you system memory. And yes you will again need to restart your system for the removal to take effect.

The size of the log file generated by using this method is quite large. It might become a bit difficult to handle these files if you are not used to handling very large files. You can use the wordpad to open these files which will be a little bit faster than usual notepad. I use a different method involving a file splitting tool. I will handle that in my next post.

Have a successful debugging!!!

Monday, October 19, 2009

How to print webpage without images and background colors?

Today tip will help you to print any website page in readable form (only text) without any extra graphics or images. There is a option on many websites "Print" to print a page in text format only, but if there is no print option then you can print out any webpage without its background colors and images using Internet Explorer setting.
Generally Internet Explorer setting "Print background colors and images" is disable, another advantage of printing webpage without background colors, you can speed up your printing process and also save printer ink. But important thing to always preview WebPages before you print, in Internet Explorer go to File menu, then click on Print Preview option.

1)To enable or disable print background colors option, open your system Internet Explorer.
2)Click the Tools menu and then go to Internet Options and open it. Here click the Advanced tab then scroll down to find the option Printing section.
3)Now check the option "Print background colors and images" then Apply and press Ok button.

Saturday, October 17, 2009

Shell script - Compare two files

#!/bin/bash
clear
ARGV=3
if [ $# -eq 3 ];
then
echo "The following lines are Missing in the Destination File $2" >$3
echo -e "#######################################################################################"echo -e "#\t Please wait…."
while read LINE
do
grep -F "$LINE" $2>/dev/null
if [ $? -eq 0 ];
then
echo "">/dev/null
else
echo "$LINE" >>$3
fi
done <$1
else
echo "Syntax Usage: ./filecompare.sh source destination output"
fi
echo -e "#\t Script Done"
echo -e "#\t `cat $3wc -l` lines are missing in the file $2. Output file is $3"
echo -e "#######################################################################################"

Thursday, October 15, 2009

JBOSS Default Ports Configuration

Below listed are Default ports which can see after starting the default JBOSS instance…….
——————————————————————————————————————
8009 Apache java portocol connector
8080 HTTP 1.1 Connector
1099 Naming Bootstrap
1098 Naming Remote Method invocation
4444 EJB Invoker
4445 Alernative Pooled EJB Invoker
8083 Class Loading Service
8093 Messaging UIL2
———————–
Clustering
———————–
1100 Clustered Naming Service
1102 Naming Discovery

Tuesday, October 13, 2009

Months as string in Cf

MonthAsString
Determines the name of the month that corresponds to month_number.
A string; the name of a month.
Syntax :
MonthAsString(month_number)


Parameter Description
month_number An integer in the range 1 - 12.

MonthAsString Example



More information about your date:



Your date, #DateFormat(yourDate)#.

It is #DayofWeekAsString(DayOfWeek(yourDate))#, day #DayOfWeek(yourDate)# in the week.

This is day #Day(YourDate)
# in the month of #MonthAsString(Month(yourDate))#, which has
#DaysInMonth(yourDate)# days.

We are in week #Week(yourDate)
# of #Year(yourDate)# (day #DayofYear(yourDate)# of
#DaysinYear(yourDate)#).



This is a leap year
This is not a leap year




Source : http://livedocs.adobe.com/coldfusion/6.1/htmldocs/functa46.htm#wp1109961

Sunday, October 11, 2009

DatePart CF function

DatePart
Extracts a part from a date value.
Part of a date, as an integer.

Syntax :
DatePart("datepart", "date")
Parameter Description datepart String:
yyyy: Year
q: Quarter
m: Month
y: Day of year
d: Day
w: Weekday
ww: Week
h: Hour
n: Minute
s: Second
l: Millisecond
When passing a date/time object as a string, you must enclose it in quotation
marks. Otherwise, it is interpreted as a numeric representation of a date/time object.



  • year: #DatePart("yyyy", todayDate)#
  • quarter: #DatePart("q", todayDate)#
  • month: #DatePart("m", todayDate)#
  • day of year: #DatePart("y", todayDate)#
  • day: #DatePart("d", todayDate)#
  • weekday: #DatePart("w", todayDate)#
  • week: #DatePart("ww", todayDate)#
  • hour: #DatePart("h", todayDate)#
  • minute: #DatePart("n", todayDate)#
  • second: #DatePart("s", todayDate)#



source : http://livedocs.adobe.com/coldfusion/6.1/htmldocs/functi60.htm#wp1103355

Friday, October 09, 2009

MVS SYSTEM CODES-S713

An error occurred in opening a data set on tape. 1. An attempt was made to output to the data set, before the expiration date specified had been reached. 2. The incorrect volume was requested.

Ref: www.ibmmainframes.com

Wednesday, October 07, 2009

Create Dblink Without Tnsnames Ora

It's possible to create a database link without having a alias in your tnsnames.ora file. This is beneficial when you use a remote database only for one time or when your tnsnames.ora is shared on a fileserver and you don't have the privileges to update the file.

create database link
connect to
identified by
using '(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS =(PROTOCOL = TCP)
(HOST = )
(PORT = 1521)))
(CONNECT_DATA = (SID = )))'

Monday, October 05, 2009

MVS SYSTEM CODES-S714

An error occurred in closing a tape data set. 1. An I/O error occurred while writing a trailer label or tapemark. Rerun the job specifying another volume or device.

Ref: www.ibmmainframes.com

Saturday, October 03, 2009

SQL query tuning tips

“A solution is a state when you are tired of thinking“
This proverb indeed holds good for us in majority of the situations. The solutions that we provide to our customers have room for improvement by all means.
I have tried to list down a few of observations I made in my SQL performance tuning exercises. And I hope it is useful for the readers as well..

Using a Subset in SELECT:
It is always advisable to use the subset of fields that you require to process in a SELECT statement rather than *. Using a SELECT * consumes more resource and time in turn reducing the overall performance of the system.

IN / BETWEEN – Which clause works well for me ?
In case of a choice of using the IN or the BETWEEN clauses in the query, it is advantageous to use the BETWEEN clause, as it is much more efficient.
For example:
SELECT empid,empnameFROM employeeWHERE empid in (1,2,3,4,5,6,7,8,9,10);
is less efficient than:

SELECT empid,empnameFROM employeeWHERE empid BETWEEN 1 and 10;

Assuming there is a useful index on empid, the Query Optimizer can locate a range of numbers much faster (using BETWEEN) than it can find a series of numbers using the IN clause. As it is implied, checking for the list is going to go for N comparisons and BETWEEN would ideally be going for a check against the lower limit and the upper limit.
LIKE clauseIf LIKE is used in a WHERE clause, it is better to try to use one or more leading character in the clause, if at all possible.
For example :
Use
LIKE 'a%' not LIKE '%'
If a leading character is used in the LIKE clause, the query optimizer has the ability to potentially use an index to perform the query thereby, speeding performance. But if the leading character in a LIKE clause is a wildcard, a complete table scan has to be performed to process the query which in turn would bring down the performance.

DISTINCT clauseAt times this clause is added to every SELECT statement, even when it is not necessary. The DISTINCT clause should be used in SELECT statements when it is known that there would be duplicates and having duplicate rows in the result set would cause problems. DISTINCT would return the complete resultset to the temporary space, performs a SORT on the rows and eliminates the duplicates. So it uses the resources exhaustively.The DISTINCT clause reduces the efficiency if not used properly.

I would share some more in near future…Happy Reading !!!

Thursday, October 01, 2009

Top 10 most useful secret moves in Office products!!!

Here are my top 10 most useful secret ninja moves to increase your productivity and win friends and lovers.

1: Format painter (Office)The Format Painter tool replicates the formatting from one part of a document to another. So instead of manually redoing all the formatting yourself, you can use the Format Painter. First, select the text whose formatting you want to replicate. Then, click the Format Painter toolbar button. Finally, select the text you want to imbue with the format. For bonus points, you can double-click the Format Painter button to replicate the formatting to multiple areas of the document!

2: Paragraph in/out/up/down (Office)You can easily move a paragraph in four directions by pressing Alt+Shift+[Arrow]. To increase or decrease the indentation level of a paragraph or bullet point, press Alt+Shift+Right and Alt+Shift+Left respectively. To move a paragraph up or down, press Alt+Shift+Up or Alt+Shift+Down. This works especially well in PowerPoint, where it's common to reorder bullet points or change indentation levels.

3: Increase or decrease font size (Office)To quickly increase the font size of selected text, press Ctrl+Shift+>. To decrease the size, press Ctrl+Shift+<. I find it easy to remember these keyboard shortcuts because the one with the greater-than symbol increases the font size while the less-than symbol decreases it.

4: Quick Access Toolbar (Office)Office 2007 has a Quick Access Toolbar that can be customized to include buttons for your favorite commands. The Quick Access Toolbar is in the top left corner of many Office applications. You customize it by clicking on the drop-arrow on its right.

5: Fill handle (Excel)Excel can auto-fill cells in eerily smart ways. Instead of manually typing a sequence in cells, you can simply type the first few values of the sequence and drag the fill handle to auto-fill the rest of the cells. The fill handle is the little black square at the lower right corner of a selected cell's border. Drag it to automatically fill adjacent cells.
If you drag the fill handle with only one cell selected, it will repeat that cell's value into adjacent cells. However, if you drag the fill handle with multiple cells selected, Excel is smart enough to figure out the series. For instance, in the following example, Excel will fill subsequent cells with the increasing series of odd numbers. This even works for other types of series, like dates and percentages.

6: Moving and copying cells by dragging selection borders (Excel)Quite possibly the most useful yet completely undiscoverable feature in Excel is the ability to move and copy cells by dragging selection borders.
For instance, to move row four between rows one and two, select row four and drag the selection border while holding down the Shift key in order to insert it in its new position. If you drag the border without holding down the Shift key, the selected cells will instead replace the cells you drop them on. Conversely, if you hold down Ctrl while dragging a selection border, the selected cells are copied to their new location.

7: Status bar statistics (Excel)The status bar in Excel shows handy statistics when multiple cells are selected. In Excel 2007, the status bar shows the selected cells' average, count, and sum. This is an easy way to quickly analyze data without authoring formulas.

8: Clear formatting (Word and PowerPoint)To remove formatting from selected text, press Ctrl+Spacebar.

9: Advanced field search (Outlook)In Outlook, you can quickly search through a mail folder by using the Instant Search box. In addition to searching for keywords, you can do a fielded search by prefixing your search text with a variety of field names.
For instance, the above example searches for all mail from people named "jimmy" sent in May with attachments that have "jpg" in the filename. I most often use this feature for two things: to easily find email from a specific person, and to find specific attachments.

10: Presenter view (PowerPoint)PowerPoint has for many years had a great feature called Presenter View, which allows you as the presenter to see a different view of the presentation from your audience. In Presenter View, your monitor shows not only the slides, but also your notes as well as the current elapsed time in the presentation. This makes giving a presentation far easier. To enable Presenter view, go to the Slide Show ribbon and check Use Presenter View. In that same section, you can also change the monitor which the presentation is shown on. One note: the Use Presenter View checkbox can only be checked if you already have a second monitor connected and enabled.

Source: http://office.microsoft.com/en-us/help/HA102750211033.aspx

Tuesday, September 29, 2009

Convert a table to text in Word!!!

To convert a table into text:
Select the rows or the table you want to convert to text. Under Table Tools, on the Layout tab, within the Data group, click Convert to Text. Under Separate text at, click the option for the separator character that you want to use in place of the column boundaries. Word will automatically convert the rows or table into text.

Source: http://www.lockergnome.com/windows/2008/09/08/convert-a-table-to-text-in-word-2007/

Sunday, September 27, 2009

How handle exception in VB.NET ?

VB.NET has an inbuilt class that deals with errors. The Class is called Exception. When an exception error is found, an Exception object is created. The coding structure VB.NET uses to deal with such Exceptions is called the Try … Catch structure.

Syntax:TryCatch ex As ExceptionEnd TryThe Try word means "Try to execute this code". The Catch word means "Catch any errors here". The ex is a variable, and the type of variable it is an Exception object.

Example:Tryrt1.LoadFile ("C:\test10.txt", RichTextBoxStreamType.PlainText)Catch ex As Exception MsgBox (ex. Message) End Try

When you run your program, VB.net will try to execute any code in the Try part. If everything goes well, then it skips the Catch part. However, if an error occurs, VB.NET jumps straight to Catch and exception message in message box is executed.

Friday, September 25, 2009

Designing for Web 2.0

Designing for web 2.0 is nothing but making our design look simple,so that the pages download faster and making elements look very clear.For example, user larger font (font-size:12px) is the latest trend.Like-wise there are so many things which makes different from non-web2.0 websites.
Few of them are separating header from the content, Using cute icons, using larger font-size, etc,

Wednesday, September 23, 2009

Ingenium product Vs Mainframe Technology

Ingenium Knowledge
• Exposure to Domain and end to end knowledge of Policy Administration system
• Various Insurance Product Implementation / business processes exposure
• Specific Products knowledge is valued against technologies in the market
• Quick recognition and faster growth perspective
• Opportunity to play multiple roles and responsibilities based on experience and exposure

Open/Mainframe System Knowledge
• Limited to technology and not much exposure to domain
• Knowledge is restricted only towards technology / business process of that applications
• Niche technical skills alone are valued in the market
• Quick recognition and Growth perspective is not very encouraging
• Career Path is limited with pre-defined roles and responsibilities

Monday, September 21, 2009

Pseudo conversational transaction in CICS

Pseudo conversational transaction:
There are some advantages in CICS online system.

Multitasking: CICS allows multiple transactions (tasks) to execute at the same time
Multithreading: CICS allows multiple concurrent tasks to share the same program
Re-entrance: Programs running under CICS do not change themselves so that they can continue from where they left off after an interruption.

CICS –> Transaction to trigger application and It is also batch job to the mainframe.
Transaction –> 4 Character unique identification and all these transaction is controlled by control tables.

Saturday, September 19, 2009

Sample Procedure

To run procedure(proc) in sql+ or sql develpoer there are two methods:
1) begin
proc_name;
end;

2) proc proc_name;

Thursday, September 17, 2009

Handling Dropdown elements using Selenium IDE

Here is an example on how to handle Dropdown elements in selenium IDE.
Example:





Select From Dropdown











































































Select From Dropdown
store 58058 option1
store 30 index1
open http://pages.ebay.com/sitemap.html
select category0 label=Toys & Hobbies
storeSelectedLabel category0 label1
assertSelectedIndex category0 ${index1}
assertSelectedLabel category0 ${label1}
select category0 label=Computers & Networking
storeSelectedLabel category0 label2
assertSelectedLabel category0 ${label2}
assertSelectedValue category0 ${option1}




Tuesday, September 15, 2009

Different BitMapset Macros in CICS.

Mapset:
- Group of maps link edited together and mapset consisting of several maps
Map:
- Representation of one screen format

Different Macros:
DFHMSD - Mapset macro
DFHMDI - Map macro
DFHMDF - Field macro

Example:
DFHMSD - Mapset macro
Mapname DFHMSD TYPE = &&SYSPARM,
CTRL= (FREEKB, FRSET), LANG=COBOL, STORAGE=AUTO, TIOAPFX=YES, MODE=INOUT, TERM=3270
DFHMDI - Map macro
Mapname DFHMDI SIZE = (24,80), LINE=01, COLUMN=01,
CTRL=(FREEKB,FRSET)
DFHMDF - Field macro
DFHMDF POS= (01,01), LENGTH=4, INITIAL=‘SCR1’,
ATTRB=ASKIP

Sunday, September 13, 2009

General CICS commands.

CICS Commands Structure:
EXEC CICS CICS COMMAND OPTION (value) (Parameters as needed)END-EXEC.

OPTIONS:
RECEIVE
- Used to receive incoming data from the terminal. - A receiving area must be defined in the working storage section.
SEND - Used to send outgoing data to the terminal. - A receiving area must be defined in the working storage section and specified in FROM parameter.
RETURN - Used to terminate the transaction and return control to CICS.
XCTL - Used to pass control between application programs at same logical level.
LINK - Used to pass control between application programs. - Control passed from higher logical level to next lower logical level.
HANDLE AID - Used to specify paragraph name to which control is passed.

Friday, September 11, 2009

Oracle Data Management Solution

Oracle Site Hub is a location mastering solution that enables organizations to centralize site and location specific information from heterogeneous systems, creating a single view of site information that can be leveraged across all functional departments and analytical systems. Site Hub helps organizations eliminate the problem of distributed, fragmented, incomplete and inconsistent site data resulting from isolated silos of data, lack of centralized data repository, rapid business expansion or mergers and acquisitions.

What does it delivers
1. A pre-built extensible data model for mastering site information both internal and external such as competitor, supplier, customer sites
2. A single enterprise wide 360 degree view of the sites
3. Unlimited number of pre-defined and user-defined attributes for consolidating site-specific information
4. Mass maintenance capabilities to manage updates to multiple sites
5. Site mapping and view using Google Maps
6. Pre-built integration with Oracle Inventory, Oracle Property Manager and Oracle
7. Enterprise Asset Management to manage site-specific inventory, property lease and assets 8. Web services to consolidate and share site data across disparate systems and processes
http://www.oracle.com/master-data-management/site-hub.html

Wednesday, September 09, 2009

Cocomo, Build real-time social app. with Flex

Add social features to your existing Flex apps or build totally new ones, such as real-time productivity/collaboration apps, multiplayer games, and audio/video chat.

Features of the Cocomo beta include the following:
  • VoIP Audio
  • Webcam Video
  • Chat
  • Multi-User Whiteboards
  • Real-Time File Sharing
  • User Management
  • Roles and Permissions
  • Robust Data Messaging

To get started:
To get access to the Cocomo service and Cocomo SDK, you will need to create a developer account. Follow these steps to create a developer account:

1.Navigate to the Developer Portal (http://cocomo.acrobat.com/)
2.Enter your existing Adobe ID or create a new Adobe ID with different email address and password. Your Cocomo developer account will be automatically created based on your Adobe ID.
3.Download and unzip the Cocomo SDK, check out the documentation, and start developing.
4.Ask questions and share your feedback in the Cocomo forums

Monday, September 07, 2009

Example for accessing a control in the master page from a content page

The following code shows an example that accesses a control in the master page from a content page.

<%@ master language="C#" %>


Master Page














Left Navigation












ref:devx

Saturday, September 05, 2009

How to access the Header control from a content page

<%@ page language="C#" master="~/ExposeHeader.master" %>


This content is generated from the content page.

ref:devx

Thursday, September 03, 2009

Accessing super-super class variables

In core java, Sub-classes can use super keyword to access the shadowed variables in super-classes. This technique allows for accessing only the immediate super-class. super.super is not valid. But casting the 'this' reference to classes up above the hierarchy will do the trick. By this way, variables in super-classes above any level can be accessed from a sub-class, since variables are resolved at compile time, when we cast the 'this' reference to a super-super-class, the compiler binds the super-super-class variable. But this technique is not possible with methods since methods are resolved always at runtime, and the method gets called depends on the type of object, not the type of reference variable. So it is not at all possible to access a method in a super-super-class from a subclass.

Example:
class A{
int c=1;
public void disp(){
System.out.println("A");
}
}

class B extends A{
int c=2;
public void disp(){
System.out.println("B");
}
}

class C extends B{
int c=3;
public void disp(){
System.out.println("C");
}

void demo(){
disp();
super.disp();
((A)this).disp();
System.out.println(c);
System.out.println(super.c);
System.out.println(((A)(this)).c);
}
}
public class G{
public static void main(String args[]){
new C().demo();
}
}

Output:-
C
B
C
3
2
1

Tuesday, September 01, 2009

Want to browse the web from Outlook

How great it will be if you are able to browse the web from outlook.Yes,you can surf the web without leaving your outlook.
Find the coolest information here.
To surf the web you need web toolbar,so display the web toolbar you have to go to view menu,toolbar submenu,then select web.
Now you can find web toolbar below menu option .Enter the web address in web toolbar and hit enter key.
You can see the main screen becomes browser,but oulook navigation pane on left side will be as it is..
To return to outlook you just have to click the navigation pane.
That's it.You have discovered browser in oulook.How cool is it!!

Saturday, August 29, 2009

Automate Web Service Testing the Right Way

Web services Web services are perfect candidates for automated testing. Compared with validating a UI, Web services Web services testing is quite simple: send a request, get a response, verify it. But it's not as easy as it may look. The main challenge is to identify the formal procedures that could be used for automated validation and verification. Other problems include dynamic data and differing request formats.

In the project our team was working on when this was written, there were many different Web services in need of testing. We needed to check not only the format of the request and response, but also the business logic, data returned by the services and the service behavior after significant changes were made in the architecture. From the very beginning we intended to automate as many of these tests as possible. Some of the techniques we used for automated verification of Web services functionality were as follows:

1.Response schema validation.
This is the most simple and formal procedure of response structure verification. There are free schema validators out there that can easily be built into automated scripts. However, schema validation is not sufficient of you also need to validate the Web services logic based on data returned from a service.

2.Comparison of the actual response with the expected response.
This is a perfect method for Web service regression testing because it allows for checking of both response structure and data within the response. After the successful manual validation, all valid responses are considered correct and saved for future reference. The response of all next versions of that Web service will then be compared with these template files. There is absolutely no need to write your own script for XML file comparison; just find the most suitable free tool and use it within your scripts. However, this method is not applicable when dealing with dynamic data or if a new version of Web services involves changes in the request structure or Web services architecture.

3.Check XML nodes and their values.
In the case of dynamic data, it can be useful to validate only the existence of nodes using XPath query and/or check the node values using patterns.

4.Validate XML response data against original data source.
As a “data source” it’s possible to use database, another service, XML files, non-XML files and in general, everything that can be considered a “data provider” for Web services. In combination with response schema validation, this method could be the perfect solution for testing any service with dynamic data. On the other hand, it requires additional skills to write your own scripts for fetching data from data source and comparing it with service response data.

5.Scenario testing.
This is used when the test case is not a single request but a set of requests sent in sequence to check Web services behavior. Usually the Web services scenario testing includes checking one Web service operation using another. For example, you can check that the CreateUser request works properly by sending a GetUser request and validating the GetUser response. In general, any of the above techniques can be used for Web services scenarios. Just be careful to send requests one after another in the correct order. Also be mindful of the uniqueness of test data during the test. The service might not allow you to create, for example, several users with the same name. It’s also common for one request in a sequence to require data from a previous response. In this case you need to think about storing that data and using it on the fly.

All of these techniques were implemented using a home-grown tool which we were using in our day-to-day work. Using that tool, we are able to automate about 70 percent of our test cases. This small utility that was originally created by developers for developers to cover typical predefined test conditions and gradually evolved into rather powerful tool. Having such a tool in your own organization could help your testing efforts well into the future.

Source: http://www.stpmag.com

Thursday, August 27, 2009

W3C XML schema

XML schema is some other XML file which like DTD defines the type of document contents. Ths most famous is W3C XML schema but there could other means to declare the document. An example below shows generic XML schema content. Its root element is schema. Besides namespace-prefix mapping it can contains some set of attributes. Here we enable full-qualified names for elements and names only (without namespace prfixes) for attributes:


http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

…



source: java-tips.org

Tuesday, August 25, 2009

User Extension for gotoLabel command

We can use loop concepts in Selenium IDE:
Here is the user extension for gotoLabel command.

Selenium.prototype.doGotolabel = function( label ) {
if( undefined == gotoLabels[label] ) {
throw new Error( "Specified label '" + label + "' is not found." );
}
this.continueFromRow( gotoLabels[ label ] );
};

Sunday, August 23, 2009

Increase your system performance

We all like the colourful Windows XP desktop. But this GUI (graphical user interface) is using a lot of system resources.You can optimize your MS Windows XP performance by disabling some of these visual effect.

To optimize your Windows XP:-
1. Click Start => Setting => Control Panel
2. Click System => Advance Tab
3. Click Settings button under Performance
4. Under Visual Effects tab, select Adjust for best performance (all the check boxes will be unchecked)
5. Scroll down the list and check “Use Common Tasks in Folders”
6. Click OK and OK again.

Your Windows XP will now has less colourful and lesser visual effect and it will look like MS Windows 98 but do not forget that your system performance would have been by increased now !!!

Source: www.techiecorner.com

Friday, August 21, 2009

Example for gotoLabel command in Selenium IDE

Here is the example for gotoLabel command. When Selenium IDE encounters gotoLabel command, it searches for targetted label name in the rest of the script and passes the control to targetted Label and the executes the steps from Label command and skips the steps that are in between gotoLabel and Label commands. When the targetted label is not found it throws error.

Extension for Label Command:
Selenium.prototype.doLabel = function(){};

Example:


http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
http://selenium-ide.openqa.org/profiles/test-case">

http://www.google.co.in/" />
New Test

























































New Test
open http://www.google.co.in/
verifyText link=Go to Google.com Go to Google.com
gotolabel label1
clickAndWait link=Go to Google.com
verifyTextPresent this wont execute
clickAndWait link=Go to Google India
label label1
verifyTitle Google




Wednesday, August 19, 2009

Learn Vocabulary through SMS

Do you want to imrove your vocabulary ,I guess a word a day will help you.
Here are few internet sites which will send you a word a day thru SMS.

http://labs.google.co.in/smschannels/subscribe/wordoftheday
http://www.kaaledge.com

Do register your mobile in these sites and improve your vocabulary.

Monday, August 17, 2009

Restarting Windows Without Restarting Your PC!!!

A modern PC with Vista Home Edition takes about one and a half minutes to boot. An older machine with XP is about the same. That’s 30 seconds for the PC itself (the BIOS) to boot up, plus a minute for the Windows operating system to boot.

Sometimes, you need to reboot Windows (e.g. when installing new software), but there is no need to restart BIOS, too. However, the default is to reboot both. (That’s called doing a “cold boot,” rather than a “warm boot.”) There’s a trick that works on both XP and Vista to get it to do a warm boot instead, thus saving you 30 seconds per cycle.

The trick is to hold down the SHIFT key when invoking the restart.

Windows Vista:
Select Start, then hover over the right arrow that is to the right of the padlock icon until the pop-up menu appears that contains “restart” as one of it’s choices. Hold down the SHIFT key while clicking on the “restart” choice.

Windows XP:
Select Start. Select “Shut Down…”. Change the drop-down combo box under “What do you want the computer to do?” to “Restart”. Hold down the SHIFT key while clicking on the “OK” button.

Source: http://pcpandit.com/index.php/windows/restarting-windows-without-restarting-your-pc.html

Saturday, August 15, 2009

Generating random number

First you would need to create an instance of Random class:
Random random = new Random();
Then, you can get your random number by calling:
int pick = random.nextInt(maxvalue);

This would return a value from 0 (inclusive) to maxvalue (exclusive).

For a more cryptographically strong pseudo random generator you may check out java.security.SecureRandom class. Here the caller may specify the algorithm name and (optionally) the package provider. Here is a sample code of using SecureRandom class:

SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
random.setSeed(seed);
int randInt = random.nextInt(maxvalue);

source:java-tips.org

Thursday, August 13, 2009

PureMVC Framework for JavaScript Available

PureMVC has been ported to JavaScript !

Download the Javascript port from the following links.
PureMVC Port for JavaScript - http://trac.puremvc.org/PureMVC_JS PureMVC JS Employee Admin - http://trac.puremvc.org/Demo_JS_EmployeeAdmin

Tuesday, August 11, 2009

Nesting Master Pages

There are times where you may want to provide overall branding and appearance for your Web site, but at the same time provide sub-sites whose appearance must be consistent. To accomplish this, you need to nest one master page within another page, a process called "Nesting Master Pages". Nesting support is built-in, which means you don't have to do anything special to reap the advantages of nested master pages; a content page that uses a sub-master page will automatically receive content from all the master pages in the hierarchy.

Using the master pages architecture, you could implement a consistent look and feel across all the developer centers. For example, you can have the main MSDN page derive from a root master page. Each developer center can have its own master page, each of which uses the root master page as its master. This means a content page in any of the developer centers will inherit the root master page look and feel settings that provide overall MSDN branding, and will also inherit the custom look and feel specific to that developer center. This nested approach provides each developer center with the freedom to develop customized content while maintaining a consistent overall branding for the entire site.

ref:devx

Sunday, August 09, 2009

Configuring Master Pages

So far, you've used the master attribute of the Page directive in the content pages to specify the name of the master page. Even though this approach works, it requires you or your developers to specify the master attribute in each page. You can eliminate that requirement by specifying the name of the master file in the web.config file under the pages element. After adding the entry to your web.config file, all the pages in that Web application will automatically use the designated master page. For example, the following web.config file entry specifies that all the pages in the Web application should use IntroMaster.master as their default master page.







You're not limited by setting the default master page in the web.config file. Even when you use this method to specify the name of a default master page, you can still override the global value by specifying a different master page in the master attribute of the Page directive. Any values you specify using the Page directive takes precedence over the web.config file entry.

To sum up, ASP.NET's new Master Pages feature provides a clean approach to encapsulate common functionality and content a centralized location, allowing other pages to inherit from those master pages, thereby greatly reducing the maintenance. Using master pages, you can also create one set of controls and code and apply the results to all your content pages. Apart from providing a fine-grained control over the layout of the content pages, master pages also expose an object model that allows you to access the master page controls, properties and methods from content pages.

ref:devx

Friday, August 07, 2009

Ten things you might not know about Google

1) The name Google is a spelling error. The founders of the site, Larry page and Sergey Brin, thought they were going for 'Googol.' Googol is the mathematical term for 1 followed by 100 zeros. The term was coined by Milton Sirotta, nephew of American mathematician Edward Kasner, and was popularized in the book, Mathematics and the Imagination by Kasner and James Newman. Google's play on the term reflects the company's mission to organize the immense amount of information available on the web. Initially, Larry and Sergey Brin called their search engine BackRub, named for its analysis of the of the web's "back links." The search for a new name began in 1997, with Larry and his officemates starting a hunt for a number of possible new names for the rapidly improving search technology.
2) The reason the google page is so bare is because the founder didn't know HTML and just wanted a quick interface. Due to the sparseness of the homepage, in early user tests they noted people just kept sitting staring at the screen, waiting for the rest to appear. To solve the particular problem the Google Copyright message was inserted to act as an end of page marker.
3) Google started as a research project by Larry page and Sergey Brin when they were 24 and 23 years respectively. Google's mission statement is to organize the world's information and make it universally accessible and useful. The company's first office was in a garage, in Menlo Park, California. Google's first employee was Craig Silverstein, now Google's director of technology. The basis of Google's search technology is called PageRank that assigns an "importance" value to each page on the web and gives it a rank to determine how useful it is. However, that is not why it is called PageRank. It is actually named after Google co-founder Larry Page.
4) Google receives about 20 million search queries each day from every part of the world, including Antarctica and Vatican. You can have the Google homepage set up in as many as 116 different languages –including Urdu, Latin, Cambodia, Tonga, and Yoruba. In fact, Google has the largest network of translators in the world.
5) In the earliest stage of Google, there was no submit button, rather the Enter key needed to be pressed.Google has banned computer-generated search requests, which can sop up substantial system resources and help unscrupulous marketers manipulate its search rankings.
6) The Google's free web mail service Gmail was used internally for nearly two years prior to launch to the public. The researchers found out six types of email users, and Gmail has been designed to accommodate these six. The free e-mail service recently changed its name for new UK users. Following a trademark dispute with a London-based Independent International Investment Research, the mail account has been renamed Google Mail.
7) It would take 5,707 years for a person to search Google's 3 billion pages. The Google software does it in 0.5 seconds. Google Groups comprises more than 845 million Usenet messages, which is the world's largest collection of messages or the equivalent of more than a terabyte of human conversation
8) The logos that appear on the Google homepage during noteworthy days and dates and important events are called Google Doodle. The company has also created an online museum where it has all the logos it has put on various occasions so far.Dennis Hwang, a Korean computer artist in the United States, is the guy behind these witty Doodles. Hwang has been drawing the face of Google for over two years.
9) You have heard of Google Earth, but not many know there is a site called Google Moon, which maps the Lunar surface. Google Moon is an extension of Google Maps and Google Earth that, courtesy of NASA imagery, enables you to surf the Moon's surface and check out the exact spots that the Apollo astronauts made their landings
10) Keyhole, the satellite imaging company that Google acquired in October 2004 was funded by CIA.Keyhole's technology runs Google's popular program Google Earth that allows users to quickly view stored satellite images from all around the world.

Wednesday, August 05, 2009

Folder Option Missing

Many of us sometimes find the folder option missing in the windows explorer.
Here is the solution—>

1.Open Run and Type "gpedit.msc"
2.Now goto User Configuration>Administrative templates>Windows Component>Windows Explorer
3.Click on windows Explorer you will find the thrid option on the right side of screen "Removes the Folder Option menu item from the tools menu"
4.just check it,if it is not configured then change it to enable by double clicking on it and after applying again set it to not configured.
5.I hope that you will find the option after restarting windows.

Monday, August 03, 2009

Multi Google Talk

Just follow the simple steps Below:

1.Right click on google talk shortcut,
2.click on properties
3.Go to shortcut tab on google talk properties window
4.on the target textbox,add in the /nomutex to the end of the line so that it looks like below(or you can simply copy and paste the below syntex and replace the original)
"c:\program files\google\google talk\googletalk.exe" /nomutex
5.click on ok

I didnt have to do anything after this and clicking on the shortcut multiple times just gave me different google talk window.

Saturday, August 01, 2009

How Do You Speed Up Flex Builder?

Here is a article written by Brian Deitte(http://www.deitte.com/archives/2006/12/about_this_blog.htm) , explaining how to speed flex builder

Here are some of things we do:
1.Build every application in one project using multiple source paths (instead of using extra library projects)
2.Build parts of the applications as SWCs (instead of referencing their source paths)
3.Close extra projects
4.Use a system font instead of embedding fonts
5.Run "eclipse -clean" occasionally
6.Turn off "Copy non-embedded files to source folder"
7.Turn off "Build Automatically"

Things we haven't tried or just trying now and which may be helpful:
1.Build a lot of the application as SWCs or anything as an RSL
2.The Hellfire compiler (http://stopcoding.wordpress.com/2008/06/17/hellfire_compiler/)3.Use the Flex 4 SDK (or just the compiler portion) with Flex Builder
4.Merge some of the many Flex 4 compiler performance changes into a Flex 3 SDK, and using this in Flex Builder

Thursday, July 30, 2009

Want to Add your site to all search engines.

Many people designing websites today,but if it is not known to others ,there is no use in that.So everyone wants to add their sites in search engines ,so that people came to know the websites.
i will give you some list of search engines url submission link,try this link and submit your urls.Your site will be indexed in all search engines in less time and your pages will be displayed in the search results.

Google - http://www.google.com/addurl/
Yahoo - https://siteexplorer.search.yahoo.com/submit
MSN/LIVE - http://search.live.com/docs/submit.aspx
Cipinet - http://cipinet.com/addurl/
Alexa - http://www.alexa.com/site/help/webmasters#crawl_site
Aesop - http://www.aesop.com/cgi-bin/sub/submiturl.cgi
Burf - http://www.burf.com/submit.php
guruji - http://dir.guruji.com/misc/SubmitSite.php
Accoona - http://www.accoona.com/public/submit_website.jsp
Entireweb - http://www.entireweb.com/free_submission/
FyberSearch - http://www.fybersearch.com/add-url.php
MixCat - http://www.mixcat.com/addurl.php
OneSeek - http://www.oneseek.com/listings.htm
WhatUseek - http://www.whatuseek.com/addurl.shtml
Scrub The Web - http://www.scrubtheweb.com/addurl.html
Search Site - http://searchsight.com/submit.htm
SonicRun - http://www.sonicrun.com:8081/add
Abacho - http://www.uk.abacho.com/anmelden.html#nogo
Acoon.com - http://www3.acoon.com/addurl.html
Amfibi - http://addurl.amfibi.com/
homerweb - http://www.homerweb.com/submit_site.html
JGDO - http://www.jdgo.com/add.html
Myahint - http://www.myahint.com/addurlmyahint.html
Walhello - http://www.walhello.com/addlinkgl.html
Stopdog - http://www.stopdog.com/submit
Searchengine.com - http://www.searchengine.com/List_Your_Site/Basic_Submit/
eXactBot - http://www.campubco.com/cgi-bin/exactsearch.cgi?action=showadd
Megaglobe - http://www.megaglobe.com/urlSubmit
Find Once - http://www.findonce.co.uk/submit/
Net Search - http://www.netsearch.org/adds/addurl.php
Susy Search - http://www.susysearch.com/addsite/

Try this links and make your site popular..

Tuesday, July 28, 2009

About Lotus Notes

Configuration of email in Lotus Notes
Friends, today our topic is, Lotus Notes…here I share my knowledge on lotus notes. Hope this will be of use to any one of our community.

Lotus Notes and Domino are collaboration software. Lotus Notes is a client-server, application developed by IBM Software Group. IBM defines the software as an "integrated desktop client option for accessing business e-mail, calendars and applications on IBM Lotus Domino server.

Configuration of mail in Lotus notes client:Open the Lotus notes client,
1. Provide the user information
2. Provide Domino Server details
3. Select the option 'I want to Connect to a Domino Server' then click next
4. Select the lotus notes ID file saved in the System by 'Browse' and click yes to the popup message box
5. Type the password for your mail.
6. Click on finish to complete your mail configuration set up.
7. Welcome screen will be displayed.
8. Click on the 'Mail' icon

Now your Lotus notes is ready to use…you can access your email through Lotus notes.

Sunday, July 26, 2009

Creating a table & entering values into that table using rexx

This is a simple rexx code to create & entering values into that table.

/*rexx*/
ADDRESS ISPEXEC
"control errors return"
"libdef isptlib"
"libdef isptabl"

Tdsn = 'AAA.DSN'
TNAME = 'SAMPLE'

"libdef isptlib dataset id('"Tdsn"') uncond"
"libdef isptabl dataset id('"Tdsn"') uncond"

"tbcreate "TNAME" keys(ID) names(NAME)"
"tbclose "TNAME
"tbopen "TNAME

ID = '001'
NAME = 'AGENT1'
"tbadd "TNAME

ID = '002'
NAME = 'AGENT2'
"tbadd "TNAME

"tbclose "TNAME
"libdef isptlib"
"libdef isptabl"

Friday, July 24, 2009

MVS SYSTEM CODES -S237

An error occurred in end-of-volume processing of a magnetic tape data set.

Possible causes & Solution:
1. The block count of the tape label did not agree with that of the DCB. One or more blocks may have been skipped during processing.
2. An incorrect volume serial number was specified in the volume parameter of the DD statement.
3. An incorrect volume was mounted.
4. The DSN was misspelled.
1) Verify that the DSN is spelled correctly, and that the correct volume(s) are specified and mounted. Correct any errors, and resubmit the job.
2) If all the data set information appears correct, resubmit the job specifying a different device in the unit parameter of the JCL. If this does not correct the error, re-create the data set.

Ref: www.ibmmainframes.com

Wednesday, July 22, 2009

MVS SYSTEM CODES -S314

An input/output error occurred in closing a data set on a direct access device.
Possible causes: The volume or the device was defective.
Resolution: Rerun the job specifying another volume or device.

Ref: www.ibmmainframes.com

Monday, July 20, 2009

Left click and Right click tips.

As we all know that Left mouse button is easy to click and drag, select and for everything.
Do know one thing,while dragging any file or folder from one place to another right mouse button is better compared to left mouse button.

For example-There are 10 folders in a drive with name folder1 to 10, and i am moving folder1 to folder2 .So i drag the folder 1 over folder 2,it is moved.

If you have only two folders it is easy no issues,but if you have some 10 or more folders while dragging ,unfortunately you released the left mouse button.The file moved to some folder and you dont know where it is moved and you have to check all folders.

So, what to do is..Use your right mouse button for dragging file or folder.if you released the right mouse button as left mouse button in the middle,it will ask you like Copy here,move here,Create shortcuts here .So that you will know where you are moving the files or folders.

Try this in your system.

Saturday, July 18, 2009

Access Add/Remove Programs in a Single commad!!

1) Type Windows+R to get the "Run" dialog Box.
2) In that type "Appwiz.cpl"
3) That's it you can see "Add/Remove" programms Menu

Thursday, July 16, 2009

Log Levels on JBOSS Application server

There are 6 different log levels that can be configured in JBOSS Application server
A)FATAL
B)ERROR
C)WARN
D)INFO
E)DEBUG
F)TRACE

Tuesday, July 14, 2009

Oracle SQL Developer Data Modeling tool

The early adopter (EA) version of the Oracle SQL Developer Data Modeling tool is available for download on Oracle Technology Network. SQL Developer Data Modeling contains a complete set of graphical database modeling tools and utilities. It includes Entity Relationship modeling, Relational Database Design, Data Type and Multidimensional modeling, full forward and reverse engineering and code generation. This initial early adopter version is available as a standalone product, but future releases are planned to be available as an extension to Oracle SQL Developer.

http://www.oracle.com/technology/products/database/sql_developer/files/Modeling.html

Sunday, July 12, 2009

Using HashSet

HashSet class is a concrete implementation of Set interface. It creates a collection that uses a hash table for storage. Hash table stores information by using a mechanism called hashing. In hashing, the informational content of a key is used to determine a unique value, called its hash code. The hash code is then used as an index at which the data associated with the key is stored. The transformation of key into its hash code is performed automatically. You never see the hash code itself. The advantage of hashing is that it allows the execution time of basic operation, such as add(), contains(), remove(), and size() to remain constant even for large sets.

HashSet is not synchronized. If more than one thread wants to access it at the same time then it must be synchronized externally.

source: java-tips.org

Friday, July 10, 2009

How to prevent your Pen Drive from Virus?

Many of your PC/laptop’s normally gets virus because of Pen Drives or USB devices (Even PC’s who are not connected to network). Some Virus like Ravmon Virus, Heap41a worm which are not detected by anti virus normally spreads mostly by the Pen Drives. In such a case what can you do to prevent your PC from getting infected with Virus that spreads through USB devices or Pen Drives?You can protect your PC by just following the simple steps below. It won’t take much time.
1. Connect your Pen Drive or USB drive to your computer.
2. Now a dialogue window will popup asking you to choose among the options as shown in the figure. Don’t choose any of them, just simply click Cancel.
3. Now go to Start > Run and type cmd to open the Command Prompt window .
4. Now go to My Computer and Check the Drive letter of your USB drive or Pen Drive. ( E.g. If it is written Kingston(I:) , then I: will be the drive letter.)
5. In the Command Window (cmd), type the drive letter: (e.g., I:) and Hit Enter.
6. Now type dir/w/o/a/p and Hit Enter.
7. You will get a list of files. In the list , search if anyone of the following do exists
* Autorun.inf
* New Folder.exe
* Bha.vbs
* Iexplore.vbs
* Info.exe
* New_Folder.exe
* Ravmon.exe
* RVHost.exe or any other files with .exe Extension.
  • If you find any one of the files above, Run the command attrib -h -r -s -a *.* and Hit Enter.
  • Now Delete each File using the following Command del filename ( E.g del autorun.inf ) .
  • That’s it. Now just scan your USB drive with the anti virus you have to ensure that you made your Pen Drive free of Virus.

Wednesday, July 08, 2009

MVS SYSTEM CODES -S522

The wait time limit was exceeded for a job or job step.

1. The operator did not respond to a console request.
2. The program was waiting for a resource that was not available at execution time.
3. The CPU resource was not available at execution time.
4. The user request was invalid.

1. Check with the operator to determine if there were any outstanding requests for your job.
2. Check with the operator to determine if there were any problem jobs running at the same time as yours.

Ref: www.ibmmainframes.com

Monday, July 06, 2009

MVS SYSTEM CODES -S613

An error occurred in tape related input/output.

1. The JCL DD statement was incorrect.
2. An input/output error occurred in label processing.
3. The standard header labels were missing for an input data set.
4. There was a hardware malfunction.
An error occurred in tape positioning.
An error occurred in reading a tape label.
The tape label was invalid.
An error occurred in writing a tape label.
An error occurred in writing a tapemark after the header labels.

1. Verify that the JCL specifies the correct volume and device.
2. Verify that the volume contains standard labels.
3. Resubmit the job specifying a different volume or device

Ref: www.ibmmainframes.com

Saturday, July 04, 2009

Using TreeSet

TreeSet stores objects in a sorted manner. TreeSet stores its elements in a tree and they are automatically arranged in a sorted order.
TreeSet is not synchronized. If more than one thread wants to access it at the same time then it must be synchronized externally.

import java.util.*;
public class DemoTreeSet {
public static void main(String[] args) {
TreeSet t1 = new TreeSet();
t1.add("ggg");
t1.add("aaa");
t1.add("ddd");
t1.add("bbb");
t1.add("nnn");
t1.add("lll");
System.out.println("Contents of treeset");
Iterator it1 =t1.iterator();
while(it1.hasNext()){
Object o1 = it1.next();
System.out.println(o1);
}
}
}

source: java-tips.org

Thursday, July 02, 2009

Setting password for MS Office files.

Have you know about setting password in MS Office documents it is very easy.

  • While saving the document ,Click Save as button ,the save as dialog box will open,in that you have tools button at the left bottom corner.
  • Just click it and select General options .
  • General options dialog box will open ,and in password to open box enter the password for the document and click ok.
  • It will ask you to retype the password for confirmation ,type the same password and click ok.
  • Now save the document and open it again.

Tuesday, June 30, 2009

Useful System Stored Procedures:

Useful System Stored Procedures:

Lists the number of table in Database
sp_help
To get code for Stored Procedure
sp_helptext 'usp_Load_mntLoadDate'
Who is accessing which database…
sp_who 'CMC\sbaheti'
Verify dependencies for give object,For example we want to know where 'datedim' table is referenced
sp_depends datedim
Deatils of Databse
sp_helpdb DefaultReportStage
Details of all table
sp_tables
Details of particular table
sp_tables 'DateDim'


To rename the object:
Rename table
sp_rename 'AssetDetails','AssetDet'
Rename column
sp_rename 'AssetDet.AssetName','AssetNm'

Sunday, June 28, 2009

Correlated SubQueries in DB2

A sub query in which the inner (nested) query refers back to the table in the outer query is called correlated sub queries in DB2.

Correlated sub queries must be evaluated for each qualified row of the outer query that is referred to.

Friday, June 26, 2009

SUDO Access (Redhat vs SUSE Linux)

SUDO Access (Redhat vs SUSE Linux):
RHCE:
1) Create the user
2) Add the user to Wheel group
3) Uncomment the Wheel group entries line in sudoers file.
4) User can able execute root users previledged command by executing sudo followed by the commands

SLES 9:
But in SLES Apart from above steps We have to comment out the following lines inorder to provide SUDO Access to the users.
# Defaults specificationDefaults targetpw # ask for the password of the target user i.e. root

Note:
Without commenting the above lines will ask only the root pwd to allow normal user to get sudo access.

Wednesday, June 24, 2009

Email won’t go if the destination is over 500 miles

Imagine yourself as a system administrator for a moment and you get a weird call from a user saying that any email that he sends would fail if the destination point is over 500 miles. You'll choke for a moment and you ll call that guy Insane. E-Mails don't have distance or stamps. It goes to whomever it needs to, wherever he is on the face of the earth.

I read a blog of a system admin who went through a smiliar situation and how he ironed out the issue. It definitely wasn't the users fault. At times all it requires to catch serious bugs is a totally new perspective!!

Read more here: http://www.ibiblio.org/harris/500milemail.html?test

Monday, June 22, 2009

Using HashMap

Map is an object that stores key/volume pairs. Given a key, you can find its value. Keys must be unique, but values may be duplicated. The HashMap class provides the primary implementation of the map interface. The HashMap class uses a hash table to implementation of the map interface. This allows the execution time of basic operations, such as get() and put() to be constant.

This code shows the use of HaspMap. In this program HashMap maps the names to account balances.

import java.util.*;
public class HashMapDemo {
public static void main(String[] args) {
HashMap hm = new HashMap();
hm.put("Rohit", new Double(3434.34));
hm.put("Mohit", new Double(123.22));
hm.put("Ashish", new Double(1200.34));
hm.put("Khariwal", new Double(99.34));
hm.put("Pankaj", new Double(-19.34));
Set set = hm.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry me = (Map.Entry)i.next();
System.out.println(me.getKey() + " : " + me.getValue() );
}
double balance = ((Double)hm.get("Rohit")).doubleValue();
hm.put("Rohit", new Double(balance + 1000));
System.out.println("Rohit new balance : " + hm.get("Rohit"));
}
}

source: java-tips.org

Saturday, June 20, 2009

Mainframe and Commonly used Dataset options in SAS

1) FIRSTOBS - Causes processing to begin at a specified observation.
Example : data new (firstobs = 30);

2)OBS - Causes processing to end with the nth observation.
Example : data new (obs = 30);

3)LABEL - Specifies the label for the data set. Example : data new (Label = ‘label for input dataset is not permanent’);

4)WHERE - Selects the observations that match the specified condition.
Example : data new (where = (age ge 45));

5)YEARCUTOFF option
This System option specifies the first year of a 100 year span used by Informats & functions.
Based on this, the century values of dates are determined by SAS system if the year is specified as a two digit year.

The default value is 1920.

If the yearcutoff option is set to 1950 then the value
09/18/49 with MMDDYY8. format will be read as 18th September 2049.
This does not have any effect on year specified in four digits

Thursday, June 18, 2009

Stored Procedures

Stored procedures are specialised programs stored in RDBMS. A stored procedure is a named group of SQL statements (and in some cases operating system calls) that have been coded and stored directly in a database.

Stored procedures provide the following advantages:
1) Reduced network traffic
2) Improved performance of server-intensive work
3) Separation and reuse of business logic
4) Access to server features

Tuesday, June 16, 2009

MDT in CICS

MDT (Modified Data Tag) is one bit of the attribute character. If it is off(0), it indicates that this field has not been modified by the terminal operator. If it is on(1), it indicates that this field has been modified by the operator. Only when MDT is on, will the data of the field be sent by the terminal hardware to the host computer ( i.e., to the application program, in end).
An effective use of MDT drastically reduces the amount of data traffic in the communication line, thereby improving performance significantly. Therefore, BMS maps and CICS application programs should be developed based on careful considerations for MDT.

Sunday, June 14, 2009

Proceedure to execute Stored procedures

1) Create the stored procedure.
2) Write the stored procedure.
3) Compile and Bind the stored procedure.
4) Insert a row in SYSIBM.SYSPROCEDURES.
5) Write the Application Program.
6) Compile and Bind the Application program.
7) Run the Application program

Friday, June 12, 2009

Server requirements for deploying a Flex application

Flex or Flash applications are compiled to SWF format. You can deploy SWF file on a normal web server.

SWF files are downloaded on to the the client and will run on the Flash Player. So there are no specific requirements for hosting or deploying a Flex application. A normal web server which is used to deploy a HTML page is sufficient for deploying the SWF files.

In the URL below there is a detailed description on how to deploy a Flex application. You will find very useful.

http://livedocs.adobe.com/flex/3/html/deployingoverview_02.html

Wednesday, June 10, 2009

How-To: Copy Excel cells into a Word document!!

Just thought of writing about one of the pain points i often come across while working on Excel and Word. Whenever we try to paste some excel cells into Word, the usual problem faced is the loss of formatting. This can be overcome by following the steps mentioned below:

1.Select your cells in Excel, copy (Ctrl+C) then in your Word document, on the Edit menu,
2.click Paste Special
3.Click Microsoft Office Excel Worksheet Object, and then click OK

Note: If you are using word 2007 then press ALT+CTRL+V. This reduces formatting problems between Word and Excel.

Monday, June 08, 2009

Add Language Translation feature to your Blog.

In order to add language translation feature to your Blog or Website, follow the steps below

1.) Point your Browser to Google Translate Tools section. (http://translate.google.com/translate_tools?hl=en)
2.) Select the language of your website or blog. The option you select should be the same as the language of your website, else the translation won’t work properly.
3.) Copy the code from the page and paste it on your webpage whereever you would like to have the language translation feature.

Source: http://technofriends.in/2008/11/23/how-to-add-language-translation-feature-to-your-website-or-blog/

Saturday, June 06, 2009

Why Selenium scripts fail when run outside the web server for Selenium Core?

As we know selenium scripts will fail when we place our scripts outside the AUT (Application Under Test) web server for Selenium Core, this is due to the reason that Selenium core is built with DHTML / JavaScript. When we are using javaScript we should bound to Same Origin Policy of JavaScript.

What is Same Origin Policy?
Same origin Policy states that javaScript is only allowed to read / Modify the HTML content from the same origin as source i.e, javaScript can able to read / Modify the HTML only when the source and destination of the scripts are from same web server.

For Example:
Suppose a person is working on crutial page and some unsecured webpage simultaneously which are from different sources. If JavaScript is not bound to same Origin Policy, then the other user / Owner of unsecured web page can access / Modify the content of crutial web page. In order to avoid this JavaScript should be bound to Same Origin Policy.

But when we install Selenium IDE, this acts as a trusted FireFox extension and therefore we can violate the Same Origin Policy.

Thursday, June 04, 2009

Java Tokenizing Techniques Comparision

If Performance is a Matters !!!

In this blog I am going to discuss about my experience in measuring the fastness of different Tokenizing techniques in Java.

Tokenizing! The first that comes to our mind is StringTokenizer.

When you google it, the other popular things are Scanner, String.split() .

Scanner can me more handy if we want to split the string based on Regex. Of the above three based on the fastness of tokenizing StringTokenizer wins the race followed by Scanner and split.

Tuesday, June 02, 2009

Optimistic Concurrency using Hibernate

I came across an interesting but most common use case last week. It goes like this that we need to manage concurrency for the data which are being worked on by multiple users at the same time…Obviously Pessimistic Locking of Database records is not a possible solution as it will affect the performance and scalability of the application.

When looking for a solution, straight away the answer could be that the Framework / ORM has to provide some mechanism to control.

Luckily the use case we are working on is using Hibernate and we ought to find a way from Hibernate. Being a strong recommender of hibernate I felt confident that it will have something to solve this.

Hibernate provides technique called "Optimistic Concurrency" using Versioning / Timestamp. What is intersting here? Versioning and Timestamp are same old stuff. But above these two it has another concept called "Session-Per-Conversation" or "Long Conversation" using which we can do Optimistic Concurrency control without change in datastructure and without much change in code.

For More details visit:
http://www.hibernate.org/hib_docs/reference/en/html_single/#transactions-optimistic
http://hibernate.bluemars.net/43.html

Sunday, May 31, 2009

Software Testing - Test Harness

Test Harness or Automated Test Framework is a collection of software and test data configured to test a program unit by running it under varying conditions and monitoring its behavior and outputs.

It has two main parts:
1. Test execution engine and
2. Test script repository.
Test harnesses allow for the automation of tests. They can call functions with supplied parameters and print out and compare the results to the desired value. The test harness is a hook to the developed code, which can be tested using an automation framework.

A test harness should allow specific tests to run (this helps in optimizing), orchestrate a runtime environment, and provide a capability to analyse results.

The typical objectives of a test harness are to:
  • Automate the testing process.
  • Execute test suites of test cases.
  • Generate associated test reports.

A test harness typically provides the following benefits:

  • Increased productivity due to automation of the testing process.
  • Increased probability that regression testing will occur.
  • Increased quality of software components and application.

Friday, May 29, 2009

Using generic ArrayList

JDK 5.0 provides typed array list. Before JDK 5.0 Array List store the objects of type Object. But now type of the elements of an ArrayList can be specified.

Syntax:
ArrayList list = new ArrayList();

Example:

import java.util.ArrayList;

public class MyArrayList {

public static void main(String[] args) {

Seller sel = new Seller();
Buyer buy = new Buyer();

// declare an array list of type Seller
ArrayList list = new ArrayList();
list.add(sel); // add object of type Seller which is permisible
list.add(buy); // this statement will give an error
}
}


source: java-tips.org

Wednesday, May 27, 2009

List of Windows xp Dos Commants part 2

Here is list of Remaining Windows xp Dos Commands:

NET Manage network resources
NETDOM Domain Manager
NETSH Configure network protocols
NETSVC Command-line Service Controller
NBTSTAT Display networking statistics (NetBIOS over TCP/IP)
NETSTAT Display networking statistics (TCP/IP)
NOW Display the current Date and Time
NSLOOKUP Name server lookup
NTBACKUP Backup folders to tape
NTRIGHTS Edit user account rights

PATH Display or set a search path for executable files
PATHPING Trace route plus network latency and packet loss
PAUSE Suspend processing of a batch file and display a message
PERMS Show permissions for a user
PERFMON Performance Monitor
PING Test a network connection
POPD Restore the previous value of the current directory saved by PUSHD
PORTQRY Display the status of ports and services
PRINT Print a text file
PRNCNFG Display, configure or rename a printer
PRNMNGR Add, delete, list printers set the default printer
PROMPT Change the command prompt
PsExec Execute process remotely
PsFile Show files opened remotely
PsGetSid Display the SID of a computer or a user
PsInfo List information about a system
PsKill Kill processes by name or process ID
PsList List detailed information about processes
PsLoggedOn Who's logged on (locally or via resource sharing)
PsLogList Event log records
PsPasswd Change account password
PsService View and control services
PsShutdown Shutdown or reboot a computer
PsSuspend Suspend processes
PUSHD Save and then change the current directory

QGREP Search file(s) for lines that match a given pattern.

RASDIAL Manage RAS connections
RASPHONE Manage RAS connections
RECOVER Recover a damaged file from a defective disk.
REG Read, Set or Delete registry keys and values
REGEDIT Import or export registry settings
REGSVR32 Register or unregister a DLL
REGINI Change Registry Permissions
REM Record comments (remarks) in a batch file
REN Rename a file or files.
REPLACE Replace or update one file with another
RD Delete folder(s)
RDISK Create a Recovery Disk
RMTSHARE Share a folder or a printer
ROBOCOPY Robust File and Folder Copy
ROUTE Manipulate network routing tables
RUNAS Execute a program under a different user account
RUNDLL32 Run a DLL command (add/remove print connections)

SC Service Control
SCHTASKS Create or Edit Scheduled Tasks
SCLIST Display NT Services
ScriptIt Control GUI applications
SET Display, set, or remove environment variables
SETLOCAL Control the visibility of environment variables
SETX Set environment variables permanently
SHARE List or edit a file share or print share
SHIFT Shift the position of replaceable parameters in a batch file
SHORTCUT Create a windows shortcut (.LNK file)
SHOWGRPS List the NT Workgroups a user has joined
SHOWMBRS List the Users who are members of a Workgroup
SHUTDOWN Shutdown the computer
SLEEP Wait for x seconds
SOON Schedule a command to run in the near future
SORT Sort input
START Start a separate window to run a specified program or command
SU Switch User
SUBINACL Edit file and folder Permissions, Ownership and Domain
SUBST Associate a path with a drive letter
SYSTEMINFO List system configuration

TASKLIST List running applications and services
TIME Display or set the system time
TIMEOUT Delay processing of a batch file
TITLE Set the window title for a CMD.EXE session
TOUCH Change file timestamps
TRACERT Trace route to a remote host
TREE Graphical display of folder structure
TYPE Display the contents of a text file

USRSTAT List domain usernames and last login

VER Display version information
VERIFY Verify that files have been saved
VOL Display a disk label

WHERE Locate and display files in a directory tree
WHOAMI Output the current UserName and domain
WINDIFF Compare the contents of two files or sets of files
WINMSD Windows system diagnostics
WINMSDP Windows system diagnostics II
WMIC WMI Commands

XCACLS Change file permissions
XCOPY Copy files and folders

Note: To Know the Syntax for Each Commands type help followed by that Command name in DOS Prompt"

e.g., "help color", help del, help copy etc..,

Monday, May 25, 2009

MVS SYSTEM CODES -S322

Description:

The time limit was exceeded for a job or job step.

Possible causes:

1. An endless loop occurred in the executing program.
2. The time parameter on the job card did not allow enough time for the job to complete.
3. The time parameter on the exec card did not allow enough time for the step to complete.
4. If the time parameter was not specified, the default time limit was exceeded.

Resolution:
1. Check for program errors, especially endless loops that cause the job or job step to exceed the time limit.
2. Verify that the time limits for the given job are realistic.
If necessary, specify a longer time in the time parameter, and rerun the job.

Ref: www.ibmmainframes.com

Saturday, May 23, 2009

Renaming and Appending in a file using CF

Using ColdFusion's cffile tag, you can rename a file on the server and you can append a file on the server.

Example of Renaming a File


The following code renames the source file with the name specified with the destination attribute.

action="rename"
source="C:\docs\accessLog.txt"
destination="C:\docs\oldAccessLog.txt">

To append a file, you simply use action="append" (instead of action="write").

The contents you specify in this tag are appended to the end of the existing file.If the file doesn't already exist, it is created.

Example of Appending a File

This example declares a variable, assigns the current date and time to it, then appends the result to a file.

dateAccessed = "This page was accessed at this time: " & now()>

action="append"
file="C:\docs\accessLog.txt"
output="#dateAccessed#">

Source : http://www.quackit.com/coldfusion/tutorial/coldfusion_append_file.cfm

Thursday, May 21, 2009

FireFox Browser

1. When we have opened so many tabs in FireFox Browser, we do not want to click on each tab by using our mouse to view the pages. Each time we press Ctrl + Tab Keys, all the opened tabs will be highlighted sequentially, We just need to press Enter Key, in the highlighted tab to view the respective page.

2. Press Ctrl + Shift + tab keys to view the previous tab.

3. When we have some 8 tabs opened and when we need to open the 3rd tab, then we need to press Ctrl + 3 to open the respective page. This works for 1 to 9 tabs.

Tuesday, May 19, 2009

Third Party API’s

Never completely believe any third party apis.

While debugging issues in programming code I used JLogManager.

It has some perfomance issue while writing the log files in server.

If its thread is unable to write its directly kills the current executing transaction.

Sunday, May 17, 2009

FireFox Browser Shortcut Keys

The below are some of the FireFox Browser, Shortcut Keys.

1. Ctrl + L –> To keep the cursor in the Address Bar.

2. Ctrl ++ –> To increase the text size

3. Ctrl + - –> To decrease the text size

4. Ctrl + W –> To close a tab

5. Alt + Home –> TO view the Home page

Friday, May 15, 2009

MVS SYSTEM CODES -S30A

Memory error
1. The EZTVFM file is not large enough for the report being generated.
2. You have a subscript or index that is going out-of-bounds on an table or occurs clause .
3. A file or table size is greater than the JCL/file LRECL.
4. DCB mismatch.



Ref: www.ibmmainframes.com

Wednesday, May 13, 2009

Excel API — POI.jar

Jakarta POI is an excellent api for manipulating excel operations using Java.

Neve use wrap text and autosize column methods on sheet class.

Use HSSFPalette class for better User Interface.

Monday, May 11, 2009

Don’t leave a trace while Private Browsing

A major feature was added to the pre-versions of IE 8.0 Beta and Firefox 3.1 called Private Browsing. As you know while browse the web, your browser will record all the data which will be later be used to improve the browser expirence,for example if you visit your history in your browser, you can view the browse history, so that later if you need help remembering a site you visited a while back it can assist you.

Finding the site. That is a good job, but it have a downside, this can be used to trace your online activity, like if another person’s uses your computer they can trace your online activity, which may not be you want. If you don’t want others to trace your online activity, one option is that you can clear the history, cookies, cache etc., But the problem is that this action will also remove the parts of your online activities data which you don't want to hide, so the history that browser records can no longer be used to find a web site you had visited a month before. Private Browsing will help you here.

Private browsing will help you to make sure that it will not leave any trace of your browsing in your computer. This is not a tool .Private Browsing is only about making sure that browser doesn't store any data which can be used to trace your online activities, no more, no less.

How can you use this feature?

IE 8.0 Beta:

1.Go to top menu of your browser

2.select => Tools =>InPrivate Browsing

3.or Press Ctrl+Shift+P


Firefox 3.1:

1.Go to top menu of your browser

2.select => Tools =>Private Browsing

Saturday, May 09, 2009

MVS SYSTEM CODES -S413

An error occurred in opening either a direct access or a magnetic tape data set.
1. An input/output error occurred in processing a tape data set.
2. The specified data set could not be located.
3. The label or DCB parameters were incorrect.
4. A requested device was unavailable.


1. No unit was available for mounting the volume which contained the data set being opened.
2. The volume on the allocated unit (as specified by ser) could not be demounted because it was either reserved or permanently resident.

The volume serial number was not specified on the DD statement for a data set which was opened for input.
An invalid volume sequence number in the JCL specified a value greater than the number of volumes contained on the data set.
An error occurred while opening a magnetic tape data set.
The density specified in the DEN sub parameter was incompatible with the recording density of the device allocated.
An error was caused by a subsystem interface problem.
The mass storage system did not mount the requested volume.

Tape data set sequence number was specified greater than 1, but the volume serial number did not specify a tape data set.

1. Verify that the JCL is correct.
2. Rerun the job specifying a new volume or device.

Specify another device in the unit parameter of the DD statement. Determine how many volumes the data set spans, and request the appropriate volume.

Ref: www.ibmmainframes.com

Thursday, May 07, 2009

COBOL Compiler

As fresher we usually feel it as a tedious job to compile the COBOL program and submit the job for the load each time. So this is how we can modify the compiler so that the compiler itself can submit the load for the COBOL program.

All we have to do is add the following code at the end of the compiler

//STEP111 EXEC PGM=IEBGENER,COND=(0,LT,LKED)
//SYSUT1 DD DSN=FILE-NAME,DISP=SHR
//SYSUT2 DD SYSOUT=(A,INTRDR)
//SYSIN DD DUMMY
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*

The FILE-NAME would be the name of file to submit ( JCL for executing the Load)

The DDName SYSUT1 will point to the input, (i.e.) the JCL we want to submit.

The DDName SYSUT2 (output) will point to the internal reader.

The Internal Reader takes our input and sends it to JES so it can be processed.

Thus the compiler would be able to submit the JOB if the COBOL program was sucessfully executed (This is ensured by the the COND )

Tuesday, May 05, 2009

Getting a HTML elements absolute position

There might be a case where we may want a popup to be displayed near the anchor element that we click, in that case the popup's postion is difficult to set , here is the code how we get the position of the anchor tag so that we can set the popup's position near to it,


function getoffsetLeft(element)
{
if(!element) return 0;
return element.offsetLeft + getoffsetLeft(element.offsetParent);
}
function getoffsetTop(aItem2)
{
if(!aItem2) return 0;
return aItem2.offsetTop + getoffsetTop(aItem2.offsetParent);
}

var leftp=getoffsetLeft(document.getElementById('anchor'))+10;
var topp=getoffsetTop(document.getElementById('anchor'))-10;

alert(leftp);alert(topp);



In the above code 'element' is the anchor tag object ie.(document.getElementById('anchor')). The alert would display the required top,left values for the popup.The speciality of this code is that it would get the top,left values even if the anchor tags position is relative.

Sunday, May 03, 2009

Read a file from the JAR file of an applet

You can use the getResourceAsStream() method to get the file in the JAR as an InputStream:


import java.io.*;
import java.awt.*;
import java.applet.*;

public class Read extends Applet {

TextArea ta = new TextArea();

public void init() {
setLayout(new BorderLayout());
add(ta, BorderLayout.CENTER);
try {
InputStream in =
getClass().getResourceAsStream("read.txt");
InputStreamReader isr =
new InputStreamReader(in);
BufferedReader br =
new BufferedReader(isr);
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
String line;
while ((line = br.readLine()) != null) {
pw.println(line);
}
ta.setText(sw.toString());
} catch (IOException io) {
ta.setText("Ooops");
}
}
}


Source: java-tips.org

Friday, May 01, 2009

MVS SYSTEM CODES -S513

An error occurred in opening two data sets on the same magnetic tape volume.
This only works with SYSOUT data sets.

1. Two data sets were assigned to the same device.
2. An open was issued for a second data set on the same tape device before the first one was closed.
1. Verify that the JCL is correct
2. Check the file usage in the program.



Ref: www.ibmmainframes.com

Wednesday, April 29, 2009

know the System Information with a Single Command!!

1) Type Windows+R to get the "Run" dialog Box.

2) In that type "msinfo32"

3) That’s it you can see all the Information of Your System Hardware and Software with their Status.

Monday, April 27, 2009

Compile C/C++ libraries into your swf

Sounds cool huh? You look at all the projects on sourcefourge and think, man if only I could do that in the flash player. Well now you can. The project named Alchemy which translates these C and C++ libraries into bytecode for the flash player is now available on Labs. I cant wait to see how people bend and twist this one. I think it may be one of the more interesting projects I have herd come out of MAX so far.

The Download and Documentation as always is displayed and well laid out on Labs:

http://labs.adobe.com/technologies/alchemy/

Looks like its a pretty intensive install for Windows, but Mac looks fine

Adobe is providing some example libraries, and developers are encouraged to share their ported libraries.

Saturday, April 25, 2009

copy and move in ColdFusion file

You can use the cffile tag to move a file from one location on the server to another.
You can use the cffile tag to create a copy a file on the server.

Example of Moving a File
The following code moves the source file to the location specified with the destination attribute.

source="C:\docs\accessLog.txt"
destination="C:\docs\accessLog_backup.txt">

Example of Copying a File
The following code copies the source file to the location specified with the destination attribute.

source="C:\docs\accessLog.txt"
destination="C:\docs\accessLog_backup.txt">

Source : http://www.quackit.com/coldfusion/tutorial/coldfusion_move_file.cfm

Thursday, April 23, 2009

Definitions of attributes

The attributes in schema are defined like child elements. In order to have the attributes the element has a complex type. The only difference is that attributes are not included into sequence/choice scope; rather they are located in complexType-section immediately. The element may contain any number of attribute-definitions:





…














…



source: java-tips.org

Tuesday, April 21, 2009

Connection Dead Exception in Sybase : Memory Leakage issue in Weblogic Server

If you are facing some Memory Leakage Problems in Web Applications and if it is a J2EE Struts based Web Application deployed in Weblogic Server 8.1. The memory in the server gets dumped in about 3-4 days and recycling needs to be done in the nodes to free up the memory. And also if the application does not have any EJB Transaction Management. Then follow the below resolutions and try it.

1)The memory issue could be the result of repeated ‘connection closed exception’ and its stack trace.
2)The checking, whether the connection is closed or not is wrong ‘DBUtil. closeQueryObjects’ method. Refer the following code

if(con != null){
try{con.close();
}
catch(Exception e){
m_logger.error("Exception when closing connection", e);
}

3)The right way to check whether a connection is closed or not id connection.isClosed()
Computers Add to Technorati Favorites Programming Blogs - BlogCatalog Blog Directory