Help with a Data Structures Assignment

For this assignment we need to create a 'Bag' class that implements BagInterface. This becomes a bag of Coins. The problem I am having is in the Bag. The length variable ('maxLength') is not being registered. I assign it in the constructor statement, but when it is called later in the script, it shows up as 0. Any suggestions would be greatly appreciated.
public class Bag<E> implements BagInterface<E>{
E[] entry; // array of E�s
int[] frequency; // frequency of the E�s
int maxLength;
int length = 0;                // current number of entries in bag
int MAX_SIZE = 10; // constant default size of a Bag
public void Bag()
     E[] entry = (E[])(new Object[MAX_SIZE]);
     int[] frequency = new int[MAX_SIZE];
     maxLength = MAX_SIZE;
public void Bag(int maxSize)
     E[] entry = (E[])(new Object[maxSize]);
     int[] frequency = new int[maxSize];
     maxLength = maxSize;
/** Returns true if anEntry is in this Bag; otherwise, return false.*/
public boolean contains(E anEntry)
     E TempVar = null;
          for(int count = 0; count < length; count++)
               if(anEntry == entry[count])
          TempVar = entry[count];
          if(TempVar == anEntry)
               return true;
          else
               return false;
/** Returns the index of where anEntry is stored; otherwise, returns -1.*/
public int getPosition(E anEntry)
               int TempVar = -1;
               for(int count = 0; count < length; count++)
                    if(anEntry == entry[count])
               TempVar = count;
               if(TempVar >= 0)
                    return TempVar;
               else
                    return -1;
/** Returns the frequency of the item stored at position; otherwise, returns 0.*/
public int getFrequency(int position)
     int TempVar;
     try{
     TempVar = frequency[position];
     return TempVar;
     catch(ArrayIndexOutOfBoundsException e)
          return 0;
/** Returns the item stored at position; otherwise, returns null.*/
public E getItem(int position)
     E TempVar;
     try{
               TempVar = entry[position];
               return TempVar;
     catch(ArrayIndexOutOfBoundsException e)
          return null;
/** If anEntry is already in this Bag, increment it's frequency; otherwise,
* add the newEntry to the Bag and set its frequency to 1.*/
public void add(E newEntry)
     boolean test;
     int position;
     int TempVar;
     test = isFull();
     if(test = true)
          E[] entryTemp = (E[])(new Object[maxLength]);
          int[] frequencyTemp = new int[maxLength];
          for(int count = 0; count < maxLength; count++)
               entryTemp[count] = entry[count];
               frequencyTemp[count] = frequency[count];
          if(maxLength == 0)
               maxLength = 5;
          else
               maxLength = maxLength * 2;
          System.out.println(maxLength);
          E[] entry = (E[])(new Object[maxLength]);
          int[] frequency = new int[maxLength];
          for(int count2 = 1; count2 < maxLength; count2++)
               entry[count2] = entryTemp[count2];
               frequency[count2] = frequencyTemp[count2];
          position = getPosition(newEntry);
          if(position == -1)
          entry[length] = newEntry;
               frequency[length] = 1;
               length++;
               else
               TempVar = frequency[position];
               TempVar++;
               frequency[position] = TempVar;
     if(test = false)
          position = getPosition(newEntry);
          if(position == -1)
               entry[length] = newEntry;
               frequency[length] = 1;
               length++;
          else
               TempVar = frequency[position];
               TempVar++;
               frequency[position] = TempVar;
/** If anEntry in this Bag, retrun its index back to the caller; otherwise, retrun -1. */
public void remove(E anEntry)
     boolean tester = contains(anEntry);
     if(tester = true)
               int Pos = getPosition(anEntry);
     int Freq = getFrequency(Pos);
     if(Freq > 1)
          frequency[Pos] = Freq - 1;
     if(Freq == 1)
          for(int count = Pos; count < length-1; count++)
               frequency[Pos] = frequency[Pos+1];
               entry[Pos] = entry[Pos+1];
          length--;
/** Clear the contents of this Bag. */
public void clear()
     E[] entry = (E[])(new Object[maxLength]);
     int[] frequency = new int[maxLength];
/** Return the length of this Bag. */
public int getLength()
     return length;
/** Return true if this Bag is empty; otherwise, return false. */
public boolean isEmpty()
     if(length == 0)
          return true;
     else
          return false;
/** Return true if this Bag is full; otherwise, return false. */
public boolean isFull()
     if(length == maxLength)
          return true;
     else
          return false;
/** Return a Bag that is the union of this Bag and other (set the frequency to
* the sum the their freqiencies) */
public Bag<E> union(Bag<E> other){
     int lengthThis;
     int lengthOther;
     lengthThis = this.getLength();
     lengthOther = other.getLength();
     Bag<E> Union = new Bag<E>();
     for(int count = 0; count < lengthOther; count++)
          int Freq = other.getFrequency(count);
          if(Freq == 1)
          Union.add(other.getItem(count));
          if(Freq > 1)
               int FreqCounter = Freq;
               for(int count2 = 0; count2 < FreqCounter; count2++)
                    Union.add(other.getItem(count));
     return Union;
/** Return a Bag that is the intersection of this Bag and other (set the frequency
* to the minimum of their frequencies). */
public Bag<E> intersection(Bag<E> other){
     int lengthThis;
     int lengthOther;
     lengthThis = this.getLength();
     lengthOther = other.getLength();
     Bag<E> Intersect = new Bag<E>();
     for(int count = 0; count < lengthOther; count++)
     E Tester1 = other.getItem(count);
     boolean container = this.contains(Tester1);
     if(container = true)
          int OtherFreq = other.getFrequency(count);
          int position = this.getPosition(Tester1);
          E Tester2 = getItem(position);
          int ThisFreq = getFrequency(position);
          if(ThisFreq <= OtherFreq)
               for(int count2 = 0; count < ThisFreq; count++)
                    Intersect.add(Tester1);
          else
               for(int count3 = 0; count < OtherFreq; count++)
                    Intersect.add(Tester1);
     return Intersect;
/** Return a Bag that is the difference of this Bag and other (set the frequency
* to the difference of their frequencies provided this number is positive). */
public Bag<E> difference(Bag<E> other)
     int lengthThis;
     int lengthOther;
     lengthThis = this.getLength();
     lengthOther = other.getLength();
     Bag<E> Difference = new Bag<E>();
     for(int count = 0; count < lengthOther; count++)
     E Tester1 = other.getItem(count);
     boolean container = this.contains(Tester1);
     if(container = true)
          int OtherFreq = other.getFrequency(count);
          int position = this.getPosition(Tester1);
          E Tester2 = getItem(position);
          int ThisFreq = getFrequency(position);
          if(ThisFreq <= OtherFreq)
               int ThatFreq = OtherFreq - ThisFreq;
               for(int count2 = 0; count < ThatFreq; count++)
                    Difference.add(Tester1);
          else
               int ThatFreq = ThisFreq - OtherFreq;
               for(int count3 = 0; count < ThatFreq; count++)
                    Difference.add(Tester1);
     return Difference;
public void display()
     int lengthThis = this.getLength();
     for(int count = 0; count < lengthThis; count++)
          E MyItem = this.getItem(count);
          int MyFreq = this.getFrequency(count);
          System.out.println("<" + MyItem + "," + MyFreq + ">");
}

Sorry about not using the code snippit thing.
I fixed the issue about the arrays and the length variable. I am now having an issue with the display() method. It doesn't receive the Bag object, instead is should print out the output from either the Union, Intersection of Difference bags and I'm not sure how to make it do that. An example call is:
stash1 and 2 are bag objects.
(stash1.union(stash2)).display();

Similar Messages

  • Let all channels(with same data structure)run one program

    Hello,
    I want to let all channels with same data structure run one program,how can i program it?
    Thanks!

    Hi charleen,
    You're going to need to provide more details for us to help you.  In general "channels" do not "run" programs.  You can, however, run a program which loops over channels, checks their properties, and decides whether to include them in the overall analysis.  What do you mean by "data structure"?
    What do you want to actually happen in the "program"?
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • Help with a Boolean/Satisfiability assignment

    Hey everyone, first time posting here.
    I have an assignment which im working on atm but im stuck and was wondering if anyone can give me a general direction to start on. The basic parts of the program are as follows:
    1. Obtains the problem instance name from the command line
    2. Reads the instance from a file
    3. Displays the instance on the screen exactly as it appears in the file
    4. Constructs an internal data structure representing the formula, using specified types
    5. Displays the instance on the screen in "human readable" form
    6. Determines if the instance has a solution (i.e. a satisfying assignment)
    7. If there is a solution, displays the solution on the screen; (in "human readable" form); if there
    is no solution, displays an appropriate message
    8. Displays also how long it took to determine if there was a solution or not
    9. Saves a report (roughly, the previous two items) to a file
    I am currently stuck on part 6 of the assignment.
    When you read in an instance for processing, you must represent it with and instance of
    Formula. This object will have an instance variable that stores a collection of Proposition
    instances, representing the variables, and an instance variable that stores a collection of Clause
    instances, representing the clauses, as read from the file.
    Each of these classes must have a method public String toString() that returns a string
    representing its contents. These should be implemented so that, if F is a Formula instance,
    executing System.out.print( F ) will print the "human readable" form of the formula as
    described above.
    What would be a good way of determing how the instance has a solution? I've considered using a truth table or even using binary but cant think of a way to do this properly.
    Thanks all!

    Input: myInstance
    Number of Variables: 3
    Variables:
    we are in vancouver
    it is summer
    it is raining
    Number of Clauses: 2
    Clauses:
    ( NOT we are in vancouver OR it is summer OR it is raining )
    ( NOT we are in vancouver OR NOT it is summer OR NOT it is raining )
    ( !v | s | r ) & ( !v | !s | !r ) is the condition so I do have to use and
    The satisfying assignments are:
    v=true, s=true, r=false
    v=true, s=false, r=true
    v=false, s=true, r=true
    v=false, s=true, r=false
    v=false, s=false, r=true
    v=false, s=false, r=false
    This assignment is bloody confusing -_-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Im DROWNING! need help with a simple java assignment! plz someone help me!

    i need help with my java assignment, with validating a sin number. easy for must who know java. im drowning... please help!

    You will need to store each digit of the social insurance number in a field of its own. To validate the entry you will:
    1. Multiply the 2nd, 4th, 6th and 8th digit by 2.
    2. If the product of any of the four multiplications result in a value greater than 9, add the two resulting digits together to yield a single-digit response. For example 6 * 2 = 12, so you would add the 1 and the 2 to get a result of 3.
    3. Add these four calculated values together, along with the 1st, 3rd, 5th, and 7th digits of the original number.
    4. Subtract this sum from the next highest multiple of 10.
    5. The difference should be equal to the 9th digit, which is considered the check digit.
    Example of validating S.I.N. 765932546
    1st digit 7
    2nd digit (6*2 =12 1+2=) 3
    3rd digit 5
    4th digit (9*2 = 18 1+8 =) 9
    5th digit 3
    6th digit (2*2 = 4) 4
    7th digit 5
    8th digit (4*2 = 8) 8
    Total 44 next multiple of 10 is 50
    50-44 = 6 which is the 9th digit
    Therefore the S.I.N. 765932546 is Valid
    ********* SIN Validation *********
    Welcome - Please enter the first number: 120406780
    Second digit value multiplied by 2 4
    Fourth digit value multiplied by 2 8
    Sixth digit value multiplied by 2 12
    Eighth digit value multiplied by 2 16
    Value derived from 6th digit 3
    Value derived from 8th digit 7
    The total is 30
    Calculated digit is 10
    Check digit must be zero because calculated value is 10
    The SIN 120406780 is Valid
    this is my assignemtn this is what i have! i dont know where to start! please help me!
    /*     File:     sinnumber.java
         Author:     Ashley
         Date:     October 2006
         Purpose: Lab1
    import java.util.Scanner;
    public class Lab1
              public static void main(String[] args)
                   Scanner input = new Scanner(System.in);
                   int sin = 0;
                   int number0, number1, number2, number3, number4, number5, number6, number7, number8;
                   int count = 0;
                   int second, fourth, sixth, eighth;
                   System.out.print("\t\n**********************************");
                   System.out.print("\t\n**********SIN Validation**********");
                   System.out.print("\t\n**********************************");
                   System.out.println("\t\nPlease enter the First sin number: ");
                   sin = input.nextInt();
                   count = int.length(sin);     
                   if (count > 8 || count < 8)
                   System.out.print("Valid: ");
         }

  • Urgent! Need help in deciding data structure to use

    Hi all,
    I need to implement a restaurant system by which a customer can make a reservation.
    I was wondering whether vector would be able to be store such an object, The thing is I don't want a complex data structure. just sumthin simple cos i hardly have anytime left to my submission. sighz...
    The thing is I need to able to search based on 2 properties of an object. Eg. I need to search for a reservation based on the customer name and the date he reserved a table.
    But I am totally clueless how to search thru a vector based on 2 properties of the object... Would really appreciate some help. Like an example how to so so based on my program. Feelin so lost...This is all I have so far:
    class AddReservation
         static BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in));
         //Main Method
         public static void main (String[]args)throws IOException
              String custName, comments;
              int covers, date, startTime, endTime;
              int count = 0;
              //User can only add one reservation at a time
              do
                   //Create a new reservation
                   Reservation oneReservation=new Reservation();                         
                   System.out.println("Please enter customer's name:");
                   System.out.flush();
                   custName = stdin.readLine();
                   oneReservation.setcustName(custName);
                   System.out.println("Please enter number of covers:");
                   System.out.flush();
                   covers = Integer.parseInt(stdin.readLine());
                   oneReservation.setCovers(covers);
                   System.out.println("Please enter date:");
                   System.out.flush();
                   date = Integer.parseInt(stdin.readLine());
                   oneReservation.setDate(date);
                   System.out.println("Please enter start time:");
                   System.out.flush();
                   startTime = Integer.parseInt(stdin.readLine());
                   oneReservation.setstartTime(startTime);
                   System.out.println("Please enter end time:");
                   System.out.flush();
                   endTime = Integer.parseInt(stdin.readLine());
                   oneReservation.setendTime(endTime);
                   System.out.println("Please enter comments, if any:");
                   System.out.flush();
                   comments = stdin.readLine();
                   oneReservation.setComments(comments);
                   count++;
              while (count<1);
              class Reservation
              private Reservation oneReservation;
              private String custName, comments;
              private int covers, startTime, endTime, date;
              //Default constructor
              public Reservation()
              public Reservation(String custName, int covers, int date, int startTime, int endTime, String comments)
                   this.custName=custName;
                   this.covers=covers;
                   this.date=date;
                   this.startTime=startTime;
                   this.endTime=endTime;
                   this.comments=comments;
              //Setter methods
              public void setcustName(String custName)
                   this.custName=custName;
              public void setCovers(int covers)
                   this.covers=covers;;
              public void setDate(int date)
                   this.date=date;
              public void setstartTime(int startTime)
                   this.startTime=startTime;
              public void setendTime(int endTime)
                   this.endTime=endTime;
              public void setComments(String comments)
                   this.comments=comments;
              //Getter methods
              public String getcustName()
                   return custName;
              public int getCovers()
                   return covers;
              public int getDate()
                   return date;
              public int getstartTime()
                   return startTime;
              public int getendTime()
                   return endTime;
              public String getComments()
                   return comments;
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    class searchBooking
         static BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in));
         public static void main (String[]args)throws IOException
              int choice, date, startTime;
              String custName;
                   //Search Menu
                   System.out.println("Search By: ");
                   System.out.println("1. Date");
                   System.out.println("2. Name of Customer");
                   System.out.println("3. Date & Name of Customer");
                   System.out.println("4. Date & Start time of reservation");
                   System.out.println("5. Date, Name of customer & Start time of reservation");
                   System.out.println("Please make a selection: ");          
                   //User keys in choice
                   System.out.flush();
                   choice = Integer.parseInt(stdin.readLine());
                   if (choice==1)
                        System.out.println("Please key in Date (DDMMYY):");
                        System.out.flush();
                        date = Integer.parseInt(stdin.readLine());
                   else if (choice==2)
                             System.out.println("Please key in Name of Customer:");
                             System.out.flush();
                             custName = stdin.readLine();
                   else if (choice==3)
                             System.out.println("Please key in Date (DDMMYY):");
                             System.out.flush();
                             date = Integer.parseInt(stdin.readLine());
                             System.out.println("Please key in Name of Customer:");
                             System.out.flush();
                             custName = stdin.readLine();
                   else if (choice==4)
                             System.out.println("Please key in Date (DDMMYY):");
                             System.out.flush();
                             date = Integer.parseInt(stdin.readLine());
                             System.out.println("Please key in Start time:");
                             System.out.flush();
                             startTime = Integer.parseInt(stdin.readLine());
                   else if (choice==5)
                             System.out.println("Please key in Date (DDMMYY):");
                             System.out.flush();
                             date = Integer.parseInt(stdin.readLine());
                             System.out.println("Please key in Name of Customer:");
                             System.out.flush();
                             custName = stdin.readLine();
                             System.out.println("Please key in Start time:");
                             System.out.flush();
                             startTime = Integer.parseInt(stdin.readLine());
                        }

    Please stop calling your questions urgent. Everybody's question is urgent to them. Nobody's are urgent to the people who are going to answer them. Calling your questions urgent suggests that you think they are more important than others' (They're not.) and will only serve to irritate those who would help you. It won't get your questions answered any sooner.

  • Need help with saving data and keeping table history for one BP

    Hi all
    I need help with this one ,
    Scenario:
    When adding a new vendor on the system the vendor is suppose to have a tax clearance certificate and it has an expiry date, so after the certificate has expired a new one is submitted by the vendor.
    So i need to know how to have SBO fullfil this requirement ?
    Hope it's clear .
    Thanks
    Bongani

    Hi
    I don't have a problem with the query that I know I've got to write , the problem is saving the tax clearance certificate and along side it , its the expiry date.
    I'm using South African localization.
    Thanks

  • Help with a Date variable

    I'm creating a jscript to automatically rename a file the current days date, but i can't figure out how to get it to put a zero in front of days/months that are single digits. Can anyone help me real quick? Heres the code i already have, pay no attention to the "dh" part, it has to be there:
    var todayFileName = "dh" +
    today.getFullYear() + "" +
    today.getMonth() + "" +
    (today.getDate()+1); + " " +

    This little javascript function should help.
    Note that it is only meant to work with valid dates. Putting in a -7 for the parameter will result in something not so nice :-)
    function twoDigitNo(no){
        return  (no < 10) ? "0" + no : no;
      }Cheers,
    evnafets

  • Help with calender dates

    Hello every one
    I have a table with calender dates and there is a indicator which says if it is a working day or an holiday. Is there a way I can write a procedure that will help me fill that indicator column based on the calender dates.
    My table looks something like this
    date indicator
    01/01/2011 Holiday
    01/02/2011 working day
    01/03/2011 working day
    12/31/2011 working day

    Good Friday or Easter Monday as a holiday I can't help you with that.
    here is easter both julian and gregarian
    WITH years AS (    SELECT 1989 + LEVEL yr
                         FROM DUAL
                   CONNECT BY LEVEL <= 30)
    SELECT TO_CHAR (TO_DATE (day || ' ' || month || ' ' || yr, 'DD MM YYYY'),
                    'DD MON YYYY')
              easter_day_julian,
           TO_CHAR (
              TO_DATE (day || ' ' || month || ' ' || yr, 'DD MM YYYY') + 13,
              'DD MON YYYY')
              easter_day_gregorian
      FROM (SELECT yr,
                   a,
                   b,
                   c,
                   d,
                   e,
                   FLOOR ( (d + e + 114) / 31) month,
                   MOD (d + e + 114, 31) + 1 day
              FROM (SELECT yr,
                           a,
                           b,
                           c,
                           d,
                           MOD ( ( (2 * a) + (4 * b) - d + 34), 7) e
                      FROM (SELECT yr,
                                   a,
                                   b,
                                   c,
                                   MOD ( (19 * c + 15), 30) d
                              FROM (SELECT yr,
                                           MOD (yr, 4) a,
                                           MOD (yr, 7) b,
                                           MOD (yr, 19) c
                                      FROM years))))Edited by: pollywog on Nov 24, 2010 2:06 PM

  • Need help with enhanced data source in Production system

    Hello Gurus,
    1.                  I enhanced a datasource in BW and populated the field using customer exit using CMOD function. In Dev system, i dont have much data, so I deleted the whole data and did full load.
    what shud I do in Production side, so that Delta wudnt be affected??since in production, we have millions of records, we wont do full load., what is the best way to populate the field in production after transporting the datasource to production without disturbing delta's, to reflect the new field for previous years data???
    2.  can we put 0customer and 0material in the same dimension?? how its going to affect the performance?
    Thanks in advance.,
    Best Regards,
    Pavan

    Hi,
    Please see this
    1.
    see this thread
    populated the new field with historic data
    2. can we put 0customer and 0material in the same dimension?? how its going to affect the performance?
    Its better not to use them in a single dimension  because one customer and take more than one material so if you have 100 customer and 1000 materials  this combination will generate a large number of records. Its always better to keep characteristic which are having 1:N relation ship in one dimensional in you  case customer and material will have an M:N type of relationship.which will result in slow performance.
    Regards,
    Ravi

  • Need help with Rollback data if there is error in Data load

    Hi All,
    We are trying to load data to Oracle 11g database. We want a trigger, procedure or something like that to rollback the data if there are errors in load. Is it possible to do rollback after all the records has been parsed ? So if we try to load 100 records and if there are 30 records with error, we want to rollback after all the 100 records are parsed.
    Please advice.

    >
    Thanks for the suggestion. I'll try that option. So currently we are only loading data that is validated and erroneous records are rejected using trigger. So we don't get any invalid data in table. But Now users are saying that all the records should be rejected if there is even one error in the data load.
    >
    I generally use a much simpler solution for such multi-stage ETL processes.
    Each table has a IS_VALID column that defaults to 'N'. Each step of the process only pulls data with the flag set to 'Y'.
    That allows me to leave data in the table but guarantee that it won't be processed by subsequent stages. Since most queries that move data from one stage to another ultimately have to read table rows (i.e. they can't just use indexes) it is not a performance issue to add a predicate such as "'AND IS_VALID = 'Y'" to the query that accesses data.
    1. add new unvalidated data - automatically flagged an invalid by default of 'N" on IS_VALID column
    2. run audit step #1 - capture the primary key/rowid of any row failing the audit.
    3. run audit steps #2 through #n - capture error row ids
    4. Final step - update the data setting IS_VALID to 'Y' only if a row passes ALL audits: that is, only if there are NO fatal errors for that row captured in the error table.
    That process also allows me to capture every single problem that any row has so that I can produce reports for the business users that show everything that is wrong with the data. There are some problems that the business wan't to ignore, others that can be fixed in the staging tables then reprocessed and others that are rejected since they must be fixed in the source system and that can take several days.
    For data that can be fixed in the staging tables the data is fixed and then the audit is rerun which will set the IS_VALID flag to 'Y' allowing those 'fixed' rows to be included in the data that feeds the next processing stage.

  • Help with JTree data by user input

    I am trying to read data into a JTree without it being hardcoded.
    An example of the data is:
    String data[] = {"a","b","c",";","b","g","h",";","c","t",";","g","u"};
    The above data is taken from user input and stored in an array and checked for errors.
    I want to somehow read take the above array's data and put it into following format in some kind of loop but I am not sure how.
    Object[] hierarchy = {"a", new Object[]{"b",new Object[]{"g","u"},"h"},new Object[]{"c","t"}};
    This Object is then passed to a function that interpets it and prints out the appropriate JTREE structure. For the values above it would be:
    a
    ..b
    ....g
    ......l
    ......u
    ....h
    ..c
    ....t
    Tha problem is how to take the string array and put that data correctly into the Object array. I have been racking my feeble mind for quite sometime and if any one out there can see it or has a better idea of how to get my data into the JTree please let me know.
    Thanks

    //OutlookClient.java
    //uses also Console class from Bruce Eckel 
    //<applet code=OutlookClient width=500 height=300>
    //</applet>
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    import java.util.*;
    import javax.swing.UIManager;
    import javax.swing.SwingUtilities;
    import BruceEckel.*;
    import DynamicTree.*;
    import DynamicTreeNode.*;
    import java.lang.reflect.*;
    /* a class creating a dialog with the version, and other details about the program*/
    class AboutDialog extends JDialog {
         private JButton ok = null;
         private Container cp = null;
         private JTextField tname = null;
            public AboutDialog() {
                   //System.out.println("constructor");
                   ok = new JButton("OK");
                   cp = getContentPane();
                   cp.setLayout(new FlowLayout());
                   JLabel tlab = new JLabel("Outlook - client side");
                   cp.add(tlab);
                   //tname.setMinimumSize(new Dimension(50,10));
                   //tname.setSize(new Dimension(70,10));
                   tlab = new JLabel("Author: Jiri Machotka");
                   cp.add(tlab);
                   tlab = new JLabel("version 1.0 (September 2001)");
                   cp.add(tlab);
                   tlab = new JLabel("----------------------------------------------");
                   cp.add(tlab);
                   ok.addActionListener( new ActionListener() {
                      public void actionPerformed(ActionEvent e) {
                        dispose();
                      }//actionPerformed
                   });//addActionListener
                   cp.add(ok);
                   setSize(200,150);
                   setTitle("About the program");  
                   setModal(true);
         }//constructor
      *      <P>This class more-or-less contains a graphic design object used for interaction with a user.</P>
      *     Apart from all ScrollPanes, Buttons, and MenuItems, it contains also 3 interesting members:
      *     <ol>
      *     <li> <I>protected final DefaultMutableTreeNode topNode</I>, which is initialized with
      * a potent, non-removable object of the class <I>Node</I>
      *     <li> <I>protected final DefaultTreeModel treeModel</I>, which is initialized with the <I>topNode</I>
      *     <li> and finally <I>protected final DynamicTree dyn_tree</I>, which uses the 2 objects above
      *     </ol>
      *     <P> The <I>OutlookClient</I> is an applet, but it can be also processed as an application (thanks to
      *     a library by BruceEckel).</P>
    public class OutlookClient extends JApplet {
    //------------- properties -----------------------------------------
       private Action
            newMail = new AbstractAction ("New Mail", new ImageIcon("images/NewMailIcon.gif")){
              public void actionPerformed(ActionEvent e) {
                         txt.setText("NewMail");
         reply     = new AbstractAction ("Reply", new ImageIcon("images/ReplyIcon.gif")){
              public void actionPerformed(ActionEvent e) {
                         txt.setText("Reply");
       private JButton
         /*b1 = new JButton("Add a Node"),
         b2 = new JButton("Remove the current Node"),*/ //not used now
         tb1 = new JButton (newMail),
         tb2 = new JButton (reply);
       private JTextField
         txt = new JTextField(10);
       private Container
         leftArea = new Container(),
         rightArea = new Container();
       private JScrollPane
            left = new JScrollPane (leftArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS),
            right = new JScrollPane (rightArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
       private JSplitPane
            sp = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, left, right);
       private JToolBar
         toolBar = new JToolBar();
       private JMenuBar
         menuBar = new JMenuBar();
       /*ActionListener al = new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            String name = ( (JButton)e.getSource()).getText();
            txt.setText(name);
       };*/     //not used now - used as an action listener for buttons b1, b2
       private JMenu
         mainOutlookMenu = new JMenu ("Outlook activities"),
         othersMenu      = new JMenu ("Others"),
         mailMenu     = new JMenu ("Mails"),
         chatMenu     = new JMenu ("Chat"),
         look_and_feelMenu = new JMenu ("Look&Feel");
       private JMenuItem
         closeAppItem     = new JMenuItem ("Exit",KeyEvent.VK_F3),
         newMailItem     = new JMenuItem (newMail),
         replyItem     = new JMenuItem (reply);
       private JRadioButtonMenuItem
         windowsLookAndFeelItem;
       protected final DefaultMutableTreeNode topNode = new DefaultMutableTreeNode(new Node ("Outlook", false, true));
       protected final DefaultTreeModel treeModel = new DefaultTreeModel(topNode);
       protected final DynamicTree dyn_tree = new DynamicTree(topNode, treeModel);
    //-------------inner classes----------------------------------------
    /** <P>The class <I>MyRenderer</I> sets the renderer of the tree - by doing that icons can be assigned to
       * the tree's nodes. </P>
       * <P> It sould be probably a standard member of a class <I>DynamicTreeWithIcons</I>.</P>
       * <P> However, it uses the knowledge that the class <B>Node</B>, which is the only object that can be
       * found in the dynamic tree in this application, has a method <I>getIcon()</I>, which returns a
       * reference to the icon object assigned to the node.</P>
       * <P><B>This is the only place, where the class Node, or its methods are called explicitely.</B></P>
       protected class MyRenderer extends DefaultTreeCellRenderer {
         /** The constructor of the class.
           * - sets folders icons (opened, closed folder)
         public MyRenderer() {
                 //setLeafIcon(new ImageIcon("images/middle.gif")); //for leaves' icon, all at once!
              setOpenIcon(new ImageIcon("images/folder_open.gif"));
              setClosedIcon(new ImageIcon("images/folder_close.gif"));
         /** This overridden method gets the user-specified icon for leaf nodes. */
         public Component getTreeCellRendererComponent(
                   JTree tree,
                   Object value,
                   boolean sel,
                   boolean expanded,
                   boolean leaf,
                   int row,
                   boolean hasFocus) {
              super.getTreeCellRendererComponent(tree,value,sel,expanded,leaf,row,hasFocus);
              if (leaf) 
              //workaround: test if icon not eq. null
                     ImageIcon ic = getRightIcon(value);
                     if (ic == null) return this;
                     else
                          setIcon(ic);
              return this;
         }//overridden: getTreeCellRendererComponent
         private ImageIcon getRightIcon(Object value) {
           DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
              try{
              Node node_object = (Node)(node.getUserObject());   
                 return (node_object.getIcon());
           catch (Exception e) { return null; }
         }// ImageIcon getRightIcon(Object value)
      }//class MyRenderer
    //-------------OutlookClient methods-----------------------------------------
       private void assignListeners(){
         dyn_tree.addTreeSelectionListener(new TreeSelectionListener() {
             public void valueChanged(TreeSelectionEvent e) {
              DefaultMutableTreeNode node = (DefaultMutableTreeNode)dyn_tree.getLastSelectedPathComponent();
              if (node == null) return;
              if (node.isLeaf()) { txt.setText(node.toString()); }
       }//assignListeners()
       private void createLayout(){
         leftArea.setLayout(new BoxLayout(leftArea,BoxLayout.Y_AXIS));
         rightArea.setLayout(new BoxLayout(rightArea,BoxLayout.Y_AXIS));
         //left.setMinimumSize(new Dimension(120,200));
         right.setMinimumSize(new Dimension(50,50));
         //rightArea.add(b1);
         //rightArea.add(b2);
         rightArea.add(txt);
         //leftArea.add(tree);  ... not nice (why?)
           left = new JScrollPane (dyn_tree, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);       
         left.setMinimumSize(new Dimension(180,200));
         sp.setLeftComponent(left);
       }//createLayout()
       private void createMenu(){
         ButtonGroup group = new ButtonGroup();
            JRadioButtonMenuItem rbMenuItem;
         closeAppItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F3, ActionEvent.ALT_MASK));
         closeAppItem.getAccessibleContext().setAccessibleDescription("Closes application");
         closeAppItem.addActionListener( new ActionListener() {
              public void actionPerformed(ActionEvent e) {System.exit(0);}
         othersMenu.setMnemonic(KeyEvent.VK_O);
         othersMenu.getAccessibleContext().setAccessibleDescription("System settings&Others");
            rbMenuItem = new JRadioButtonMenuItem("Java");
            rbMenuItem.setSelected(true);
            rbMenuItem.setMnemonic(KeyEvent.VK_J);
            group.add(rbMenuItem);
            rbMenuItem.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {setPLAF(UIManager.getCrossPlatformLookAndFeelClassName( ) );}
            look_and_feelMenu.add(rbMenuItem);
            rbMenuItem = new JRadioButtonMenuItem("Windows");
            rbMenuItem.setMnemonic(KeyEvent.VK_W);
            group.add(rbMenuItem);
            rbMenuItem.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {setPLAF("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");}
            look_and_feelMenu.add(rbMenuItem);
         windowsLookAndFeelItem = rbMenuItem;
         look_and_feelMenu.setMnemonic(KeyEvent.VK_L);
         look_and_feelMenu.getAccessibleContext().setAccessibleDescription("Look&Feel");
         JMenuItem aboutItem = new JMenuItem ("About");
         aboutItem.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                   AboutDialog ad = new AboutDialog();
                   ad.show();
         othersMenu.add(look_and_feelMenu);
         othersMenu.addSeparator();
         othersMenu.add(aboutItem);
         othersMenu.addSeparator();
         othersMenu.add(closeAppItem);
         mainOutlookMenu.setMnemonic(KeyEvent.VK_A);
         mainOutlookMenu.getAccessibleContext().setAccessibleDescription("Outlook activities");
         menuBar.add(mainOutlookMenu);
         menuBar.add(othersMenu);
         mailMenu.setMnemonic(KeyEvent.VK_M);
         mailMenu.getAccessibleContext().setAccessibleDescription("Mail activities");
         chatMenu.setMnemonic(KeyEvent.VK_C);
         chatMenu.getAccessibleContext().setAccessibleDescription("Chat");
         chatMenu.setEnabled(false);
         mainOutlookMenu.add(mailMenu);
         mainOutlookMenu.addSeparator();
         mainOutlookMenu.add(chatMenu);
         //mailMenu.add(newMail);
         //mailMenu.add(reply);     //class Action has problems to catch the accelerator keys
         newMailItem.setMnemonic(KeyEvent.VK_N);
         replyItem.setMnemonic(KeyEvent.VK_R);
         mailMenu.add(newMailItem);
         mailMenu.add(replyItem);
         newMailItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
         replyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, ActionEvent.ALT_MASK));
         //newMail.putValue(Action.NAME, "New mail");
         //newMail.putValue(Action.SHORT_DESCRIPTION, "New mail");
         //newMail.putValue(Action.LONG_DESCRIPTION, "New mail");
         //newMail.putValue(Action.MNEMONIC_KEY, "N");  //cast an exception. why?
         //newMail.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));     
         setJMenuBar(menuBar);
       }//createMenu()
       private void createToolBar(){
         //toolBar.add(newMail);
         //toolBar.add(reply);    //does not provide texts and mnemonics
         tb1.setMnemonic(KeyEvent.VK_N);
         tb2.setMnemonic(KeyEvent.VK_R);
         toolBar.add(tb1);
         toolBar.add(tb2);
       }//createToolBar()
       private void createNodes(DefaultMutableTreeNode topNode){
         //new for dynamic processing
         DefaultMutableTreeNode
              parentNode = null,
              leaveNode  = null;
         parentNode = dyn_tree.addObject(null,new Node ("MailFolders", false, true));
         dyn_tree.addObject(parentNode,new Node ("Inbox","images/InboxIcon.gif", false, false));
         dyn_tree.addObject(parentNode,new Node ("Outbox","images/OutboxIcon.gif", false, false));
         dyn_tree.addObject(parentNode,new Node ("Sent","images/SentIcon.gif", false, false));
         dyn_tree.addObject(parentNode,new Node ("Deleted","images/DeletedIcon.gif", false, false));
         //leaveNode.setEnabled(false);  //TODO: disable "Chat"node
         dyn_tree.addObject(null,new Node ("Chat", false, false));
       }//createcreateNodes(DefaultMutableTreeNode)
       private void setTreeSettings(){
         //one selection at one time
         dyn_tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
         //connect nodes with a thin line - Java style only
         dyn_tree.putClientProperty("JTree.lineStyle","Angled");
         //collapse the root's children first
         //tree.setShowsRootHandles(false);
         //icon adjustment
         MyRenderer MyRen = new MyRenderer();
         dyn_tree.setCellRenderer(MyRen);
         //modifiable tree - by double click - allows modifying of nodes' names
         // but unfortunately also restores original icons
         //tree.setEditable(true);
       }//setTreeSettings()
       private boolean setPLAF(String LookAndFeelName){
          try{
         UIManager.setLookAndFeel(LookAndFeelName);
         SwingUtilities.updateComponentTreeUI(this);
         return true;
          } catch (Exception e) {
         //e.printStackTrace(System.err);
         return false;
       }//setPLAF(String LookAndFeelName)
       private void trytosetLookAndFeel(){
          if (setPLAF("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"))
              windowsLookAndFeelItem.setSelected(true);
       }//trytosetLookAndFeel()
       /** The applet's <I>init()</I>.
         * Calls methods to construct all visible objects.
         * Apart from that it also assigns the renderer to the tree.
       public void init(){
         sp.setOneTouchExpandable(true);
            //sp.setDividerLocation(150); - system puts the value to optimize the left part
         sp.setPreferredSize(new Dimension(450,200));
         Container cp = getContentPane();
         cp.setLayout(new FlowLayout());
            createLayout();     
         createMenu();
         createToolBar();
         createNodes(topNode);
         setTreeSettings();
         //createPopupMenu();
         assignListeners();
         cp.add(toolBar);
         cp.add(sp);
         trytosetLookAndFeel();
       }//init()
       /** If called as an application.
         * The desired Windows Look&Feel is re-set again, when the applet is running. Otherwise, it in an application
         * it tends not to work correctly.
       public static void main(String[] args) {
         OutlookClient theApplet;
         BruceEckel.Console.run(theApplet=new OutlookClient(), 500, 300);
         theApplet.trytosetLookAndFeel();
       }//main(String[])
    }///:~Take a look namely at createNodes
    Hope it helps.

  • Help with Inconsistent data from NI6211

    I'm not getting very far with establishing good data transfer from an NI 6211 and don't seem to be able to pin point the issue or get confidence from DasyLab V10 to be able to look for the problem in another area.
    The NI6211 is set for period measurement and automatically uses a low frequency counter with sample on demand. The measurement range is set for 200ms to 1ms
    The Dasylab Counter Input task displays the sample on demand and block size of "1".
    I have also selected "10" as an output after timeout of 5seconds.
    I have set the module to use the Dasylab timebase and have configured all 3 timebases for 1000Hz and (tried higher and lower values) and set block sizes to 1.
    Whenever I change the timebase setting I always carry out a synchronise with MAX.
    I have been writing to a file using time deducted from data.
    With these settings I have the value "10" generated and stored in the file.
    When it says "Output after timeout (s) of:", does this mean that their has been no communication for 5seconds even though I can get time stamp information indicating only a few milliseconds have passed?
    Does time deducted information mean time deduced information (ie. time stamp from the data)
    Is there anything I need to do with A/D window? I have changed the sampling rate in there but it only appears to change the driver setting.
    Any help much appreciated.
    Thanks
    Mark..

    Additional to information in above post, the operating system is Windows Vista Home Premium with Service Pack 1.
    Could this be the underlying issue, Dasylab and Windows Vista are untested?
    Thanks

  • Help with exporting data from pdf form

    I have about 100 pdf forms that I created in adobe forms central and distributed as a pdf form (rather than on the web). I am trying to export the data into a spreadsheet but when I export it, the fields are all jumbled in the csv file, as in they are not in the same order. I need to export the data all together so I'm going to the forms menu and selecting "manage form data" and then selecting "merge data files into spreadsheet". I tried exporting a single file but that gave me something really weird.
    Please help, I have a deadline next week to analyze this data and can't make sense of it once it is exported to a spreadsheet.

    Would you please share your form with me and send me one of your pdf forms and some of the csv files?
    You can share your form by doing the following:
    1. Click on the “Share” icon on the bottom left corner.
    2. Click on “Add Collaborator” on the popup menu.
    3. Enter [email protected] under “People to share with”.
    4. Set subject to "Export data from pdf form"
    5. Click the “Share” button on the bottom right of the dialog.
    Thanks
    Ken

  • Help with multiple date percentage report

    Dear all,
    I am having problems with getting percentage right on my report which is set to YTD however I am counting records for Last 5 days, Last 4 weeks and Current Date.
    I am getting the records perfectly right as I have created 3 different Groups for them. The Running Totals are counting the correct number of records.
    As I have two Running totals for each job (Credit Job + Free of Charge Job), these two jobs are getting added up in the report.
    For example
    YTD formula
    Running total of Credit Job + Running Total of Free of Charge Job = Total Jobs
    Last 5 Days formula
    Running total of Credit Job + Running Total of Free of Charge Job = Total Jobs
    Last 4 Weeks formula
    Running total of Credit Job + Running Total of Free of Charge Job = Total Jobs
    Current Date formula
    Running total of Credit Job + Running Total of Free of Charge Job = Total Jobs
    To get the grand total of these records, I have created another formula which counts all the above YTD records, L5D records and displays them in the report footer. Grand Total is showing up correctly.
    Now, What I want is the percentage of each record, i.e. the percentage of YTD records, L5D records etc.
    I have created a formula which counts the percentage but incorrectly.
    Here is the formula
    Whileprintingrecords;
    Numbervar b:=0;
    numbervar n:=0;
    numbervar m:=0;
    b:={@TotalJobsFOCRL5D}; // this is total job, (Credit+Free of charge jobs)
    n:={@TotalJobsFOCRL5DGT}; //GT is the grand total showing in report footer
    If b=0 then 0 else //if total jobs = 0 then answer is 0
    m:=(b/n)*100; // divide total jobs with grand total
    totext(m,2)+"%"; //show as percentage
    This formula does show the percentage but divides each job by itself. So if Total Jobs = 9 then it shows 100% whereas Grand Total is 479.
    Could someone please help me getting the correct percentage.
    The percentage formula is placed on the respective group footer.
    Regards
    Jehanzeb

    closing no reply

  • Need help with converting date format to decimal in SSRS expression.

    Hi all,
    I have a decimal data type column with a record in the following format 20150219 --> yyyyMMdd. And I am trying to convert the return value from SSRS date/time parameter to a decimal value.
    The TMDTOP column is the decimal data type with date records in yyyyMMdd format.
    My return parameter is the following:
    =IIf(IsNothing(Parameters!SystemDate.Value),Fields!TMDTSY.Value,CDec(Format(Parameters!SystemDate.Value,"yyyyMMdd"))) 
    When I try to run the report I get the following error:
    Failed to evaluate the FilterValue of the DataSet ‘DataSet1’. (rsFilterEvaluationError)
    I appreciate if anyone can help me on solving this problem.
    Thanks in advance.

    why casting date to decimal here? Can you explain?
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

Maybe you are looking for

  • Thunderbolt to Gigabit Ethernet adapter drops battery life by 50%

    Hello, as the title states, the battery life of my MacBook Air 2013 goes from 15h to 8h when using the adaper. Is this normal? Will the same also happen with the USB Ethernet adapter?

  • How do I superscript text in Ver 3.6?

    The font dialog box has changed in Ver 3.6 and I can't find a way to superscript text when making a book.

  • Error while applying ESS Leave Request in Portal

    Hi, I configured ESS in EP and i'am trying to apply a leave.I'am using the Workflow "WS12300111",i also assigned Agents to the WF.But when i try to apply a leave from EP it is giving me this error "Unable to send the request" "You are not one of the

  • Idoc to Jdbc using stored procedure

    Greetings All,   In my scenario i want to send the idoc from SAP system to SQL database using the stored procedure. I want ack back from JDBC adapter when the record is sucessfully inserted in DB table. There after i can update the status of idoc sen

  • How to visualise using Edge Animate

    Hi I'm new to Adobe Edge animate i working on some real big data for that i have to make a visualisation  in a timeline way. The data which i have is from 2002 to 2011 years. I want to make a timeline and bar graphs so when i scroll timeline the bar