Variable filter from the same Object (WAD)

Hello Experts,
I am new to WAD and currently have a requirement where I have 2 different variables, contained within a single object in a query. Both these variables are in use as one of them is a mandatory (single value) field and the other not (single and multiple values). Actually I am trying to show a comparision between these two inputs (in percentage) in a chart.
The query is designed in such a way that In the selection screen when I do not give any input in the non-mandatory field, it results an average of the available data, and when I select an input then it gives out the result of this particular input (either single or an average for multiple selection).
So I wanted to implement a filter pane in the WAD, so that I can have a multiple selection. How can I differentiate the variable input as I need the filter on the non-mandatory variable. Can anyone suggest me on this.
Thanks in advance
Santosh

You need to look into using a javascript function that takes the desired selection and sets the variable value of the non-mandatory variable rather than apply it as a filter on the query. So you would need another data-provider that is not tied to any web item but can be used to allow the user to select the filter values and then use Set Variable value command on the dataprovider for charts.
Definitely not a complete solution but more of an idea that's worth trying.

Similar Messages

  • Can't create multiple dependent LOVs from the same bind variable

    Hi all,
    I'm having difficulty creating multiple dependent LOVs from queries based on the same bind variable in my JSF application (JDev 10.1.3.1). Basically I have a static LOV in a af:selectOneChoice component from which users select a value which then becomes the bind variable value for two separate queries that generate two different dependent LOV. Having developed the code along the lines of Steve Muench 's blog (http://radio.weblogs.com/0118231/2006/04/03.html#a685), the first dependent LOV works really well. The first dynamic LOV gets refreshed whenever the list from the static LOV changes, and I can execute other queries based on the values selected.
    The problem arises when I want to create the second dynamic/dependent LOV that has the same bind variable based on the same selected value from the static LOV. Here I would also like the functionality whereby the second dynamic LOV is also refreshed after the selected value in the static LOV changes. Thinking that all I had to do was replicate the methodology used in creating the first dependent LOV, I created the second iterator, invokeAction and other binding components in the PageDef. The executable section now looks like the following:
    <iterator id="SelectStaticQueryViewObjIterator"
                  Binds="SelectStaticQueryViewObj" RangeSize="-1"
                  DataControl="DMSApplicationModule1DataControl"/>
    <invokeAction id="refreshDynamicQuery1BindParameter"
                  Binds="ExecuteWithParams1" Refresh="prepareModel"
                  RefreshCondition="#{empty requestScope.VariableChanged}"/>
    <iterator id="SelectDynamicQuery1ViewObjIterator"
                  Binds="SelectDynamicQuery1ViewObj" RangeSize="-1"
                  DataControl="DMSApplicationModule1DataControl"/>
    <invokeAction id="refreshDynamicQuery2BindParameter"
                  Binds="ExecuteWithParams2" Refresh="prepareModel"
                  RefreshCondition="#{empty requestScope.VariableChanged}"/>
    <iterator id="SelectDynamicQuery2ViewObjIterator"
                  Binds="SelectDynamicQuery2ViewObj" RangeSize="-1"
                  DataControl="DMSApplicationModule1DataControl"/>I now have a problem whereby everytime I change the value of the static LOV, multiple HTML components for the same ADF component are being generated (the LOVs are refreshed via PPR). The surprising thing is that this duplicating behaviour applies to all ADF components listed after the first dynamic LOV in the *.jspx source. For example, I have a <af:outputText="Test Text"/> component created after the first dynamic LOV. Each time the value in the static LOV changes, a duplicate HTML component is created. This also applies to the 'related' second dynamic LOV which is bound to a af:selectOneChoice component - multiple dropdown lists are created. I've checked with the browser's Page Source and there are actually multiple html components being generated with their own unique ADF-generated IDs. I've tried all different options for the Referesh and RefreshCondition attibutes in the second invokeAction element but nothing seems to eliminate this issue.
    Any suggestions about how I might create multiple dependent LOVs from the same bind variable that get refreshed when the selected value changes would be greatly appreciated.
    Thanks
    George

    Hi all,
    Just updating the thread on how I've overcome this issue. As it stood the manner in which I was trying to solve my use case, as described above, was creating an absolute mess. Then with a blank sheet of paper I quickly realised that a much simpler solution would be to create a whole series of master-detail VOs and build my components around them. Thankfully I haven't had any issues going down this path as yet.
    Cheers
    George

  • Two string references pointing to the same object

    Look at the following code snippet         String   s1 = "hello";
            String   s2 = "world";
            String   s3 = "welcome";
            String   s4 = "here";
            String   s5 = "hello";
      They say that references s1 and s5 point to the same object "hello".
    At run time after creating objects from s1 to s4 how the Java run time knows that there is already an object "hello" and assigns a differernt reference.

    When the jvm load the class file, all suchconstants
    found in the class are loaded in a global constant
    pool. when you assign the constant to a variable,it
    uses the same one from the constant pool.Suppose I intialize a string by getiing input
    nput from the console which already exists, in that
    case a new object will be created or the existing one
    be used.A new object will always be created in that case, but you can get a reference to the string in the pool by calling intern. See the javadoc for intern in the String class.
    Kaj

  • Merging Ids from the same universe

    Hie Guys,
    I am building a report which uses objects from 3 classes (A, B & C) from the same Universe. All 3 classes have "Project ID' as a common dimension. The report needs to be a 1 page/tab report. Table 1 will have dimension objects from Class A and a measure object from Class B. Table 2 below Table 1 will have dimension objects and one measure object from Class C. For the drill filters, I need the following dimension objects - "Department ID", "Employee Type" and "Employee Name" from Class C. But, these dimensions are not present in the other 2 classes or in any other class in the Universe. I merged the Project ID from all 3 classes, but I am having issues getting the drill filters to work for both the tables. Could anyone help me on taking the right approach in building this report? Thanks.

    Hi Jeewan,
    Try auto merge in Universe.
    There are rules to merging dimensions:
    Only dimensions defined in the universe can be merged. You cannot merge using variables.
    Objects must have the same data type. You cannot merge a number with a string, even if the values match.
    Any number of queries can be merged. There is no limit.
    Any number of dimension objects can be merged between two queries. Again, no limit.
    Values are case-sensitive. So, if the values are the same, but of different case, they will not match. They will be shown as different values.
    Watch out for trailing blanks. Even if the values look exactly the same, they won’t match if one has a trailing blank, and the other one doesn’t.
    Regards
    Kumar

  • How do I use multiple classes to access the same object?

    This should be staightforward. I have and object and I have multiple GUIs which operate on the same object. Do all the classes creating the GUIs need to be inner classes of the data class? I hope this question makes sense.
    Thanks,
    Mike

    public final class SingletonClass {
    private static SingletonClass instance;
    private int lastIndex = 10;
    public final static SingletonClass getInstance()
    if (instance == null) instance = new SingletoClass();
    return instance;
    public int getLastIndex() {
    return lastIndex;
    }1) This won't work since one could create a new SingletonClass. You need to add a private constructor. Also, because the constructor is private the class doesn't have to be final.
    2) Your design isn't thread-safe. You need to synchronize the access to the shared variable instance.
    public class SingletonClass {
        private static SingletonClass instance;
        private static Object mutex = new Object( );
        private int lastIndex = 10;
        private SingletonClass() { }
        public static SingletonClass getInstance() {
            synchronized (mutex) {
                if (instance == null) {
                    instance = new SingletonClass();
            return instance;
        public int getLastIndex() {
            return lastIndex;
    }if you are going to create an instance of SingletonClass anyway then I suggest you do it when the class is loaded. This way you don't need synchronization.
    public class SingletonClass {
        private static SingletonClass instance=new SingletonClass();
        private int lastIndex = 10;
        private SingletonClass() { }
        public static SingletonClass getInstance() {
            return instance;
        public int getLastIndex() {
            return lastIndex;
    }If you don't really need an object, then you could just make getLastIndex() and lastIndex static and not use the singleton pattern at all.
    public class SingletonClass {
        private static int lastIndex = 10;
        private SingletonClass() { }
        public static int getLastIndex() {
            return lastIndex;
    }- Marcus

  • How can I use the same object in the different jsp files?

    I am doing a project. I have finished my jave source files and compiled them successfully. And I also wrote a main method to test my classes, they also worked well. Now I am trying to use my jave code in the jsp files. But I meet a problem, in my method of java source file, I can generate a object of a class, and use it in the whole main method. But in the different jsp files, how can I do same thing?
    For example, in the .java file,
    Vector vl = new Vector();
    While ...{
    vl.add(...)
    In each of my .jsp file I want to do one loop of the above, meanwhile I want to do that in the same object.
    I hope you can understand what I mean. Really need your help!

    put your object into a session and you can the use it in all the jsps as long as the session is valid. Or you could create a static variable in the class that only creates one instance off an object and then create a static method to return this object.

  • Multiple inserts for the same object

    We have observed that in certain cases, the same object is attempted to be inserted twice, resulting in Primary Key violation.
    Here is one example -
    A(1->1)B, unidirectional, A has the foreign key to B
    new B
    copyB = register(B) (also assign sequence number)
    new A1, A2
    A1.set(copyB), A2.set(copyB)
    register(A1), register(A2)(also assign sequence number)
    commit
    it tries to insert the same B twice.
    any clues whats wrong here?
    thanks

    Any chance your 1:1 from A to B is marked as privately-owned?
    This would indicate to TopLink that the object in each relationship is unique and should be inserted.
    Doug

  • Error: The report source could not be retrieved from the state object.

    I have been trying to create a report in a JSF page. The relevant parts are below:
    Inside the JSP page, this is the code:
                  <jsp:useBean id="MyBean" class="com.nm.facade.rto.POJOViewerBean" scope="session" />
                    <jsp:setProperty name="MyBean" property="reportLocation" value="Report1.rpt" />
                   <v:reportPageViewer reportSource="#{MyBean.reportSource}"
                                           displayToolbarPrintButton="true"
                                           printMode="ActiveX"
                                           zoomPercentage="100"
                                           displayToolbarExportButton="true"
                                           displayToolbarRefreshButton="true"
                                           viewerName="My Viewer"
                   ></v:reportPageViewer>
    In the backing bean, this is the relevant code:
        public Object getReportSource() throws ReportSDKException
            if (propertiesChanged || reportSource == null)
                propertiesChanged = false;
                if (reportLocation == null)
                    throw new RuntimeException("The reportLocation property must be set before a report source is retrieved");
                ReportClientDocument rcd = new ReportClientDocument();
                rcd.setReportAppServer(ReportClientDocument.inprocConnectionString);
                rcd.open(reportLocation, 0);
                DatabaseController dbc = rcd.getDatabaseController();
                //Create the POJO collection and populate it with data
                ReportData[] data =
                  new ReportData("B.B.", "King", 6, new Date(25, 9, 16)),
                    new ReportData("Muddy", "Waters", 7, new Date(15, 4, 4)),
                    new ReportData("John Lee", "Hooker", 8, new Date(16, 8, 16)),
                    new ReportData("Otis", "Rush", 9, new Date(34, 4, 29)),
                    new ReportData("Buddy", "Guy", 10, new Date(36, 7, 30))
                //Create the result set from the collection of POJOs
                POJOResultSetFactory factory = new POJOResultSetFactory(ReportData.class);
                factory.setVerbose(true);
                POJOResultSet results = factory.createResultSet(data);
                ResultSetMetaData metaData = results.getMetaData();
                //Set the resultset as the report datasource
                      //Get the table name from the 'Set Datasource Location' dialog in the Crystal Reports designer
                String reportTable = "getReportDataDataSource";
                dbc.setDataSource(results, reportTable, reportTable);       
                IReportSource reportSource = rcd.getReportSource();
                if (reportSource == null)
                    throw new RuntimeException("Unable to get a report source.");
            return reportSource;
    In the CRConfig.xml, this is what is there:
    <?xml version="1.0" encoding="utf-8"?>
    <CrystalReportEngine-configuration>
        <reportlocation>../reports</reportlocation>
        <timeout>0</timeout>
        <ExternalFunctionLibraryClassNames>
             <classname></classname>
        </ExternalFunctionLibraryClassNames>
    </CrystalReportEngine-configuration>
    The report template 'Report1.rpt' is packaged under WEB-INF/reports in the war file.
    When I try to generate the report by accessing the JSF page, I am getting an error: "The report source could not be retrieved from the state object. "
    I am not sure what is wrong. Can someone help me in resolving this issue?
    Edited by: renshai on Jul 9, 2009 3:21 AM

    My formatting gets lost and the message looks unintelligible. After some experimentation, I found that if the message exceeds some length, the formatting is removed. Since I couldn't find any way to delete this post, I made another post with the same subject. Please ignore this post and help me to find a solution for the problem posted in the other thread with the same subject. Thanks in advance.

  • On the iPhone, if you move an e-mail from the In box to Junk, will iPhone automatically place future e-mails from the same sender into Junk? In other words, can you teach iPhone to recognize Junk as you do on a Mac?

    On the iPhone, if you move an e-mail from the In box to Junk, will iPhone automatically place future e-mails from the same sender into Junk? In other words, can you teach iPhone to filter out Junk as you do on a Mac?

    I don't think so, you would need to set that on your browser when you log into your email account.

  • Why is a color print from CS5 so different from the same image in CS4?

    I have made prints from the same file using CS4 and CS5, and the prints from CS4  are showing what I think is good color.  My monitor is calibrated, and I have always been quite happy with prints from CS4.  When I make prints of the same files using CS5, the color is terrible compared to the CS4  print.  I am using the same printer, same sRGB color space and all the settings in the "Print" dialog windows.  I make sure the Color Handling box is set to "Photoshop Manages Colors" and I then go to the "Page Setup" box and make sure Color Settings is set to Off (No Color Adjustments).  I am using a New MacPro Quad-Core Intel Xeon with 16 GB ram.  I did notice that Apple Software Update did install Epson drivers after I installed CS5 Creative Suite 5 Design Premium. The color using CS5 looks the same starting in either 32 bit or in 64 bit.   Another thing I notice is that printing on an Epson 2200 Stylus and using their 13x19 paper that the prints are being cropped to 5/8 inch into the full screen size of the images. I.E. The prints are losing 5/8 inch of what I see on the 30" Apple monitor. in both dimensions of the screen image. This cropping effect is showing now using CS4 and CS5.  I have "Position" checked for Center Image, and Scale to Fit Media is also checked.  I've been using PS since version 2 and have always been quite happy with the prints from my Epson printers and the prints from my Photo Lab, but the prints I am getting using CS5 are terrible. All the settings are the same in both the CS4 and CS5 "PRINT" windows.
    HELP!!!!  :-)

    I have tried all of these things. I have checked and double-checked the print dialog. Sheet after sheet of paper goes by. Ink, at $40 per tank, is wasted. Results are still wrong. I followed your video. You use an Epson printer. I use an HP. Different print dialogs. different results. Whatever worked in previous PS versions does not work now. PS CS5 requires new settings to get the results that match what was determined by years of evolution and fine-tuning.
    I set up all of those print dialog parameters but it required an adjustment layer or two to get the results I got using previous Photoshop. So I could do that with every image I printed with good results using previous versions. There is nothing out of gamut in these images, so I don't have unrealistic expectations about more saturation in the prints. Anyway, it's an 8-color printer that can handle a pretty wide gamut compared to a 4-color.
    Wade, I know you are trying to help but this finger-wagging "error in your ways" and "you need to change your ways" stuff is patronizing. I did "change my ways" and try everything in your video. All was not well on the paper. I'm glad it worked out for you but it didn't for me. Accept it. I'm not some novice hobbyist still getting the hang of Photoshop. I've been using Photoshop since version 2. Adobe changed something in CS5. I haven't seen Chis Cox or any Adobe staffer jump into this discussion and say otherwise. Maybe there are no answers from the folks who should know the most about it. Maybe they're working on it.
    It's not the first time Adobe has broken a tool. Anyone remember what happened to Outline Stroke in Illustrator CS2? It had previously made a path that could be edited by selecting points but after CS2, it was broken. Illustrator made a filled path that was nearly impossible to edit with all of the overlapping points. It was finally fixed in CS4. It's hard to understand how a useful tool that functioned properly in every version since it was introduced became an unusable mess. Maybe that's the case with PS CS5 and printing.
    With 4,300+ posts in 14 months, maybe Wade has more time to tinker and tell us about it. I don't.
    Or I could just print in CS4. At this point it's not that important to spend several days of testing to be able to say that CS5 can print my legacy stuff that was created and printed with various color profiles over a 12 year period. Maybe a more disciplined approach to color management would be a good way to work in the future when creating images, I'm dealing with tried-and-true printable images that were not done that way.
    As long as Adobe doesn't make me give up CS4 to use CS5, I'll use it for printing.

  • Unable to read payload from the message object

    Hi
    I have a scenario where i am send request to http receiver and getting the response. When I am testing through WFETCH it is working fine. But when i am testing through XI I am getting the follwoing error
    Unable to read payload from the message object
    I have tested the XI payload in mapping. I have done all kinds of testing but it is still giving the same error.
    One more strange thing is
    I have done one BPM scenario where Data is coming from Source to BPM( which is asyn) and then from it will go from BPM to Target (which is sync) But when I am checking the SXMB_MONI... it showing the messages like this
    Source to BPM
    Target to BPM
    Target to BPM.
    But i think it should show message like
    Source to BPM
    BPM to Target
    Target to BPM
    why i am getting the flo

    Hi
    Check with the connection string & Authorization of user you have used.
    MSSQL string is
    jdbc:microsoft:sqlserver://dbhost:1433;databaseName=example;SelectMethod=Cursor
    While doing JDBC its good to refer Note 831162 lot of problems can be resolved.
    Thanks
    Gaurav

  • If variable name is the same as the column name in procedure ?

    If variable name is the same as the column name in procedure , What should i do?
    For Example :
    CREATE OR REPLACE PROCEDURE "TEST_PROC" (MIN_SALARY in UMBER)
    as
    begin
    INSERT INTO TEST SELECT JOB_ID,MIN_SALARY FROM JOBS WHERE MIN_SALARY = MIN_SALARY;
    end;

    You could follow a better naming convention and have the parameters to the procedures named in a way so as not to be confused with column names.
    You could prefix the variable names with the name of the procedure they appear in but then what if your have procedure names same as table names?
    SQL> create or replace procedure test_proc(sal in number) is
      2    cnt number ;
      3  begin
      4    select count(*) into cnt from scott.emp where scott.emp.sal = test_proc.sal ;
      5    dbms_output.put_line('cnt='||cnt) ;
      6  end ;
      7  /
    Procedure created.
    SQL> set serveroutput on
    SQL> exec test_proc(800) ;
    cnt=1
    PL/SQL procedure successfully completed.
    SQL>If you search you can find several posts here itself on naming convention to avoid such issues in first place.

  • Vector clone references the same objects??

    Hi all
    I'm developing a simple chess program.
    Obviously, each move the user tries must be checked against the following sets of chess rules:
    1.) Whether it is that colour player's turn to move
    2.) Whether this move is valid for this specific piece (eg. 3 forward for a King --> invalid of course)
    3.) Whether this move will jeopardize the player's king (put it in check)
    If from any of the above the move is found to be invalid, the move is not executed.
    My program structure is briefly this:
    A. abstract super class 'ChessPiece' - subclassed by the various specific Chess Piece classes.
    Each of the specific ChessPiece subclasses must implement an abstract method to check if a
    proposed move is valid, and also a method to actually do the move...
    B. 'PieceManager' class - has a Vector of ChessPieces:
    This class checks whether the given move is valid:
    For the piece: by calling the checking method (see A above)
    For the general game: by making sure the given move doesn't put the player's king in check.
    NOTE: In chess (for those who don't know), it is illegal to move any piece if, at the end of
    the move, your king will be in check [possible to be captured by any enemy piece]
    This last check I want to do in the following way:
    1) copy/clone the entire PieceManager object
    2) in this copied object, actually do the move
    3) still in the copied/cloned object, see if the moving player's king is now in check
    4) based on this evaluation, execute the move in the original PieceManger object or don't...
    The Problem:
    When I clone this PieceManager object, its 'pieces' Vector is obviously also cloned.
    BUT it seems that the cloned 'pieces' Vector references the same ChessPiece objects
    as those referenced by the original 'pieces' Vector; ie the 2 Vectors are sharing the same Objects.
    Thus, when I actually execute the move in the test/cloned PieceManager object,
    the original PieceManager's corresponding piece is moved too (well, it seems it is the same piece...).
    I am pretty stuck with this.
    I've tried the Vector clone method; it doesn't seem to copy the objects, but create another reference
    to the same objects, as I've said.
    I've tried cloning the entire object ; also not helping......
    I'd love any comments, helpful pointers, suggestions.
    Also any comments on my program structure... is a Vector the best tool for this job?
    Thanks very much -
    lutha

    Hi all, OP here.
    Ok thanks guys for all your posts...
    two points:
    1) I have tried the "copy constructor", and it seems to be doing the same thing. (ie 'shallow clone')
    What's really frustrating me is that nothing I do seems to actually physically copy the Vector's objects
    to new, separate copies of those objects...
    I had my PieceManager class implement Cloneable (just in case - not too sure on that one; in fact I
    commented that out later), and I overrode the clone method like this:
    public Object clone ()
            PieceManager pm = new PieceManager ();
            Vector pcs = new Vector ();
            // Enumeration e = pieces.elements ();
            //while (e.hasMoreElements ())
            //    ChessPiece p = (ChessPiece) e.nextElement ();
            //pcs.add ();
            //}  // still references the same objects!!
            pieces.trimToSize ();
            int size = pieces.size ();
            Object[] arr = new Object [size];
            Object[] initial = pieces.toArray ();
            System.arraycopy (initial, 0, arr, 0, size);
            for (int i = 0 ; i < size ; i++)
                ChessPiece p = (ChessPiece) arr ;
    pcs.add (p);
    pm.pieces = pcs;
    return pm;
    This all still does the same 'shallow cloning'...
    2) m.winter, my ChessPiece objects are not immutable - they have a co-ordinate field that
    changes as they are moved. This is for getting as called by another object, and for checking in
    the ChessPiece's own internal method for checking whether the passed-in square co-ordinate
    is a valid destination.
    Anyway, I don't think that's the main issue here. How can I properly clone/copy a Vector, resulting
    in :
    a) the original Vector
    b) a new, totally unrelated Vector.
    Thanks again all for your input.
    regards,
    lutha

  • I'm having problems in a GOOP applicatio​n with multiple instances of the same object running simultaneo​usly.

    I?ve written an application to control a system with multiple lamps. Each lamp in the system has its own power supply. Each lamp object contains a reference to its power supply. The application contains an array with the references to all the lamps in the system. Each lamp is in charge of monitoring itself and setting its power supply?s voltage according to the applications commands, therefore each lamp needs that its ?run me? method will run as long as the application is running i.e. the run method has to be reentrant. Because there are multiple lamps and because the ?run me? methods for each lamp run simultaneously, to over come this problem each lamp has a met
    hod ?run? that calls ?run me? with ?RUN VI? invoke node with the ?Wait until done? set to false. When I run the application, it seems to work but if I check the AO there is no change in the output, and the lamps seem to be reading their input from the same channel. I can?t seem to find the problem, I think that the fact that the method is reentrant causes some sort of mix-up in the separate object references. Also because the method is reentrant I can?t debug it (with one lamp it seems to work ok). Does anyone have any idea what could be causing this problem.
    P.S I'm having problems attaching my sample program to this message. You can contact me at [email protected] to recive the sample program I wrote.

    Jean, Thanks for your answer, I've tried checking the invoke node that calls the "Run VI" method but it doesnt return an error any of the times its called even that the Vi that it called is still running. I also tried your solution of changing the object's "Run" method to a template but that doesnt work either. I can't seem to post the sample progam that demonstrates the problem, is it possible to send it to you by email, contact me at [email protected]
    Attachments:
    Sample_program.zip ‏926 KB

  • Make sure 2 threads share the same object

    I have been thinking about this for quite some time. However, I really couldn't figure it out due lack of experience and knowledge.
    I just needed to know how can I make sure that 2 or more threads (after certain checkings that they should share a same common object) will really share the same object.
    For example (to UlrikaJ if you are reading this):
    How can I achieve the following?? Thanks!
    "When James and Ada separately want to access their shared account,two transactions are started that accesses the object associated with that account number."

    Thanks for the answer. You are welcome :-)
    public class Account
       public Account getAccount(String userInput)
         // Some processes to verify the userInput go here.
         return account;
    }//End of Account class
    public UserThread implements Runnable
       private String name;
       private Semaphore s;
       private Account userAccount; //Reference for the Account class
       public UserThread(String name, Semaphore s)
          this.name = name;
          this.s = s;
       }//End of constructor
       public void run()
          for(;;)
              getUserInput(); //Ofcourse the implementation will depend on what you are doing
              s.lock(); //obtain a lock on Semaphore object
              //Entering critical section of the code
              this.userAccount = accountObject.getAccount(userInput);
              //End of critical section of the code.
              s.signal(); //Release the lock so that other thread
              //can access the getAccount() method...irrespective of the
              //variable or the object being used or referred to.
          }//End of for() loop
       }//End of run() method
    } //End of UserThread class
    public class AccountApplication
       public static void main(String args[])
          Semaphore sem = new Semaphore(0);
          //Always initialize the Semaphore with 0 when you create it.
          UserThread user1 = new UserThread("User Number 1",sem);
          UserThread user2 = new UserThread("User Number 2",sem);
          //All threads share the same Semaphore object
          Thread userThread1 = new Thread(user1);
          Thread userThread2 = new Thread(user2);
          userThread1.start();
          userThread2.start();
       }//End of main() method
    }//End of classWell, I have given the outline of the code. I have not compiled or run the program so it might have errors in its syntax.
    Obviously, you will definitely have to change it to suit your requirements. I have just shown you how to protect yur codes' critical section.
    Hope this clears your doubts.
    Vijay :-)

Maybe you are looking for

  • Bad magic number in super-block while trying to open /dev/sda2

    hello, So I've a linux partition, and then I wanted to install a Windows copy. I've only 1 HDD with differents partition into it: sda5 (swap) sda6 /user sda7/var sda8 / (which contain the boot and root of course) sda3 /home sda2 NTFS (windows xp) So,

  • Condition type manually removed in back-end

    Hi! I am creating a purchase order in SRM.  The order is created with a foreign supplier. When replicated to back-end and looked at in ME23N the condition GRWR is 0 when it should be the same amount as the Gross price. When doing an analysis of the P

  • Preloader Delay

    I noticed in the manual that the preloader for Flex apps have a 700 millisecond delay. This isn't very significant... but you can see the screen flash my not-yet-formatted components on the screen during this time. Is there a way to adjust the delay

  • Can't Open "Lightroom 5" from CC Desktop Application

    The CC Desktop shows my "Lightroom 5" application with check mark as "Up to date".  However, it does not have link to open the application form there...is it common?  or something needs to be set? As I roll over on Photoshop or Bridge, the cursor poi

  • Export Problem (VBR, 2 Durchgänge) Premiere Pro CS6

    Hallo liebe Community! Ich habe seit einiger Zeit ein Problem beim Exportieren meiner Videos in höchster Qualität (z.B. H.264) mit Adobe Premiere Pro CS6. Bei meinen Projekten handelt es sich meistens um .MP4 Videos (Canon EOS DSLR) im Full-HD Format